Permalänk
Avstängd

Problem med WPF style

Jag har haft denna fråga ute på SO ett tag utan att få svar

http://stackoverflow.com/questions/14607430/menuitem-enable-s...

Jaq använder ExpressionDark som tema i min WPF app, den har en custom style för MenuItems. När ett menyval är disablat ska ju detta såklart reflekteras av stylen, vilket den även gör för MenuItems i huvudmenyn

Problemet är att det fungerar inte för kontext menyer (ContextMenu)

Jag har hittat problemet men inte lösningen, om jag tar bort TextBlock stylen så fungerar disable stylen för ContextMenyer, men då pajjar såklart layouten på andra ställen i appen.

<Style TargetType="{x:Type TextBlock}"> <Setter Property="Foreground" Value="{DynamicResource TextBrush}" /> </Style>

Den relevanta stylen för MenuItem är

<Trigger Property="IsEnabled" Value="false"> <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" /> </Trigger>

Hela temat och appen hittar ni här
https://github.com/AndersMalmgren/FreePIE/blob/AvalonDock/Fre...

Visa signatur
Permalänk
Avstängd

Detta fungerar, frågan är om det är bästa lösningen

<Trigger Property="IsEnabled" Value="False"> <Setter Property="Opacity" Value="0.5"/> </Trigger>

Visa signatur