Winforms绑定导致没有选择单选按钮

时间:2016-05-22 04:21:37

标签: c# winforms

背景

在这个winforms应用程序中,有两个单选按钮,我试图绑定到模型类的属性。

代码

模型的相关属性:

private bool _bTotalRowsLinear;
private bool _bTotalRowsLog;

public bool bTotalRowsLinear
    {
        get { return _bTotalRowsLinear; }
        set { _bTotalRowsLinear = value; }
    }

public bool bTotalRowsLog
    {
        get { return _bTotalRowsLog; }
        set { _bTotalRowsLog = value; }
    }

创建绑定的代码:

rdbTotalRowsLinear.DataBindings.Add("Checked",
                            objModel,
                            "bTotalRowsLinear",
                            false,
                            DataSourceUpdateMode.OnPropertyChanged);

rdbTotalRowsLog.DataBindings.Add("Checked",
                            objModel,
                            "bTotalRowsLog",
                            false,
                            DataSourceUpdateMode.OnPropertyChanged);

问题 初始绑定正常工作。但是,当我尝试选择未选择的无线电选项时,我首先选择了既没有单选按钮,强制用户单击他们想要的选项两次。

初始状态:

Initial State

单击一次后(错误状态):

Error State

Github上的完整代码:https://github.com/nickheidke/datavelocityvisualizer

1 个答案:

答案 0 :(得分:1)

在你的模型中,设置对立面,例如

set {
_bTotalRowsLinear = value;
_bTotalRowsLog = !bTotalRowsLinear;
}
...

set {
 _bTotalRowsLog = value; 
 _bTotalRowsLinear = !bTotalRowsLog;
}