gpt4 book ai didi

windows-phone-7 - 如何在 WP7 中将 ToggleSwitch 与 MVVM Light 一起使用?

转载 作者:行者123 更新时间:2023-11-30 23:51:24 24 4
gpt4 key购买 nike

我正在尝试在 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" >

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;
}
}

AccuracyText 和 AccuracyHigh 触发以获得适当的值。

我的困难是试图捕捉“状态改变”事件;选中和未选中。如果我将这些与以下内容绑定(bind):
Checked="{绑定(bind)路径=AccuracyChanged}"
我收到一个运行时错误,告诉我标记错误。

我也没有成功尝试过触发器:
    <i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding AccuracyChanged}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</toolkit:ToggleSwitch>

我可以使用 RadioButton 很好用
<RadioButton Content="Up"  
x:Name="radioButton1"
GroupName="UpDown"
Width="119" />
<RadioButton IsChecked="{Binding UpDown, Mode=TwoWay}"
Content="Down"
x:Name="radioButton2"
GroupName="UpDown" />

public bool UpDown
{
get
{
bool ud = settings.UpDown.ToLower() == "u" ? true : false;
return ud;
}
set
{
settings.UpDown = value == true ? "U" : "D";
settings.Save();
}
}

但是 ToggleSwitch 看起来更好(恕我直言)

任何建议表示赞赏。

最佳答案

我相信您的标记问题可能是 IsChecked ToggleButton 的属性可以是三种状态; null , truefalse .您将其绑定(bind)到 bool 值,但可能想尝试将其设为 System.Nullable<Boolean> ( bool? ) 以允许三种状态。我相信即使你设置了IsThreeState = false,这仍然是必要的。 ;

关于windows-phone-7 - 如何在 WP7 中将 ToggleSwitch 与 MVVM Light 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5636292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com