我正在为List中的每个项目添加一个单选按钮添加一个单选按钮,这种情况没有问题。 (它会添加4或6个单选按钮,因为这些按钮会列在我的列表中。)
foreach (var nearestgage in nearestgages)
{
StackPanel.Children.Add(new RadioButton { Content = nearestgage.GageSize.ToString(), Margin = new Thickness(1, 1, 1, 1) });
}
现在我想要做的是在运行时选择这些动态创建的单选按钮。 我想开一个活动。 所以我在想的是我必须将一个处理程序附加到单选按钮上。我尝试了一些方法,但不能这样做。我在网格中有另一个单选按钮,它也不属于这个组。请建议这样做的理想方式。
答案 0 :(得分:3)
这是一个小样本,在生成时将事件添加到单选按钮。
XAML:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
Loaded="Window_Loaded">
<StackPanel Name="StackPanel">
</StackPanel>
</Window>
C#
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
for (int i = 1; i <= 10; i++)
{
RadioButton rb = new RadioButton();
rb.Content = "Item " + i.ToString();
rb.Click += rb_Click;
StackPanel.Children.Add(rb);
}
}
void rb_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show((sender as RadioButton).Content.ToString());
}
}
要处理单独的单选按钮操作,请设置组名称:
rb.GroupName = "Dynamic";