【发布时间】:2011-09-16 07:13:47
【问题描述】:
我需要在窗口 3 上添加单选按钮,并让用户只选择一个按钮。 我制作了一个 ListBox 并设置了 Selection mode = Single 但我仍然可以选择所有这些,我需要将每个项目包装在一些东西中......我不知道是什么以及如何。任何人都可以帮忙吗?也许还有另一种方法可以显示单选按钮并只选择一个...?
这里是 xaml -
<ListBox SelectionMode="Single" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" Background="Transparent" BorderThickness="0" Margin="0,0,0,57" HorizontalAlignment="Right" Width="304" Height="146" VerticalAlignment="Bottom">
<ListBoxItem>
<RadioButton Content="Option 1" Margin="0,0,0,10" Height="16" HorizontalAlignment="Left" Name="radioButton1" VerticalAlignment="Top" FontSize="12" />
</ListBoxItem>
<ListBoxItem>
<RadioButton Content="Option 2" Margin="0,0,0,10" Height="16" HorizontalAlignment="Left" Name="radioButton2" VerticalAlignment="Top" FontSize="12" />
</ListBoxItem>
<ListBoxItem>
<StackPanel Orientation="Horizontal" Height="90">
<RadioButton Content="Another : " Checked="radioButton4_Checked" Height="16" HorizontalAlignment="Left" Name="radioButton4" VerticalAlignment="Top" FontSize="12" />
<TextBox Width="225" Name="TextBox_AnotherReason" AcceptsReturn="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Visible"/>
</StackPanel>
</ListBoxItem>
</ListBox>
【问题讨论】:
-
虽然下面各种与 GroupName 相关的答案都是正确的,但它们并没有解决一个更重要的问题:你为什么在这里使用 ListBox?通过将单选按钮放入 ListBox,您引入了两种机制两者都提供了一种从列表中选择单个项目的方法。他们有效地竞争,所以你的例子不能正常工作也就不足为奇了。要么使用 ListBox,要么使用一组 RadioButtons。不要同时使用。
-
好话,如果你用它来布局复选框,你最好使用 stackpanel。
标签: c# .net wpf listbox radio-button