データグリッドを開き、一部の列で黒で数値を表示し、同じデータが他の列で赤で表示されます。実際に値が存在しないと言われ、編集されていません。誰かが赤で数字を変えると、黒になるはずです。DataGridセルのフォアグラウンドを変更する
私はDatagridCellの書き込みXAML内の1つのスタイルを持っている -
<Window.Resources>
<Style x:Key="D3ForegroundStyle" TargetType="{x:Type DataGridCell}" >
<Setter Property="Foreground" Value="Black" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=D3StatusVal}" Value="inherited">
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
D3StatusValが、それは価値が「通常」または「継承」することができ、文字列です。 スタイルは、このように列にリンクされている:私が好きなように
<DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}" BasedOn="{StaticResource D3ForegroundStyle}"/>
</DataGridTextColumn.CellStyle>
初めて、私は窓を開けた直後、データグリッドは、それに応じてD3StatusValの値は、適切な方法でいくつかの値を埋めてきました他の赤色の黒色で表示されます。 D3StatusValの値が変更され、PropertyChangedの1つのイベント(x:列の名前)が呼び出されても、この後、セルのデータを変更しようとすると何も起こりません(セルの色を意味します) ありがとうあらかじめ。
ヒントはありませんか?さて、私はより一般的な方法で質問を提起するでしょう。 私は内容を変更するたびにセルの前景をプログラム的に変更したいのですが(セルに値を書き込むことに依存しない)、それを行う正しい方法は何ですか?
号ヒントを欲しがるしてください、私はどのように行うことができますか? THX –
XMLエディタ、コンパイラは、DynamicResourceがある」、と言う前であっても、 WPFプロジェクトでサポートされていません "... –