我正在使用WPF。
我想在标签不为空时显示按钮。当Label有一个值时,该按钮将被隐藏。
如何使用WPF执行此操作?使用<Style>
?
代码:
<Label Name="lblCustomerName"/>
<Button Name="btnCustomer" Content="X" Visibility="Hidden" />
答案 0 :(得分:2)
尝试
if (string.IsNullOrEmpty(lblCustomerName.Text)) {
btnCustomer.Visibility = Visibility.Hidden;
}
else {
btnCustomer.Visibility = Visibility.Visible;
}
答案 1 :(得分:1)
您需要使用转换器并将其绑定到lblCustomer的内容。
public class ContentNullToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
{
return Visibility.Hidden;
}
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
有关转换器的更多信息here。
然后在xaml中,您可以执行以下操作:
需要在资源中定义第一行,您需要使用您在其中创建上述类的命名空间来限定它。一旦定义了资源,就可以使用第二部分。
<ContentNullToVisibilityConverter x:Key="visConverter"/>
<Label Name="lblCustomerName"/>
<Button Name="btnCustomer" Content="X" Visibility="{Binding ElementName=lblCustomer, Path=Content, Converter={StaticResource visConverter}}" />