の前景を変更することはできません、これは私のデータグリッドであるだからDataGridTextColumn
<DataGrid AutoGenerateColumns="false" Height="270" HorizontalAlignment="Left" Name="dataGrid1" VerticalAlignment="Top" Width="503" ItemsSource="{Binding Path=MyVocabularyExam, Mode=TwoWay}" CanUserAddRows="False" CanUserResizeColumns="False" CanUserReorderColumns="False" CanUserSortColumns="False" SelectionMode="Single" SelectionUnit="Cell" >
<DataGrid.Columns>
<DataGridTextColumn x:Name="Sprache1" Width="*" Header="Sprache1" Binding="{Binding Language1}" IsReadOnly="True" />
<DataGridTextColumn x:Name="Sprache2" Width="*" Header="Sprache2" Binding="{Binding Language2, Mode=TwoWay}" IsReadOnly="False" Foreground="{Binding LanguageColor}"/>
</DataGrid.Columns>
</DataGrid>
- 私、次のプロパティ
public class myVocabulary
{
public string Language1 { get; set; }
public string Language2 { get; set; }
public SolidColorBrush LanguageColor { get; set; }
}
でデータグリッドへのリストを結合今私は語彙試験を作りたいです。最初の列は単語で満たされ、もう1つの列は翻訳で満たされなければなりません。 私の唯一の問題は、ユーザーが入力した間違った翻訳のフォアグラウンドを変更できないことです。 ユーザーがグリッドを塗りつぶした後、ボタンをクリックする必要があります。ボタンをクリックすると、すべてが正しいかどうかがチェックされます。間違った言葉は赤色に変わる必要があります。
Iは
MyVocabularyExam [I] .LanguageColor = Brushes.Redを試みました。
MyVocabularyExam [i] .LanguageColor = new SolidColorBrush(Colors.Red);
しかし、それはうまくいきませんでした。 だから、誰かが、私はそれを動作させるために、明示的にElementStyle
を設定する必要がありました^^
http://stackoverflow.com/questions/1745132/how-do-i-change-the-background-color-of-a-cell-using-wpf-toolkit-datagridを参照してください。 – Mikhail