Mahlzeit,
ich habe hier ein kleines Problem mit einem Binding. Ich versuche ein Kontextmenü in einem Style zu definieren und das Command des "Elternteils" zu binden und mit einem CommandParameter aufzurufen. Irgendwie gelingt es mir, aber immer nur dann wenn ich nach dem Start des Programms im XAML noch was umschreiben, es scheint fast so als würde das Binding nicht funktionieren.
Anmerkung: Mit PlacementTarget kann ich auf mein Viewmodel zugreifen, also quasi die Ebene über der Ebene wo ich hinwill funktioniert aber eben nicht die direkte Ebene darüber:
Code:
Der Style:
Der Button mit dem Style:
Ich habs mit BindsDirectlyToSource auf True versucht, ich habs mit Placement versucht und auch mit dem Updatesourcetrigger aber alles ohne Erfolg. Hat jemand einen Tipp für mich?
Danke
ich habe hier ein kleines Problem mit einem Binding. Ich versuche ein Kontextmenü in einem Style zu definieren und das Command des "Elternteils" zu binden und mit einem CommandParameter aufzurufen. Irgendwie gelingt es mir, aber immer nur dann wenn ich nach dem Start des Programms im XAML noch was umschreiben, es scheint fast so als würde das Binding nicht funktionieren.
Anmerkung: Mit PlacementTarget kann ich auf mein Viewmodel zugreifen, also quasi die Ebene über der Ebene wo ich hinwill funktioniert aber eben nicht die direkte Ebene darüber:
Code:
Der Style:
XML-Quellcode
- <Style x:Key="RibbonButtonWithMenu" TargetType="{x:Type Fluent:Button}" BasedOn="{StaticResource {x:Type Fluent:Button}}">
- <Setter Property="ContextMenu">
- <Setter.Value>
- <Fluent:ContextMenu>
- <Fluent:MenuItem Header="{lex:Loc Key=new_window}"
- Command="{Binding Command, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Fluent:Button},UpdateSourceTrigger=PropertyChanged, BindsDirectlyToSource=True}"
- CommandParameter="True"
- Icon="{StaticResource NewWindow}"/>
- </Fluent:ContextMenu>
- </Setter.Value>
- </Setter>
- </Style>
Der Button mit dem Style:
XML-Quellcode
- <Fluent:Button Style="{StaticResource RibbonButtonWithMenu}" Header="{lex:Loc Key=contacts}" HorizontalAlignment="Center" VerticalAlignment="center" LargeIcon="{Binding Mode=OneWay, Source={StaticResource Contact}}" Icon="{Binding LargeIcon, RelativeSource={RelativeSource Self}}" Command="{Binding CmdShowContacts}" CommandParameter="False"/>
Ich habs mit BindsDirectlyToSource auf True versucht, ich habs mit Placement versucht und auch mit dem Updatesourcetrigger aber alles ohne Erfolg. Hat jemand einen Tipp für mich?
Danke
mfG.
Stephan
Stephan