0
所以我有一个单选按钮,我想从未选中变为基于单击按钮进行检查。所以 的XAML代码我是:如何使用MVVM将无线电盒从true更改为false
<RadioButton GroupName="rdoExchange" Grid.Row="2" Grid.Column="0" x:Name="PauseRadioButton" Command="{Binding PauseCommand}" IsChecked="{Binding Path=check, Mode=TwoWay}" Margin="3"/>
和视图标准守则:
public string check = "True";
public void Reset(object obj)
{
check = "True";
}
private ICommand m_PauseCommand;
public ICommand PauseCommand
{
get
{
return m_PauseCommand;
}
set
{
m_PauseCommand = value;
}
}
private ICommand m_ResetCommand;
public ICommand ResetCommand
{
get
{
return m_ResetCommand;
}
set
{
m_ResetCommand = value;
}
}
private void SetProperty<T>(ref T field, T value, [CallerMemberName] string name = "")
{
if (!EqualityComparer<T>.Default.Equals(field, value))
{
field = value;
var handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}
}
我已经离开了relaycommand代码等几个部分,我觉得是不相关的解决问题。
您绑定到一个字段,并且您似乎没有显示我假设调用“SetProperty'的代码来通知属性更改。 'PauseCommand'在哪里?它有什么作用? –
Charleh
我更新了代码以显示暂停命令代码。 –
好吧,仍然没有显示任何有用的东西 - 我假设'ResetCommand'是针对'Reset'方法。你需要通知视图,使用'INotifyPropertyChanged'改变了一个属性 - 看起来像'SetProperty'这样做,但是不清楚你是否真的在任何地方调用它... –
Charleh