我正在使用 WPF。
我想在标签不为空时显示按钮。当 Label 有值时,按钮将被隐藏。
如何使用 WPF 做到这一点?使用<Style>
?
代码:
<Label Name="lblCustomerName"/>
<Button Name="btnCustomer" Content="X" Visibility="Hidden" />
尝试
if (string.IsNullOrEmpty(lblCustomerName.Text)) {
btnCustomer.Visibility = Visibility.Hidden;
}
else {
btnCustomer.Visibility = Visibility.Visible;
}
您将需要使用转换器并将其绑定到 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();
}
}
更多关于转换器的信息。
然后在 xaml 中,您可以执行以下操作:
第一行需要在您的资源中定义,您需要使用您在其中创建上述类的命名空间对其进行限定。定义资源后,您可以使用第二部分。
<ContentNullToVisibilityConverter x:Key="visConverter"/>
<Label Name="lblCustomerName"/>
<Button Name="btnCustomer" Content="X" Visibility="{Binding ElementName=lblCustomer, Path=Content, Converter={StaticResource visConverter}}" />