WPF - Заменить CheckBox на картинку в DataGrid
От: J-son  
Дата: 26.09.18 15:47
Оценка:
Здравствуйте.

Имеется DataGrid с автогенерацией колонок.
Две колонки содержат CheckBox-ы.
Чекбоксы в одной из колонок я хочу заменить на картинки.

Правильно ли я понимаю, что это нужно делать динамически?

Если да, то можно попросить помочь перевести данный код на С# (нашел на stackoverflow)?

<DataGridCheckBoxColumn Binding="{Binding IsActive}">
<DataGridCheckBoxColumn.ElementStyle>
<Style TargetType="{x:Type CheckBox}">
<Setter Property="IsEnabled" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<Image MaxWidth="32" MaxHeight="32">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="Images/Error.ico" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, RelativeSource={RelativeSource AncestorType=CheckBox}}" Value="True">
<Setter Property="Source" Value="Images/Default.ico" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGridCheckBoxColumn.ElementStyle>
</DataGridCheckBoxColumn>

Спасибо
Re: WPF - Заменить CheckBox на картинку в DataGrid
От: BlackEric http://black-eric.lj.ru
Дата: 27.09.18 09:16
Оценка:
Здравствуйте, J-son, Вы писали:

JS>Здравствуйте.


JS>Имеется DataGrid с автогенерацией колонок.

JS>Две колонки содержат CheckBox-ы.
JS>Чекбоксы в одной из колонок я хочу заменить на картинки.

JS>Правильно ли я понимаю, что это нужно делать динамически?


JS>Если да, то можно попросить помочь перевести данный код на С# (нашел на stackoverflow)?


JS><DataGridCheckBoxColumn Binding="{Binding IsActive}">

JS> <DataGridCheckBoxColumn.ElementStyle>
JS> <Style TargetType="{x:Type CheckBox}">
JS> <Setter Property="IsEnabled" Value="False" />
JS> <Setter Property="Template">
JS> <Setter.Value>
JS> <ControlTemplate TargetType="{x:Type CheckBox}">
JS> <Image MaxWidth="32" MaxHeight="32">
JS> <Image.Style>
JS> <Style TargetType="{x:Type Image}">
JS> <Setter Property="Source" Value="Images/Error.ico" />
JS> <Style.Triggers>
JS> <DataTrigger Binding="{Binding IsChecked, RelativeSource={RelativeSource AncestorType=CheckBox}}" Value="True">
JS> <Setter Property="Source" Value="Images/Default.ico" />
JS> </DataTrigger>
JS> </Style.Triggers>
JS> </Style>
JS> </Image.Style>
JS> </Image>
JS> </ControlTemplate>
JS> </Setter.Value>
JS> </Setter>
JS> </Style>
JS> </DataGridCheckBoxColumn.ElementStyle>
JS></DataGridCheckBoxColumn>

JS>Спасибо


Что вы понимаете под динамикой?
Приведенный вами код — это XAML,язык разметки для WPF. Там нечего преводить на шарп. Наоборот к нему нужно написать код, который будет использовать этот XAML выполняя биндинг соответствующих данных.
https://github.com/BlackEric001
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.