SO の WPF データグリッドについては多くの質問がありますが、私はそれらから必要なものを取得できないため、まだ質問する必要があります...お願いします :]。
ヒント:主な質問は、なぜトリガーが機能しないのかということです。:|
値のないセルの選択を無効にするデータグリッド プロパティはありますか? そんなものがあることは知っていたと思いますが、今は見つけられません。そのようなことがない場合、どうすればこの問題を解決できますか? selectedCellsChanged などのイベントについて考えていました。しかし、私はそれを解決する方法がわかりません。
内部の値に応じてセルの背景プロパティを設定するにはどうすればよいですか? DatagridCell ( http://msdn.microsoft.com/en-us/library/system.windows.controls.datagridcell.aspx )の text/content/value プロパティを探していましたが、何もうまくいきませんでした...いくつかの値コンバーターですが、トリガーを使用してこれを解決することを考えていました。
いくつかの情報: SelectionMode="Extended"
+を設定しSelectionUnit="Cell"
ました。
トリガーを使用して背景を設定しようとしましたが、うまくいきませんでした:
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="HasContent" Value="False">
<Setter Property="Background" Value="DarkGray"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
プロパティIsSelected
は正常に機能しますが、コンテンツのないものは機能しません。null
「」または「コンテンツがない」と(間違って)考えているのは私だけですか?<Trigger Property="Content" Value="">
とも試し<Trigger Property="Content" Value="null">
ましたが、これらのことは私にとってはうまくいきません。私がどうかしましたか、まずいことでもありましたか???
編集:この Q/A を見つけました - WPF Toolkit Datagrid を使用してセルの背景色を変更するにはどうすればよいですか?また、トリガーが機能した場合、そのようなものがある場合は、セルをHasContent="False"
選択できないように設定できます。しかし、トリガーを機能させる必要があるだけです:D
Edit2:を設定する<Trigger Property="HasContent" Value="True">
と、すべてのセルで機能します..だから、値として null/"" を取ると思います。それは私に疑問を残します:
ヌルの特別な背景が必要で、その選択を無効にする場合、これをどのように解決すればよいですか?
Edit3:選択を無効にすると、次のように動作するはずです: WPF ListView<Setter Property="Focusable" Value="false"/>
のおかげで、選択をオフにできます .. これは機能していません :D :'(
今null
、セルのコンテンツに関するトリガーを解決する必要があります...何かヒントはありますか?