2

WPFを使用しています。

ラベルが空でないときにボタンを表示したい。Labelに値がある場合、ボタンは非表示になります。

WPFでこれを行うにはどうすればよいですか?<Style>?を使用する

コード:

<Label Name="lblCustomerName"/>
<Button Name="btnCustomer" Content="X" Visibility="Hidden" />
4

2 に答える 2

2

試す


if (string.IsNullOrEmpty(lblCustomerName.Text)) { 
    btnCustomer.Visibility = Visibility.Hidden;
} 
else {
    btnCustomer.Visibility = Visibility.Visible;
}

于 2012-10-25T02:29:13.860 に答える
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();
    }
}

コンバーターの詳細はこちら

次に、xamlで次の操作を実行できます。

最初の行は、上記のクラスを作成した名前空間で修飾する必要があるリソースで定義する必要があります。リソースを定義したら、2番目の部分を使用できます。

<ContentNullToVisibilityConverter x:Key="visConverter"/>

<Label Name="lblCustomerName"/>
<Button Name="btnCustomer" Content="X" Visibility="{Binding ElementName=lblCustomer, Path=Content, Converter={StaticResource visConverter}}" />
于 2012-10-25T05:00:21.467 に答える