私はTreeViewをWPFアプリケーションで動作させることができました。私はHierarchialDataTemplatesを使ってデータを表示しています。私のデータはVehicleのリストで、各VehicleにはTerritoryプロパティがあります。プロパティの値に基づいてTextBlockの可視性を変更するには
TerritoryプロパティがNullになることがあります。これは、車両が地理的地域に割り当てられていない場合に発生します。
私がツリービューで希望の視覚的表現は、このようなものでなければなりません:Vehicle.TerritoryがNULLの場合
Vehicle_Name (Territory_Name)
私はを希望太字ののテキストを削除します。それが残っているならば、車名の最後にこの奇妙な空のかっこがあります。
DataTriggerを使用しようとしましたが、テリトリの値がnullの場合でも太字のテキストが残ります。
<HierarchicalDataTemplate DataType="{x:Type self:TreeVehicleItem}" ItemsSource="{Binding ClientLocations}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
<TextBlock FontWeight="Bold" Padding="10 0 0 0">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger Binding="{Binding Territory}" Value="x:Null">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
(<Run Text="{Binding Territory.Name}" />)
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
私はTerritory
プロパティが実際にNull
だけでなく、空のリストであることを確認しました。
TerritoryプロパティがNullの場合、太字のTextBlockを消すにはどうすればよいですか?
*ヘッドスラップ*ありがとうございました! –