Hallo und Guten Abend :-),
Ich möchte ein ContextMenu einer ListBox selber stylen und bin auch schon sehr weit gekommen. Bloss diesen hässlichen "Platzhalter" für das Icon links im KontextMenu-Item krieg ich irgendwie nicht ausgeblendet. So sieht mein XAML aus:
Und in meiner Application.xaml:
Da wird einfach ein "schwarzes Loch" im ContextMenu angezeigt.
Eigentlich müsste das doch gehen, ich hab den Code so auf stackoverflow gefunden. Weiss jemand wo der Fehler liegt? Ich hab mich jetzt schon 15 Mal vergewissert, dass es so eigentlich gehen müsste. Oder aber der Code ist an sich komplett falsch...
Hab so ziemlich alles hier ausprobiert...
Es muss doch noch einen anderen Weg geben als das komplette Dictionary zu verändern gleich...
Ich möchte ein ContextMenu einer ListBox selber stylen und bin auch schon sehr weit gekommen. Bloss diesen hässlichen "Platzhalter" für das Icon links im KontextMenu-Item krieg ich irgendwie nicht ausgeblendet. So sieht mein XAML aus:
XML-Quellcode
- <ListBox.ContextMenu>
- <ContextMenu.ItemTemplate>
- <DataTemplate>
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="3*"/>
- <ColumnDefinition Width="3*"/>
- <ColumnDefinition Width="94*"/>
- </Grid.ColumnDefinitions>
- <TextBlock Text="alle Musiktitel" Grid.Column="2" TextTrimming="CharacterEllipsis" Foreground="{DynamicResource VordergrundfarbeBrush}" FontSize="30"/>
- <Border Name="brdAlleMusiktitelZuPlaylistZufuegen" Height="30" Grid.Column="0" Style="{DynamicResource Navigationsbuttons}" ToolTip="Füge alle Musiktitel der Playlist des gewählten Plattendecks zu..." HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <Border.InputBindings>
- <MouseBinding MouseAction="LeftClick" Command="{Binding AddeAlleMusiktitel}"/>
- </Border.InputBindings>
- <Viewbox Stretch="Uniform">
- <Path Margin="4" Stretch="Uniform" Fill="{DynamicResource VordergrundfarbeBrush}" Data="xxx"/>
- </Viewbox>
- </Border>
- <Border Name="brdAlleMusiktitelAbspielen" Height="30" Grid.Column="1" Style="{DynamicResource Navigationsbuttons}" ToolTip="Spiele alle Musiktitel auf dem gewählten Plattendeck ab...">
- <Border.InputBindings>
- <MouseBinding MouseAction="LeftClick" Command="{Binding SpieleAlleMusiktitel}"/>
- </Border.InputBindings>
- <Viewbox Stretch="Uniform">
- <Path Margin="4" Stretch="Uniform" Fill="{DynamicResource VordergrundfarbeBrush}" Data="yyy"/>
- </Viewbox>
- </Border>
- </Grid>
- </DataTemplate>
- </ContextMenu.ItemTemplate>
- </ContextMenu>
- </ListBox.ContextMenu>
Und in meiner Application.xaml:
XML-Quellcode
- <Style TargetType="{x:Type ContextMenu}">
- <Setter Property="ItemsPanel" Value="{StaticResource KontextMenueItem}"/>
- </Style>
- <Style TargetType="{x:Type MenuItem}">
- <Setter Property="ItemsPanel" Value="{StaticResource KontextMenueItem}"/>
- </Style>
- <ItemsPanelTemplate x:Key="KontextMenueItem">
- -<StackPanel/>
- </ItemsPanelTemplate>
Da wird einfach ein "schwarzes Loch" im ContextMenu angezeigt.
Eigentlich müsste das doch gehen, ich hab den Code so auf stackoverflow gefunden. Weiss jemand wo der Fehler liegt? Ich hab mich jetzt schon 15 Mal vergewissert, dass es so eigentlich gehen müsste. Oder aber der Code ist an sich komplett falsch...
Hab so ziemlich alles hier ausprobiert...
Es muss doch noch einen anderen Weg geben als das komplette Dictionary zu verändern gleich...