0

xamlでは、 DataTemplate.Trigerを使用してコントロールの外観を処理することができましたが、win8xamlでは使用できません。

<DataTrigger Binding="{Binding Role.Count, Converter={StaticResource isGreaterThanZero}" Value="True">
    <Setter TargetName="Counts" Property="Visibility" Value="Hidden" />
</DataTrigger>

Windows 8 xamlで同じことを行う方法は?

4

1 に答える 1

0

グリッドレイアウトと分割レイアウトの既定のVisualStudioテンプレートを見ると、ブール値に基づいてコントロールの可視性を設定する値コンバーターの例が見つかります。コードはここに示されています

public sealed class BooleanToVisibilityConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            return (value is bool && (bool)value) ? Visibility.Visible : Visibility.Collapsed;
        }

        public object ConvertBack(object value, Type targetType, object parameter, string language)
        {
            return value is Visibility && (Visibility)value == Visibility.Visible;
        }
    }

このコードをコピーして変更し、整数値に基づいて可視性プロパティを設定するだけです(たとえば、IntToVisibilityConverter)。影響を受けたいコントロールでこのようなコンバーターを使用します

Visibility="{Binding IsActive, Converter={StaticResource IntToVisibilityConverter}}"
于 2013-01-21T14:23:06.373 に答える