'ItemsSource = ObservableCollection ...'이있는 TreeView를 만들려고합니다.
ObservableCollection의 항목에 바인딩 된 컨트롤이있는 DataGrid가 포함 된 TreeViewItem의 스타일을 만들었습니다. 예를 들어 CheckBox의 속성에 바인딩 된 CheckBox 항목 나는 아이템 속성이 특정 값을 가질 경우에 컨트롤의 속성 값을 변경됩니다 트리거를 만들WPF에서 스타일 속성을 항목 값에 바인딩하는 방법은 무엇입니까?
:.
<Style TargetType="{x:Type TreeViewItem}" x:Key="GridItemStyle" x:Name="GridItemStyle2">
<Setter Property="Template" >
<Setter.Value>
<ControlTemplate TargetType="{x:Type TreeViewItem}">
<Border Background="Red" BorderBrush="Yellow" BorderThickness="3" Margin="2,10,0,0">
<StackPanel Background="Red" Margin="10,10,10,10" Orientation="Horizontal">
<StackPanel.Triggers>
<Trigger Property="{Binding IsSucceed}" Value="True">
<Setter Property="Background" Value="Blue"/>
</Trigger>
</StackPanel.Triggers>
<TextBlock Margin="0,0,10,0" Text="{Binding Path=time, StringFormat={}\{0:dd/MM/yyyy hh:mm:ss:fff\}, Mode=OneWay}"/>
<TextBlock Margin="0,0,10,0" Text="{Binding milisecond}"/>
<TextBlock Margin="0,0,10,0" Text="{Binding address}"/>
<TextBlock Margin="0,0,10,0" Text="{Binding IsSucceed}"/>
<TextBlock Margin="0,0,10,0" Text="{Binding statues}"/>
</StackPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
때문에 트리거의 실행에서 Get 예외 :
<Trigger Property="{Binding IsSucceed}" Value="True">
<Setter Property="Background" Value="Blue"/>
</Trigger>
어떻게 해결할 수 있습니까?
나는 예외가
Style.Triggers
을 설정 : { "모음 회원 유형 EventTrigger이어야합니다 트리거합니다."} – user436862그것은 StackPanel을해야 니트의 대답을 참조하십시오. 스타일은 트리거가 직접 작동하지 않도록 트리거를 StackPanel.Triggers로 설정합니다. –