DataGrid
の各セルに特定の値を持つ特定の色を設定しようとしています。私はネット上で多くを見たが、私の状況に近づくものは見つけられなかった。 基本的に私はこのDataGrid
構造をしました:DataGridの汎用セルプロパティのバインド
<DataGrid ItemsSource="{Binding MatchService.Matches}" AutoGenerateColumns="False"
CanUserAddRows="false" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Header="{DynamicResource championship}" Binding="{Binding Competition}"/>
<DataGridTextColumn Header="1" Binding="{Binding HomeWin}"/>
<DataGridTextColumn Header="X" Binding="{Binding Draw}"/>
</DataGrid.Columns>
ので、私はすべてのセルの値を扱う一般的なスタイル、特に、純粋なXAMLのソリューションを使用する必要があります。たとえば、HomeWin
セルの値が<50
の場合、セルの値が>60
の場合はセルの背景がred
になり、背景が緑色になります。
デフォルトのスタイルを作成し、コンバータなどを書かずにDataGridTextColumn
ごとにバインドするにはどうすればよいですか?
ありがとうございました。
あなたは 'DataGridTextCoあなたが "equals"以外のトリガーでプロパティ値の比較をしたい場合は、コンバーターを書く必要があります。また、NumberToBrushコンバータを記述しないでください。数値比較コンバータを作成し、そのトリガを使用するDataTriggerにブラシを設定します。 –
純粋なXAMLソリューションはありません。 Binding Converterを実装して使用する必要があります。これは4回目ですが、私はこの質問を重複して終了します。同じ質問を何度も何度もやめてください。 2番目のStackOverflowユーザーアカウントもここでは大歓迎ではありません。 – Clemens
@Clemens、厳密に言えば、純粋なxamlソリューションがあります。それぞれの可能な値に対してcellStyle内のdataTriggerです。しかし、それは値の有限(そしてより小さい)セット(例えば、列挙型、ブール)にのみ適用されます。 – ASh