Как я могу получить флажок в заголовке столбца DataGrid, чтобы не быть выбранным, когда флажок в столбце не проверен?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу получить флажок в заголовке столбца DataGrid, чтобы не быть выбранным, когда флажок в столбце не проверен?

Сообщение Anonymous »

Проблема < /h1>
У меня есть приложение в WPF с помощью DataGrid, который содержит столбец флажки. У меня есть флажок в заголовке, чтобы проверить и снимать все флажки в столбце. Это работает хорошо, но я пытался сделать его неверным после того, как один из флажков в столбце не будет проверен. Я не смог вытащить поведение из кода, который я писал для этой ситуации, которую я хочу. И когда флажок в заголовке не проверяется, все флажки в столбце становятся неконтролированными. < /P>
В то время как флажок в заголовке проверяется и все флажки в столбце проверяются, если пользователь Unchecks One of the Fackbox, флажок в заголовке должен быть не выполнен. Заголовок хорошо работает, чтобы получить поведение проверки и рассеяния всех флажков, содержащихся в столбце. Но использование их также вызывает проблемы, когда один флажок, содержащийся в столбце, не контролируется, потому что я хочу, чтобы флажок в заголовке был неконтролирован в этом случае, который запускает неконтролируемое событие на флажке заголовка, вызывая каждый флажок, содержащийся в столбце, чтобы стать неконтролированным.

Код: Выделить всё

                    
















< /code>
 код события < /h1>

private void DataGridCheckBox_Checked(object sender, RoutedEventArgs e)
{
UpdateCheckAllIsChecked();
}

private void DataGridCheckBox_Unchecked(object sender, RoutedEventArgs e)
{
UpdateCheckAllIsChecked();
}

private void CheckAll_Checked(object sender, RoutedEventArgs e)
{
UpdateCheckBoxes();
}

private void CheckAll_Unchecked(object sender, RoutedEventArgs e)
{
UpdateCheckBoxes();
}

/// 
/// Updates the CheckAll checkbox to indicate whether all files are selected.
/// 
private void UpdateCheckAllIsChecked()
{
if (FilesDataGrid.ItemsSource is List fileDetails)
{
CheckAllIsChecked = fileDetails.All(f => f.IsSelected);
}
}

/// 
/// Updates the IsSelected property of all files in the DataGrid control to set the checkboxes that
/// represent them.
/// 
private void UpdateCheckBoxes()
{
if (FilesDataGrid.ItemsSource is List files)
{
foreach (var file in files)
{
file.IsSelected = CheckAllIsChecked;
}
}
}

Чтобы решить проблему, я попытался использовать событие MouseUp на флажке в заголовке, но событие никогда не стреляло, которое остановило поведение проверки и раскрытия всех флажков, содержащихся в столбце.
>

Подробнее здесь: https://stackoverflow.com/questions/795 ... when-a-che
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу получить флажок в заголовке столбца DataGrid, чтобы не быть выбранным, когда флажок в столбце не проверен?
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • ICHECK Проверка, если проверен флажок
    Anonymous » » в форуме Jquery
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Строка, определенная в заголовке A, не определена в заголовке B [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Рисование за пределами области столбца в заголовке столбца списка
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как объединить GridSplitter и DataGrid, где DataGrid должен иметь вертикальную полосу прокрутки?
    Anonymous » » в форуме C#
    0 Ответы
    116 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»