Win8でComboBoxがDisable時にグレーアウト表示されない
WPF&Win8環境でComboBoxをDisable表示にしても、ComboBoxに表示しているコンテンツがグレーアウト表示になりません。
これは、文章で書くより、画面キャプチャとコード見た方が早いかも。
ComboBoxのIsEnabled=Trueの時の表示
この表示は特に問題ありません。
で、このComboBoxをIsEnabled=Falseとした時が↓です。
ComboBoxで選択された要素がグレーアウト表示されません。
ComboBoxの枠部分はグレー表示になってるし、クリックしてもドロップダウンが出てこないので、ちゃんとDisable状態にはなっているのですが、ちょっと分かりにくい。。。
サンプルコード
<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Width="525" Height="350"> <Grid> <ComboBox Width="120" Margin="10,10,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" IsEnabled="{Binding IsChecked, ElementName=checkBox}" > <ComboBoxItem Content="Test" /> <ComboBoxItem Content="hoge" /> <ComboBoxItem Content="123" /> </ComboBox> <CheckBox x:Name="checkBox" Margin="135,10,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="IsEnabled" IsChecked="True" /> </Grid> </Window>
うーん、これのためだけにStyle書くのもイヤだし、
Styleで書いたら、Win8に限らずすべての実行環境のOSで同じ表示になってしまう。。。
WPFのAero2のテーマって、細かいところの表示で色々とバグがありますね。。。
今春のWin8.1 Update1のタイミングとかで一緒に直ってくれるとよいのですが。