小编Dec*_*lan的帖子

如何在WP7中使用ToggleSwitch和MVVM Light?

我试图在Wp7应用程序中使用带有MVVM Light的ToggleSwitch.

在视图中我有:

<toolkit:ToggleSwitch x:Name="toggleAccuracy" 
  Content="{Binding AccuracyText, Mode=TwoWay}"  
  IsChecked="{Binding AccuracyHigh, Mode=TwoWay}"
  IsEnabled="True" 
  Header="Accuracy" 
  Margin="8,0" 
  Height="140" 
  VerticalAlignment="Top"  >
Run Code Online (Sandbox Code Playgroud)

ViewModel包含:

private bool _AccuracyHigh = true;
public bool AccuracyHigh
{
    get
    {
        return _AccuracyHigh;
    }
    set 
    {
        _AccuracyHigh = value;
    }
}

private string _AccuracyText = "High";
public string AccuracyText
{
    get
    {
        return _AccuracyText;
    }
    set
    {
        _AccuracyText = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

AccuracyText和AccuracyHigh fire获得适当的值.

我的困难是试图陷入"状态改变"的事件; 选中和未选中.如果我用以下内容绑定它们:Checked ="{Binding Path = AccuracyChanged}"我收到运行时错误,告诉我标记错误.

我也尝试了一个触发器:

    <i:Interaction.Triggers>
        <i:EventTrigger EventName="Checked">
            <GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding AccuracyChanged}"/>
        </i:EventTrigger>
    </i:Interaction.Triggers>
</toolkit:ToggleSwitch>
Run Code Online (Sandbox Code Playgroud)

我可以使用RadioButton,它可以很好地工作

<RadioButton …
Run Code Online (Sandbox Code Playgroud)

windows-phone-7 mvvm-light

4
推荐指数
1
解决办法
2244
查看次数

标签 统计

mvvm-light ×1

windows-phone-7 ×1