[英]How to check all check boxes on user control after runtime
我不知道這是否可能,但我正在制作一個系統,對於列表中的每個項目,它將解析信息並使用信息進行用戶控制。 我想知道如何或是否應該為此使用用戶控件。 我不想使用數據網格(如果可能)。 我的目標是找到一種方法來啟用所有復選框(每個用戶控件一個)在運行后單擊一個按鈕。 可能知道如何在用戶控件上設置一個值也很酷。
我對如何解決這個問題的想法是列出所有用戶控件,但我不知道如何找到復選框並選中它。
這是我創建用戶控件的代碼。
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" } };
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.