あなたは、このための値コンバータを書くことができます。 Switch
のIsToggled
プロパティはbool
パラメータしか受け入れないため、Enum
タイプをbool
に変換する必要があります。
xmlns:local="clr-namespace:MyApp.Converters;assembly=MyApp"
:それは一番上に名前空間宣言を追加することにより、XAMLで見つけることができますが、これを使用しているページのことを確認後
public class BoolToMyEnumConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is mActive)
{
return (mActive)value == 0 ? false : true;
}
return false;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is bool)
{
return (bool)value ? mActive.Toggled : mActive.NotToggled;
}
return mActive.NotToggled;
}
}
:ユアーズの線に沿って何かを見てしまいますあなたが指定することができますスイッチの結合で
<ContentPage.Resources>
<ResourceDictionary>
<local:BoolToMyEnumConverter x:Key="myConv" />
</ResourceDictionary>
</ContentPage.Resources>
:
それはあなたがあなたのページのリソースディクショナリに追加することができます完了です
<Switch IsToggled="{Binding MyEnumInViewModel, Converter={StaticResource myConv}}" />
View Model内のプロパティを参照するのは、タイプが「mActive」です。これはどのように動作すべきかという大まかな草案です。 Value Convertersについてさらにお読みになることをお勧めします。
public mActive MyEnumInViewModel {get;set;}
ありがとうございました。私は今試してみる。 – batwing