私はかなり奇妙なことが起こっていることにDataGrid
遭遇しました。次のように宣言された WPF XMAL ページで定義されています。
<DataGrid.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#FF3399FF" />
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="White" />
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="#FF3399FF"/>
<SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" Color="White" />
</DataGrid.Resources>
技術的には、2 つのInactive
SystemColors
タイプは .net 4.5 のものですが、.net 4 をターゲットに設定するとプログラムをコンパイルでき、これらの非アクティブなブラシは機能しますが、.net 4 をターゲットに設定すると、Visual Studio で XMAL デザイナー ページをロードすると、エラーが発生The member "InactiveSelectionHighlightTextBrushKey" is not recognized or is not accessible.
し、デザイナー ビューがブロックされます。ただし、プログラムで上記の定義に従ってコンパイルおよび表示されます。
これは控えめに言っても非常に一貫性がないように見えます。これが Visual Studio 2012 の問題なのか、それとも私の開発用コンピューターに .net 4.5 がインストールされていて、ターゲット フレームワークが変更されているだけであるため、プログラムのコンパイルが許可されているのかはわかりません。何かがそれを使用しています(私はこれを非常に疑っています)。または、非アクティブ型が .net 4 にあるが、ドキュメントでサポートされているものとしてリストされておらず、VS でこの問題を引き起こしている可能性はありますか?
DataGrid 行の非アクティブな選択色を設定できるように、.net 4 でこれを行うより良い方法はありますか? それとも、これを行う唯一の方法は .net 4.5 にアップグレードすることですか?