私は3列のデータグリッドを持っています。最後の列は、「✓」または「✗」を表示することによって、行のデータセットが有効または無効になっていることを示しています。 コンテンツの配置が中央で、コンテンツに応じて "テキスト"が緑色( "✓"の場合)または赤色( "✗"の場合)になるように、最後の列のスタイルを設定します。だから私はそれをどのように達成できますか?WPF C# - 内容に応じた列内容の整列とスタイル
<DataGrid x:Name="employeesDataGrid" Margin="5,55,5,0" VerticalAlignment="Top" Height="172" IsSynchronizedWithCurrentItem="False" MinRowHeight="10" HeadersVisibility="Column" AutoGenerateColumns="False" GridLinesVisibility="None" SelectionMode="Single" RowDetailsVisibilityMode="Collapsed" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}">
<DataGrid.Columns>
<DataGridTextColumn x:Name="nameHeader" Header="{x:Static p:Resources.nameHeader}" Width="100"/>
<DataGridTextColumn x:Name="surnameHeader" Header="{x:Static p:Resources.surnameHeader}" Width="200" />
<DataGridTextColumn x:Name="isenabledHeader" Header="{x:Static p:Resources.isenabledHeader}" MinWidth="50">
<DataGridTextColumn.HeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
</Style>
</DataGridTextColumn.HeaderStyle>
<DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
"✓"と "✗"に応じて異なるセルのスタイルを設定するにはどうすればよいですか? ここで私はC#でデータグリッドを埋める方法です。
nameHeader.Binding = new Binding("Name");
surnameHeader.Binding = new Binding("Surname");
isenabledHeader.Binding = new Binding("IsEnabled");
employeesDataGrid.ItemsSource = null;
Employee employee = new Employee();
// returns a List<Employee>
employeesList = employee.GetAll();
employeesDataGrid.ItemsSource = employeesList;
編集 私は自分自身によって細胞のテキストを整列する方法を考え出しました。コードが更新されます。だから私はそれを緑色または赤色にしたいと思う。助言がありますか?
どのようにチェックやXを設定しますか?彼らはイメージですか?あなたの3番目の列がEmployee.IsEnabledにバインドされていることがわかりますが、 "✓"と "✗"はいつ入ってくるのですか? – Rowbear