[英]Setting Default Value of TextBlock when binding to Boolean Property
我将文本块绑定到布尔属性。 我正在尝试做的事情-如果为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。
谢谢!
不要绑定Text
而是在Style
设置DataTriggers
,然后依次将您想要的Text
设置为true / false。 (还请注意不要覆盖样式的优先级 )
您可以使用的是ValueConverter。 查看以下教程是否对您有帮助:
<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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.