我要創建具有一個TreeView「的ItemsSource =的ObservableCollection ......「
我創建了一個樹型視圖樣式包含與綁定到的ObservableCollection項目控制的DataGrid。對於綁定的屬性例子複選框項目如何將樣式屬性綁定到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>
我該如何解決它?
我得到異常:{ 「Triggers集合成員必須是類型EventTrigger的。」} – user436862
參考尼特的回答應該是StackPanel的。樣式然後將觸發器不直接觸發器設置爲StackPanel.Triggers,因爲它不起作用。 –