Я не могу сказать, что я новичок в WPF, потому что это было бы слишком много. Мне просто дали приложение WPF для поддержки ...
Мне нужно изменить определенный цвет ячейки в DataGrid
в зависимости от значения. Я думал, что это будет легко, обнаружил, что SO сообщение: Изменение цвета ячейки DataGrid на основе значений
.
Вставил, где это принадлежит, что дало мне следующее:
<DataGrid x:Name="DgDevices" ItemsSource="{Binding}" BorderThickness="2,0,2,2" Cursor="Cross">
<DataGrid.ContextMenu>
<ContextMenu >
<MenuItem Header="Załóż Deblokadę" Click="InsertDBL" />
<MenuItem Header="Usuń Deblokadę" Click="RemoveDBL"/>
</ContextMenu>
</DataGrid.ContextMenu>
<DataGridTextColumn Binding="{Binding Name}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="Text" Value="1">
<Setter Property="Background" Value="Black"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid>
Теперь, при вызове метода Show
в этой форме, он дает мне InvalidOperationException
. Я искал объяснение, почему это происходит, но не нашел четкого объяснения.
Кроме того, я знаю, что Binding Name
является заполнителем для моей привязки (в <DataGridTextColumn Binding="{Binding Name}">
), поэтому я устал помещать туда Binding
(вдохновленный ItemsSource="{Binding}"
в DataGrid
узле), но не решил вопрос.