今天遇到一个神奇的WPF的RadioButton的group问题,和大家介绍下。
问题描述
英文好的同学可以直接看吕毅 - walterlv同学在github提的issue。
最小复现demo,见毅仔的仓库
我将一组RadioButton关联到了同一个GroupName下,并且绑定了同一个ViewModel。
<Border>
<RadioButton GroupName="A" IsChecked="{Binding Bar, Source={x:Static local:Foo.Instance}}" Content="Option 1" />
</Border>
<Border>
<RadioButton GroupName="A" Content="Option 2" />
</Border>
<Border>
<RadioButton GroupName="A" Content="Option 3" />
</Border>
public class Foo : INotifyPropertyChanged
{
public static Foo Instance {
get; } = new Foo();
public bool Bar
{
get => _bar;
set
{
if (!Equals(_bar, value))
{
_bar = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof