c# - 绑定(bind)到 bool 属性时设置 TextBlock 的默认值

标签 c# wpf xaml

我正在将一个文本 block 绑定(bind)到一个 bool 属性。我想做什么 - 如果它是 false 我希望值是 In Progress 如果它是 true 我希望它是 完成

我在 WPF 应用程序中使用 C#,文本 block 是 TreeView 的一部分。

<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>

绑定(bind)到 BaseMode 的 TextBlock 是我要为其设置值的那个。

谢谢!

最佳答案

 <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>

关于c# - 绑定(bind)到 bool 属性时设置 TextBlock 的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16422122/

相关文章:

c# - Unity3D:让玩家使用 ParticleSystem 和 OnCollisionEnter 点亮手电筒?

c# - Datagridivew DataGridViewComboBoxColumn 选择值成员

c# - 如何在 DatePicker 上使用交互性 :Interaction. 触发器

c# - WPF MVVM 模式中的关注点分离

c# - 将零值格式化为空字符串?

Silverlight XAML 错误

c# - 如何从 C# Core 中的 DI 获取可用的 IOptions 列表?

c# - WPF:拉伸(stretch) TreeView

c# - 根据字符串查找文本框并更改其文本

c# - 在 C# 错误 "String cannot be of zero length. Parameter name: oldValue"中使用 linq to xml 创建动态 xml 文件