如何在运行后检查用户控件上的所有复选框
How to check all check boxes on user control after runtime
我不知道这是否可行,但我正在制作一个系统,其中对于列表中的每个项目,它将解析信息并使用该信息进行用户控制。我想知道如何或是否应该为此使用用户控件。我不想使用数据网格(如果可能的话)。我的目标是找到一种方法,在运行后单击按钮即可启用所有复选框(每个用户控件一个)。可能知道如何在用户控件上也设置一个值也很酷。
this is a example of the user control
this is what the user controls look like after the while loop
关于如何解决这个问题,我的想法是列出所有用户控件,但我不知道如何找到复选框并选中它。
这是我创建用户控件的代码。
foreach (var user in get.users)
{
Users.Account account = new Users.Account(); //user control creator
account.name.Content = user.User.Username; //set the content to the name
account.NUMBER = i; //Uid
this.account_list.Children.Add(account); //crates a usercontrol in a stack panel
accounters.Add(account); //my idea on a List<UserControl>
i++;
}
任何帮助都会很棒,谢谢!
最好通过 ItemsControl 创建控件,而不是在代码隐藏中
xaml
<Window.Resources>
<ResourceDictionary>
<DataTemplate x:Key="ItemTemplate">
<CheckBox Content="{Binding Name}" IsChecked="{Binding IsChecked}"/>
</DataTemplate>
</ResourceDictionary>
</Window.Resources>
<Grid>
<ItemsControl ItemsSource="{Binding Users}" ItemTemplate="{StaticResource ItemTemplate}"/>
</Grid>
视图模型
public class UserModel
{
public string Name { get; set; }
public bool IsChecked { get; set; }
}
public class WpfTestVm
{
public ObservableCollection<UserModel> Users { get; } = new ObservableCollection<UserModel> {new UserModel { Name = "1"}, new UserModel { Name = "2" } };
}
我不知道这是否可行,但我正在制作一个系统,其中对于列表中的每个项目,它将解析信息并使用该信息进行用户控制。我想知道如何或是否应该为此使用用户控件。我不想使用数据网格(如果可能的话)。我的目标是找到一种方法,在运行后单击按钮即可启用所有复选框(每个用户控件一个)。可能知道如何在用户控件上也设置一个值也很酷。
this is a example of the user control
this is what the user controls look like after the while loop
关于如何解决这个问题,我的想法是列出所有用户控件,但我不知道如何找到复选框并选中它。
这是我创建用户控件的代码。
foreach (var user in get.users)
{
Users.Account account = new Users.Account(); //user control creator
account.name.Content = user.User.Username; //set the content to the name
account.NUMBER = i; //Uid
this.account_list.Children.Add(account); //crates a usercontrol in a stack panel
accounters.Add(account); //my idea on a List<UserControl>
i++;
}
任何帮助都会很棒,谢谢!
最好通过 ItemsControl 创建控件,而不是在代码隐藏中
xaml
<Window.Resources>
<ResourceDictionary>
<DataTemplate x:Key="ItemTemplate">
<CheckBox Content="{Binding Name}" IsChecked="{Binding IsChecked}"/>
</DataTemplate>
</ResourceDictionary>
</Window.Resources>
<Grid>
<ItemsControl ItemsSource="{Binding Users}" ItemTemplate="{StaticResource ItemTemplate}"/>
</Grid>
视图模型
public class UserModel
{
public string Name { get; set; }
public bool IsChecked { get; set; }
}
public class WpfTestVm
{
public ObservableCollection<UserModel> Users { get; } = new ObservableCollection<UserModel> {new UserModel { Name = "1"}, new UserModel { Name = "2" } };
}