WPF에 관한 간단한 질문 : Canvas/Grid 내에서 하위 요소를 선택하려면 어떻게합니까? 다음 XAML에서 예를 들어WPF : 캔버스 내에서 자식 컨트롤 선택
는 니펫을 :
<Canvas Name="parentCanvas" Width="200" Height="200" Background="AliceBlue" MouseMove="parentCanvas_MouseMove" MouseLeave="parentCanvas_MouseLeave">
<Border Name="border1" Margin="10" Height="100" Width="180" Background="Maroon" Canvas.Top="47" />
</Canvas>
가 ... 어떻게 parentCanvas_MouseMove
및 parentCanvas_MouseLeave
방법에서 border1
액세스 할 수 있습니까? 또는 액세스하는 올바른 방법이 더 많이 있다는 것이다
private void parentCanvas_MouseLeave(object sender, MouseEventArgs e)
{
Canvas c = (Canvas)sender;
c.Background = Brushes.Blue;
}
:
또한, 나는이 이벤트 핸들러 내에서 캔버스 자체를 액세스하는 방법은 내가의 라인을 따라 뭔가를 조금 해키 보인다 이것을하는 우아한 방법?
많은 감사,
함자. 당신이 Name
속성을 가진 컨트롤의 이름을 때
감사 대답 Quartermeister을 위해 실제로 작동하는지. 당신의 후속 질문은 괜찮습니다 ... 만약이 이벤트 핸들러를 여러 캔버스 요소와 공유하거나 컨트롤에'Name' 속성이 없다면 어떻게 이것을 할 수 있습니까? 감사. – Hamza
@Hamza : Canvas의 Children 속성을 사용하거나 VisualTreeHelper의 메서드를 사용하여 다른 시각적 효과를 얻을 수 있습니다. 내 업데이트 답변을 참조하십시오. – Quartermeister
나는 그것을 지금 생각한다. 매우 명확히 설명해 주셔서 감사합니다. :) – Hamza