簡體   English   中英

如何在運行后檢查用戶控件上的所有復選框

[英]How to check all check boxes on user control after runtime

我不知道這是否可能,但我正在制作一個系統,對於列表中的每個項目,它將解析信息並使用信息進行用戶控制。 我想知道如何或是否應該為此使用用戶控件。 我不想使用數據網格(如果可能)。 我的目標是找到一種方法來啟用所有復選框(每個用戶控件一個)在運行后單擊一個按鈕。 可能知道如何在用戶控件上設置一個值也很酷。

這是用戶控件的示例

這是while循環后用戶控件的樣子

我對如何解決這個問題的想法是列出所有用戶控件,但我不知道如何找到復選框並選中它。

這是我創建用戶控件的代碼。


                   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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM