在做项目中碰到一个问题,一组RadioButton被同一个页面调用多次,发现调用多次中只一组的RadioButton某一项被选中。但是如果是CheckBox
可以多次被选中,那需要每次动态指定RadioButton的GroupName,看如下例子。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace WpfApplication1 { /// <summary> /// UserControl1.xaml 的交互逻辑 /// </summary> public partial class UserControl1 : UserControl { public UserControl1(int i) { InitializeComponent(); switch (i) { case 0: rb.GroupName = "0"; xx.GroupName = "0"; rr.GroupName = "0"; break; case 1: rb.GroupName = "1"; xx.GroupName = "1"; rr.GroupName = "1"; break; case 2: rb.GroupName = "2"; xx.GroupName = "2"; rr.GroupName = "2"; break; } this.Loaded += new RoutedEventHandler(UserControl1_Loaded); } void UserControl1_Loaded(object sender, RoutedEventArgs e) { rb.IsChecked = true; ckb.IsChecked = true; } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace WpfApplication1 { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.Loaded += new RoutedEventHandler(MainWindow_Loaded); } void MainWindow_Loaded(object sender, RoutedEventArgs e) { sp.Children.Add(new UserControl1(0)); sp.Children.Add(new UserControl1(1)); sp.Children.Add(new UserControl1(2)); } } }