0

我有一个自定义列:

            <DataGridTemplateColumn Width="*" Header="Name">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="{Binding DisplayName}" />
                            <TextBlock Foreground="Gray" Text="{Binding PrivateMessage}" />
                        </StackPanel>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

我想让 TextBlock {Binding PrivateMessage} 消失,如果它被赋予一个空字符串“”,这样 DisplayName 就在中间而不是在它上面。

这在 WPF 中可能吗?

4

1 回答 1

1
<DataTemplate>
    <StackPanel VerticalAlignment="Center">
        <TextBlock Text="{Binding DisplayName}" />
        <TextBlock x:Name="message" Foreground="Gray" Text="{Binding PrivateMessage}" />
    </StackPanel>
    <DataTemplate.Triggers>
        <DataTrigger Binding="{Binding PrivateMessage}" Value="{x:Static system:String.Empty}">
            <Setter TargetName="message" Property="Visibility" Value="Collapsed" />
        </DataTrigger>
    </DataTemplate.Triggers>
</DataTemplate>
于 2013-02-12T19:47:31.943 回答