C# 将RadioButton绑定到布尔应用程序设置会破坏默认RadioButton行为

C# 将RadioButton绑定到布尔应用程序设置会破坏默认RadioButton行为,c#,winforms,data-binding,C#,Winforms,Data Binding,我有一个带有三个单选按钮的表单(radioButton1,radioButton2,和radioButton3): 在我的应用程序设置中,我有三个布尔值(Value1、Value2和Value3): 我将每个RadioButton的Checked属性绑定到应用程序设置中的三个值之一。也就是说,我将radioButton1.选中的Value1,radioButton2.选中的到Value2,以及radioButton3.选中的到Value3: 这些绑定会更改单选按钮的行为。在没有绑定的情况下

我有一个带有三个
单选按钮的表单(
radioButton1
radioButton2
,和
radioButton3
):

在我的应用程序设置中,我有三个布尔值(
Value1
Value2
Value3
):

我将每个
RadioButton
Checked
属性绑定到应用程序设置中的三个值之一。也就是说,我将
radioButton1.选中的
Value1
radioButton2.选中的
Value2
,以及
radioButton3.选中的
Value3

这些绑定会更改
单选按钮的行为。在没有绑定的情况下,
单选按钮
显示单击未选中的
单选按钮
将取消选中选中的按钮并选中已单击的按钮的预期行为。使用绑定,单击未选中的
单选按钮
将取消选中选中的单选按钮,但不选中已单击的单选按钮。需要再次单击以检查所需的按钮


为什么会这样?如何使用应用程序设置的数据绑定,而不破坏
RadioButtons
的选中/取消选中行为?

我可以猜测,只有设置中的值设置为false的
RadioButton2
RadioButton3
才会发生这种情况。Radiobutton1应具有所需的功能性


您所要做的就是将设置范围从
User
设置为
Application

,您可以在加载表单时使单选按钮等于所需的bool,然后在更改单选按钮时,使用其事件处理程序更改要绑定的bool的值作为解决方法。@karlsweeney,如果我正确理解您的评论,您是说我可以完全绕过数据绑定,并使用CheckedChanged事件手动设置设置?这是一个不错的解决办法,如果我不能使数据绑定工作正常,我可能会尝试。谢谢您的提醒。@apomeme,您建议的更改(将设置范围从
User
设置为
Application
)有效,但我不知道为什么。你能对你的答案再解释一下吗?(我不明白第一句是怎么说的)看看这个:谢谢;这是一个有用的链接。我想我更能理解为什么单选按钮有问题。我没有看到关于设置范围的任何内容,因此您的解决方案仍然有些神秘。