这是我的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。
答案 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:Name
和GroupName
,包括单独文件中的所有控件。也许它太严格了,但我在不同的xamls中有两个控件,里面有相同的名字,一旦我修改了其中一个,后面加载也变好了。
HTH