次のコンバーターを使用できます
[ValueConversion(typeof(Object), typeof(Visibility))]
public class NullVisibilityConv : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null) return Visibility.Collapsed;
else return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value;
}
}
次に、次のxamlを使用してコントロールにバインドできます
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Style="{StaticResource LinkButton}" Height="23" Content="{Binding Path=Title}"
Visibility="{Binding FileAddress, Converter={StaticResource NullToVisConverter}}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
また、xamlのどこかでコンバーターをリソースとして宣言する必要があります
<converters:NullVisibilityConv x:Key="NullToVisConverter" />
このアプローチの利点は、コードでコンバーターを宣言すると、トリガーや他の複雑なコードを追加せずに、他のバインディングで再利用できることです。可視性バインディングでそのコンバーターを使用するだけです。