1

我将一个文本块绑定到一个布尔属性。我正在尝试做的事情 - 如果是false我希望它的价值是In Progress 如果是true我希望它是Completed

我将 C# 与 WPF 应用程序一起使用,并且文本块是树视图的一部分。

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

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

谢谢!

4

3 回答 3

2

不要绑定TextDataTriggers在 中设置Style,然后将Text您想要的设置为真/假。(还要注意不要覆盖样式的优先级)

于 2013-05-07T14:56:27.403 回答
2

您可以使用的是 ValueConverter。看看以下教程是否对您有帮助:

http://wpftutorial.net/ValueConverters.html

http://drwpf.com/blog/category/value-converters/

于 2013-05-07T14:56:33.140 回答
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>
于 2013-05-07T15:28:57.477 回答