WPF:由字符串内容绑定能见度
问题描述:
好了,这里是我的XAML:
Ok, so here is my XAML:
<TextBlock Text="{Binding Path=InstanceName}"></TextBlock>
如果实例名
为空或空字符串,我想可见=折叠
。否则,我想可见=可见
。我会怎么做呢?
If InstanceName
is null or an empty string, I want Visibility="Collapsed"
. Otherwise I want Visibility="Visible"
. How would I do that?
答
您可以使用ValueConverter:
You could use a ValueConverter:
<TextBlock
Visibility="{Binding InstanceName, Converter={local:StringNullOrEmptyToVisibilityConverter}}"
Text="{Binding InstanceName}"/>
具有以下codebehind:
with the following codebehind:
public class StringNullOrEmptyToVisibilityConverter : System.Windows.Markup.MarkupExtension, IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return string.IsNullOrEmpty(value as string)
? Visibility.Collapsed : Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
return this;
}
}