Как добавить флажок в Datagrid WPF c # - PullRequest
8 голосов
/ 07 марта 2011

Привет, я хочу добавить флажок в таблице данных. Я написал тестовый код, но не смог. Что я пытаюсь сделать, это добавить CheckBox в сетку данных с элементами, которые я добавляю в него с помощью выбрать все и выбрать ни один вариант.

Я не знаю, как это сделать, поэтому мне нужна помощь. Меня смущает то, что если мы добавим, то динамически, как мы будем отслеживать, какой флажок был установлен или не установлен.

У меня есть текущий код

    public partial class MainWindow : Window
    {
        List<checkedBoxIte> item = new List<checkedBoxIte>();
        public MainWindow()
        {
            InitializeComponent();
            for (int i = 0; i < 5; i++)
            {
                checkedBoxIte ite = new checkedBoxIte();
                ite.sr = i.ToString();
                ite.ch = new CheckBox();
                item.Add(ite);
            }
            dataGrid1.ItemsSource = item
        }
    }
    public class checkedBoxIte
    {
       public string sr {get;set;}
       public CheckBox ch { get; set; }
    }

но я знаю, что ставить галочку вот так глупо, но это была просто попытка Вышеупомянутый класс содержит два атрибута, позже у него будет больше, но все будут строки

1 Ответ

19 голосов
/ 07 марта 2011

WPF не знает, как обращаться с вашими checkedBoxIte предметами.Я предлагаю вам изменить свой класс следующим образом:

public class checkedBoxIte
{
   public string MyString {get;set;}
   public bool MyBool { get; set; }
}

А затем установить столбцы вашего DataGrid следующим образом:

<DataGrid AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="MyString" Binding="{Binding MyString}" />
        <DataGridCheckBoxColumn Header="MyBool" Binding="{Binding MyBool}" />
    </DataGrid.Columns>
</DataGrid>

Теперь вы можете установить ItemsSource:

for (int i = 0; i < 5; i++)
{
    checkedBoxIte ite = new checkedBoxIte();
    ite.MyString = i.ToString();
    item.Add(ite);
}
dataGrid1.ItemsSource = item;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...