0

カスタム列があります:

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

DisplayName がその上ではなく中央に配置されるように、空の文字列 "" が指定された場合、TextBlock {Binding PrivateMessage} を非表示にしたいと思います。

これは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 に答える