큰 ItemsControl 템플릿을 정의하는 WPF에서 사용자 지정 컨트롤이 있습니다. 거기에 그리드가 있고 그리드의 한 열에 TextBlock이 있고 다른 열에는 테두리가 있습니다.테두리를 설정하는 TextBlock의 EventTrigger - 모든 속성 참조를 확인할 수 없음
마우스가 TextBlock에 들어갈 때 테두리를 강조 표시하려고합니다.
나는 몇 가지 시나리오 시도 : 첫 번째 TextBlock을의 스타일에EventTrigger
,하지만 난 당신이 TextBlock의의 트리거 섹션에서, 다음 EventTrigger을 할 수 없어 배웠습니다, 지금은 단지의 DataTemplate.Triggers에 넣어 내 ItemsControl에,하지만 난 오류가 계속 : 원인이되는 코드는 여기에
"Cannot resolve all property references in the property path 'Border.BorderBrush.Color'. Verify that applicable objects support the properties."
입니다 문제 :
<DataTemplate.Triggers>
<EventTrigger SourceName="mytxtblock" RoutedEvent="TextBlock.MouseEnter">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetName="myborder"
Storyboard.TargetProperty="Border.BorderBrush.Color"
Duration="0:0:1"
To="White" />
<ThicknessAnimation Storyboard.TargetProperty="Border.BorderThickness"
Duration="0:0:1"
From="0"
To="1" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</DataTemplate.Triggers>
나는 내가의 컬러 속성을 참조하는 방식에 대해 뭔가를 놓친 것 같아 내 보즈 어, 어떤 통찰력?
감사합니다.
편집 : 나는, 그 값을 사용하여 다음 Resources
에 SolidColorBrush
를 선언하고하는 것은 나를 Storyboard.TargetProperty="Border.BorderBrush"
에 변화
Storyboard.TargetProperty="Border.BorderBrush.Color"
을 제거 할 수 있다는
을 생각하지만 지금 컴파일러는 것을 알려줍니다 내가 그린 (내가 그린과 투명하게 시도) 색상이 "To"에 유효한 값이 아닌 ...
'BorderBrush'속성이 'BorderBrush. (0)'경로의 DependencyObject를 가리 키지 않는 예외가 발생합니다. –
나는 나의 대답을 편집했다. – LPL
나는 WPF 바인딩 경로를 사용하지 않을 수도 있지만 "BorderBrush (SolidColorBrush.Color)"는 내 UserControl의 테두리에서 작동하므로 감사합니다! – Jon