我有一个自定义列:
<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中使用吗?
答案 0 :(得分: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>