UWP XAML RadioButton IsChecked无法正常工作

时间:2016-08-23 19:25:44

标签: xaml radio-button uwp uwp-xaml

这是我的XAML显示正在检查的第一个单选按钮,但是当表单显示时,没有选择。

当我在表单上单击时,单选按钮的行为与预期一致。

<StackPanel Margin="20,0" Orientation="Horizontal">
    <TextBlock Margin="0,0,10,0" VerticalAlignment="Center" Text="Search with:" />
    <RadioButton x:Name="rdoDates" Content="Dates" IsChecked="True" />
    <RadioButton x:Name="rdoTags" Content="Tags" IsChecked="False" />
    <RadioButton x:Name="rdoBoth" Content="Both" IsChecked="False" />
</StackPanel>

更新的 据我了解,如果您的radiobuttons位于包含元素内部,例如stackpanel或者您不需要GroupName并且其中一个添加IsChecked = True,那么我没有使用组名。一切正常,直到您在页面流程中稍后添加第二组radiobutton,其中有一个项目IsChecked = True。 IsChecked属性应用于第二组单选按钮,第一组未选中。

将GroupName应用于每组radiobuttons后,每个组都遵守IsChecked。

3 个答案:

答案 0 :(得分:2)

我在UWP中遇到同样的问题并使用GroupName修复它!我也使用x:Bind可以调试,但它没有帮助。

<StackPanel Orientation="Vertical">
                    <RadioButton x:Uid="radioButtonOriginalMap"
                                 Tag="OriginalMap"
                                 GroupName="Map"
                                 IsChecked="{x:Bind Vm.IsRadarOriginalMapChecked, Mode=TwoWay}"/>
                    <RadioButton x:Uid="radioButtonBingMap"
                                 GroupName="Map"
                                 Tag="BingMap"
                                 IsChecked="{x:Bind Vm.IsRadarBingMapChecked, Mode=TwoWay}"/>
</StackPanel>

答案 1 :(得分:0)

我也遇到过类似的问题。我不知道为什么会这样。但是为了确保每次都检查radiobutton,我在后面的代码中进行了页面的构造。

答案 2 :(得分:0)

晚会,但是帮助我的是在整个(!)xaml上设置唯一的x:NameGroupName,包括单独文件中的所有控件。也许它太严格了,但我在不同的xamls中有两个控件,里面有相同的名字,一旦我修改了其中一个,后面加载也变好了。

HTH