【问题标题】:Get the value of selected checkboxes in an array - WPF, MVVC, c#获取数组中选中复选框的值 - WPF、MVVC、c#
【发布时间】:2016-11-20 00:35:14
【问题描述】:

您好,我正在开发一个具有 MVVC 框架的应用程序。

在我看来,我有 23 个复选框,每个复选框都有不同的文本。

<CheckBox IsChecked="{Binding isA}">A</CheckBox>
<CheckBox IsChecked="{Binding isB}">B</CheckBox>
<CheckBox IsChecked="{Binding isC}">C</CheckBox>    

等等。

在 viewmodal 我有以下....

public string isA
    {
        get { return _isA; }
        set
        {
            _isA= value.ToString();
            RaisePropertyChanged();
        }
    }
    private string _isA;

如何将所有选中的复选框文本作为数组获取?

【问题讨论】:

    标签: c# wpf xaml checkbox


    【解决方案1】:

    首先定义一个模型类

    public class ListModel
     {
         public string Data { get; set; }
         public bool IsSelected { get; set; }
     }
    

    然后将这个模型的列表绑定到Listview的ItemsSource

    List<ListModel> data = new List<ListModel>();
    

    将复选框的绑定修改为

     <CheckBox Content="{Binding Data}" IsChecked="{Binding Path=IsSelected, Mode=TwoWay"/>
    

    然后当您需要检索时,您可以执行以下 linq 以获取所有选定的字符串

    IEnumerable<String> selectedData = data.Where(d => d.IsSelected).Select(d => d.Data);
    

    现在您将在字段 selectedData 中拥有在 UI 中选择的所有数据

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 2019-03-05
      相关资源
      最近更新 更多