1
Adorner 레이어 아래의 버튼을 클릭하고 싶습니다. 물론, 시각적 트리에서 Adorner는 컨트롤과 다른 지점입니다. Not able to handle PreviewMouseDownAdorner 레이어 아래에서 이벤트를 발생시키는 방법
adorner 레이어에서 이벤트를 시작하려면 어떻게해야합니까?
xaml이 아래에 있습니다.
<Canvas Name="_canvas" Width="100" Height="100">
<Button Name="_btn" Width="120" Height="120"/>
</Canvas>
코드 숨김이 아래에 있습니다.
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Loaded += delegate { AdornerLayer.GetAdornerLayer(_canvas).Add(new GrayAdorner(_canvas)); };
_btn.Click += (sender, e) => MessageBox.Show("Mouse Click is working.");
}
}
public class GrayAdorner : Adorner
{
public GrayAdorner(UIElement element)
: base(element) { }
protected override void OnRender(DrawingContext drawingContext)
{
drawingContext.DrawRectangle(Brushes.Gray, null, new Rect(new Point(0, 0), DesiredSize));
base.OnRender(drawingContext);
}
}
감사합니다. sjw. Adorner 클래스 생성자에 "IsHitTestVisible = False"를 추가합니다. 방금 끝났어. 대단히 감사합니다!. –