Использование кнопки Datagrid HeaderTemplate для изменения кнопок «Строка данных» - PullRequest
0 голосов
/ 16 мая 2019

У меня есть сетка данных, связанная с набором строк расписания.

В каждую строку я включил пользовательский элемент управления, состоящий из 3 переключателей в последнем столбце. Они указывают, должны ли каждая строка быть "Билл", "Удерживать" или "Списать". В шаблоне заголовка для сетки данных я включил немного другой элемент управления, который позволяет пользователю выбирать «Bill All», «Hold All», «Write Off All»

[Кнопки, о которых идет речь ... 1

Как заставить кнопки заголовка влиять на изменение кнопок строк ниже.

Это моя первая попытка использования WPF, и я стараюсь придерживаться правильных идеалов и структур WPF. Я попытался назначить событие Click для кнопок заголовка, которые бы создали массив кнопок строк, установив для их свойства IsSelected значение true.

Но я уверен, что я должен использовать что-то вроде присоединенного свойства.

Это переключатели, включенные в пользовательский элемент управления

.

LineButtons.xaml

 <StackPanel Orientation="Horizontal" IsHitTestVisible="True">
        <RadioButton Style="{StaticResource GridLineButton}" x:Name="BillButton"  Template="{DynamicResource ToggleButtonLeft}">Bill</RadioButton>
        <RadioButton Style="{StaticResource GridLineButton}" x:Name="HoldButton" Template="{DynamicResource ToggleButtonMid}">Hold</RadioButton>
        <RadioButton Style="{StaticResource GridLineButton}" x:Name="WOButton" Template="{DynamicResource ToggleButtonRight}">Write Off</RadioButton>
    </StackPanel>

HeaderButtons.xaml

    <StackPanel Orientation="Horizontal" IsHitTestVisible="True">
        <RadioButton Style="{StaticResource GridLineButton}"  >Bill All</RadioButton>
        <RadioButton Style="{StaticResource GridLineButton}"  >Hold All</RadioButton>
        <RadioButton Style="{StaticResource GridLineButton}"  >Write Off All</RadioButton>
    </StackPanel>

Datagrid.xaml


<DataGridTemplateColumn>
    <DataGridTemplateColumn.HeaderTemplate>
        <DataTemplate>
            <local:HeaderButtons Padding="0"/>
        </DataTemplate>
    </DataGridTemplateColumn.HeaderTemplate>
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <local:LineButtons Padding="4"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

Я хочу, чтобы все кнопки строк были отделимы от кнопок заголовка. Например. Если пользователь нажимает кнопку «Все счета» (в заголовке), я бы хотел, чтобы все кнопки строки «Счет» были установлены на Выбранные.

Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...