我将文本块绑定到布尔属性。我要做的是 - 如果是false
我想要的值是In Progress
如果是true
我希望它是Completed
我正在使用带有WPF应用程序的C#,文本块是树视图的一部分。
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" FontFamily="Sagoe UI" FontSize="14" Text="{Binding Path=BaseNumber, StringFormat='Device Number {0}.'}" Padding="2" Width="200" />
<TextBlock Grid.Column="1" FontFamily="Sagoe UI" FontSize="14" Text="{Binding Path=BaseMode}" Padding="2" />
</Grid>
</DataTemplate>
绑定到BaseMode
的TextBlock是我想为其设置值的那个。
谢谢!
答案 0 :(得分:2)
不要绑定Text
,而是在Style
中设置DataTriggers
,然后将Text
设置为true / false。 (还要注意precedence不要覆盖样式)
答案 1 :(得分:2)
您可以使用的是ValueConverter。看看以下教程是否对您有所帮助:
答案 2 :(得分:2)
<TextBlock Grid.Column="1" FontFamily="Sagoe UI" FontSize="14" Padding="2" >
<TextBlock.Style>
<Style TargetType="TextBlock" >
<Setter Property="Text" Value="In Progress"/>
<Style.Triggers>
<DataTrigger Binding="{Binding BaseMode}" Value="true">
<Setter Property="Text" Value="Completed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>