Visual Studio Express 2012を最近導入したのをきっかけにC#の開発をWinFormsからWPFに乗り換えてみました。
そんで以下のサイトを参考にExpressionDarkのテーマを導入してみたんですが、なぜかListBoxItems
でラベルが載ってない部分をクリックしても反応しませんでした。
ということで解決方法をサクッとメモ。
ExpressionDark.xamlを編集
てなわけで、テーマファイルを編集します。
ListBoxItem
のStyle
が定義されているあたりに注目します。
するとそこにはContentPresenter
を内包するGrid
があります。
ExpressionDark.xaml
<Style d:IsControlPart="True" TargetType="{x:Type ListBoxItem}">
...
<Grid SnapsToDevicePixels="true" Margin="1,1,1,1">
...
<ContentPresenter ... />
...
</Grid>
...
</Style>
こいつをクリック出来ればいいのですが、このままだとダメなんだなこれが。
原因はBackground
がNull
であること。てなわけでTransparent
を設定してやります。
<Style d:IsControlPart="True" TargetType="{x:Type ListBoxItem}">
...
<Grid SnapsToDevicePixels="true" Margin="1,1,1,1" Background="Transparent">
...
<ContentPresenter ... />
...
</Grid>
...
</Style>
はい、一丁上がり!
Trasparent
に意味があったんですね…わからんわ!すごい悩んだわ!(#^ω^)
コメント