작동하지 않음 (A TreeView
과 결합을, 내가 사용하고 사용자 정의 컨트롤의) . 나는 실험 및 인터넷에 대한 몇 가지 돼고를 검색하고 이것이 내가 얼마나 멀리 왔는지입니다 : 는 MultiTrigger : 결합 DataTrigger 및 PropertyTrigger 나는 내가 <code>GridViewColumn</code>의 <code>Image</code> 표시 할 <code>MultiDataTrigger</code>에 <code>DataTrigger</code>과 <code>PropertyTrigger</code>을 결합해야 문제가
<Image Width="16"
Height="16"
Stretch="UniformToFill">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Source"
Value="{Binding ScorecardNiveau, Converter={StaticResource ScorecardNiveauToImageConverter}}" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding WpfSettings.IsExpanded}" Value="True" />
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=Source}" Value="/folder_closed.png" />
</MultiDataTrigger.Conditions>
<Setter Property="Source" Value="/folder_open.png" />
</MultiDataTrigger>
</Style.Triggers>
</Image.Style>
</Image>
지금, 처음에
Image
는
Converter
에 따라, 두 개의 이미지를 가질 수 있습니다. folder_open 또는 다른 하나 (중요하지 않음). 이제 내가 원하는 것은 TreeViewNode가 확장되었을 때 (
WpfSetting.IsExpanded = true
) 이미지 소스가 folder_closed 인 경우 이미지에서 folder_open 이미지를 가져 오게 할 때입니다. 나는 위의 코드와 비슷하다고 생각하지만 실제로 작동하지는 않습니다.
Image
은
TreeViewNode
을 열어도 전혀 변경되지 않습니다.
나는 RelativeSource=Self
의 조건에 문제가 있다고 생각하지만 잘 모르겠습니다.
저를 도울 수있는 사람은 누구입니까? 미리 감사드립니다.
물론 필요한 경우 더 많은 정보/코드를 제공 할 수 있습니다.
변환기의 반환 값을 비교하는 것은 의미가 있지만 실제로 시도했지만 아직 작동하지 않습니다. –
문제는 WpfSettings.IsExpanded 속성에 있다고 생각합니다. MultiValueConverter로 디버깅 할 때 IsExpanded 속성은 "UnsetDependencyProperty"값을 가지며, 트리거가 호출 될 때도 마찬가지입니다. –
예 수 있습니다. true/false로 IsExpanded를 사용하여 비슷한 테스트 코드를 시도했는데 예상대로 작동했습니다. –