C# WPF单选按钮显示错误的组绑定行为

C# WPF单选按钮显示错误的组绑定行为,c#,wpf,mvvm,C#,Wpf,Mvvm,我正在使用.NETFramework4.5,当我在网格中使用几个RadioButton控件时,观察到一些奇怪的行为。我希望能够单独选择和取消选择每个RadioButton,因为我没有使用GroupName属性将RadioButton绑定在一起。但是,我一次只能选择一个单选按钮。如何抑制这种行为?下面是一个简单的例子: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition W

我正在使用.NETFramework4.5,当我在网格中使用几个RadioButton控件时,观察到一些奇怪的行为。我希望能够单独选择和取消选择每个RadioButton,因为我没有使用GroupName属性将RadioButton绑定在一起。但是,我一次只能选择一个单选按钮。如何抑制这种行为?下面是一个简单的例子:

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>

        <RadioButton Grid.Row="0" Grid.Column="0" ></RadioButton>
        <RadioButton Grid.Row="1" Grid.Column="0" ></RadioButton>
        <RadioButton Grid.Row="2" Grid.Column="0" ></RadioButton>
    </Grid>

从技术上讲,这是预期的行为,但不是以您可能认为的方式
GroupName
是一个属性,它只需要一个
字符串
,实际上默认为
string.Empty
”。这个组实际上有一个值,它只是一个空字符串,WPF将它们作为同一个组的一部分进行处理。来自Microsoft:

单选按钮所属组的名称。默认值是 空字符串(“”)


另外,复选框不是更适合这种情况吗

从技术上讲,这是预期的行为,但不是你可能认为的那样
GroupName
是一个属性,它只需要一个
字符串
,实际上默认为
string.Empty
”。这个组实际上有一个值,它只是一个空字符串,WPF将它们作为同一个组的一部分进行处理。来自Microsoft:

单选按钮所属组的名称。默认值是 空字符串(“”)


另外,复选框不是更适合这种情况吗

另外,我想说,基本上网格是一种组,不是吗?网格并不是真正将单选按钮分组的东西。这是因为默认的组名是相同的。一旦您为它们中的任何一个指定了不同的值,它们就会被分成不同的分组。这都是因为它默认为空字符串而不是空值。另外,我想说,基本上网格是一种组,不是吗?网格并不是实际对单选按钮进行分组的对象。这是因为默认的组名是相同的。一旦您为它们中的任何一个指定了不同的值,它们就会被分成不同的分组。这都是因为它默认为空字符串而不是空值。