Tag zusammen,
ich hab momentan ein kleines Problem und Suchen ergab keine wirklich hilfreichen Treffer.
Die Ausgangssituation ist folgende, in meinem MainWindow habe ich eine Property
Wie zu sehen ist habe ich INotifyPropertyChanged bereits korrekt implementiert.
Ich habe im XAML auch schon erfolgreich an diese Property gebunden:
Hier wird ein Bild ausgetauscht, ja nach Status dieser Property, und das funktioniert auch so wies soll.
Nun habe ich ein ContextMenu, in dem ich das selbe mit dem Icon eines Items machen will, der aktuelle Code dafür ist dieser:
Das ist im Prinzip der selbe Code, aber hier passiert gar nichts, in der Ausgabe erhalte ich die Meldung
Ich konnte durch Recherche bereits herausfinden, dass es etwas damit zu tun hat, dass das ContextMenu nicht zum selben VisualTree gehört, wie das Fenster, aber ich konnte keine Lösung für das Problem finden. Ich hoffe, dass hier einer der WPF-Pros weiterhelfen kann, ich selbst bin noch nicht sonderlich erfahren in WPF und bin hier mit meinem Wissen am Ende.
ich hab momentan ein kleines Problem und Suchen ergab keine wirklich hilfreichen Treffer.
Die Ausgangssituation ist folgende, in meinem MainWindow habe ich eine Property
Maximized
angelegt:Ich habe im XAML auch schon erfolgreich an diese Property gebunden:
XML-Quellcode
- <Image Width="16" Height="16">
- <Image.Style>
- <Style TargetType="Image">
- <Setter Property="Source" Value="{StaticResource MaximizeIcon}"/>
- <Style.Triggers>
- <DataTrigger Binding="{Binding Maximized, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:MainWindow}}}" Value="True">
- <Setter Property="Source" Value="{StaticResource RestoreIcon}"></Setter>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </Image.Style>
- </Image>
Nun habe ich ein ContextMenu, in dem ich das selbe mit dem Icon eines Items machen will, der aktuelle Code dafür ist dieser:
XML-Quellcode
- <ContextMenu>
- <MenuItem Command="local:Commands.Maximize">
- <MenuItem.Style>
- <Style TargetType="MenuItem">
- <Setter Property="Header" Value="Maximize"/>
- <Setter Property="Icon" Value="{StaticResource MaximizeMenuIcon}"/>
- <Style.Triggers>
- <DataTrigger Binding="{Binding Maximized, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:MainWindow}}}" Value="True">
- <Setter Property="Header" Value="Restore"/>
- <Setter Property="Icon" Value="{StaticResource RestoreMenuIcon}"/>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </MenuItem.Style>
- </MenuItem>
- </ContextMenu>
Cannot find source for binding
.Ich konnte durch Recherche bereits herausfinden, dass es etwas damit zu tun hat, dass das ContextMenu nicht zum selben VisualTree gehört, wie das Fenster, aber ich konnte keine Lösung für das Problem finden. Ich hoffe, dass hier einer der WPF-Pros weiterhelfen kann, ich selbst bin noch nicht sonderlich erfahren in WPF und bin hier mit meinem Wissen am Ende.