您可以使用以下转换器
[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" />
这种方法的一个优点是,一旦您在代码中声明了转换器,您就可以在其他绑定上再次使用它,而无需添加触发器或任何其他复杂代码,只需在可见性绑定上使用该转换器