Mam MenuItem
, który dynamicznie tworzy elementy podmenu z ItemsSource
-property.Styl optyczny WPF dynamicznie tworzone MenuItem-Separator w MVVM
Do grupowania mam w menu separatory. Separator jest tworzony dla każdej pozycji zerowej w kolekcji ItemsSource przez ControlTemplate z MenuItem.ItemContainerStyle
.
Działa to dobrze, jednak ma separator nie taki sam styl optyczny, jak inne separatory, które są umieszczone w kolekcji Items w menu.
Czy istnieje sposób zmiany wyglądu separatora tak, aby wyglądał na "normalny" element menu-separatory?
Oto kod używam:
<MenuItem.ItemContainerStyle>
<Style TargetType="MenuItem">
<Setter Property="Header" Value="{Binding Title}"/>
<Setter Property="Command" Value="{Binding Command}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding }" Value="{x:Null}">
<Setter Property="Template" >
<Setter.Value>
<ControlTemplate>
<Separator /> <!-- THIS SEPARATOR IS NOT SHOWN AS COMMON MENUITEM-SEPARATORS ARE -->
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</MenuItem.ItemContainerStyle>
Dzięki za odpowiedź. To dobry pomysł, ale niestety nie pomaga. Separator wygląda na równy, ale jako element podrzędny ma dodatkowo MenuItem, który można wybrać (co powoduje, że separator można wybrać na końcu, jeśli nie jest wyłączony). – HCL