Laden...

XML-Menü Kontextmenü mit XAML

Erstellt von Hannes1234 vor 6 Jahren Letzter Beitrag vor 6 Jahren 2.270 Views
Thema geschlossen
H
Hannes1234 Themenstarter:in
4 Beiträge seit 2017
vor 6 Jahren
XML-Menü Kontextmenü mit XAML

Sehr geehrte Damen und Herren!

Ich habe eine XML-Datei, die im XAML meines C#-Projektes angezeigt werden soll.
Im Internet finde ich nur eine Lösung mittels C#-Code (z.B.: hier)

Ich möchte dies aber genau im XAML mittels Databinding machen (mittels XmlDataProvider)

<XmlDataProvider
            x:Key="menuDataProvider"
            Source="menu.xml"
            XPath="/tmp/Test" />

Danke schon im Voraus für eure Lösungsansätze.

mfg. Hannes

B
66 Beiträge seit 2013
vor 6 Jahren
  1. Nicht so förmlich. Sag einfach Hallo!

  2. Du hast unter WinForms aka namespace System.Windows.Forms gepostet. WPF ist das nächste Subforum.

  3. XAML läuft unter
    https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Controls .
    Deshalb gibt es regelmäßig Konflikte, wenn Du Forms mit XAML und umgekehrt versuchst zu vermengen.
    Es ist möglich, läuft m. W. nicht stabil:
    https://stackoverflow.com/questions/16482288/c-sharp-windows-forms-and-xaml

  4. Der Artikel unter code project stammt aus dem Jahr 2007.
    Du müsstest ein XSLT durchführen um aus der XML Datei ein gültiges XAML Format zu erhalten. - Viel zu aufwendig.
    https://msdn.microsoft.com/de-de/library/ms747430(v=vs.110).aspx
    Deshalb würde ich händisch gleich das richtige Format wählen bzw umschreiben.

Grüße

3.003 Beiträge seit 2006
vor 6 Jahren

Falschen Post erwischt, auf den du antwortest? Das ergibt gerade so gar keinen Sinn...

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

3.003 Beiträge seit 2006
vor 6 Jahren

So, hatte ganz vergessen, dass ich hier noch was Konstruktives beitragen wollte.

a) es ist ziemlich schwer einzuschätzen, was du eigentlich machen möchtest. Anhand des von dir gesetzten Titels gehe ich aber mal davon aus, dass du eine Menüstruktur in einer XML-Datei hast, und diese Menüstruktur nun eben gern per XAML einbinden möchtest. Richtig?

Falls ja:

b) XmlDataProvider ist goldrichtig. Dazu brauchst du nur noch ein HierarchicalDataTemplate, mit dessen Hilfe festgelegt wird, WIE aus den Daten aus dem XmlDataProvider ein Menüpunkt werden soll, und natürlich ein Menü.


<HierarchicalDataTemplate x:Key="----DataTemplate-Ressourcenname----" ItemsSource="{Binding XPath=menu}">
    <AccessText Text="{Binding XPath=@name}"/>
</HierarchicalDataTemplate>

XPath natürlich anpassen an dein XML (das du uns leider vorenthalten hast).

...das Menü dann an den XmlDataProvider und das Template binden:


<Menu ItemsSource="{Binding Source={StaticResource ----XmlDataProvider-Resourcenname----}}" ItemTemplate="{StaticResource ----DataTemplate-Ressourcenname----}"/>

Das war's dann schon.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

4.942 Beiträge seit 2008
vor 6 Jahren

Das hatte ich schon unter Kontext-Menü erstellen gepostet.
Warum Hannes1234 jetzt noch mal eine Frage dazu stellt, obwohl er "Problem gelöst" geschrieben hat, erblickt sich mir nicht. 🤔

3.003 Beiträge seit 2006
vor 6 Jahren

(Sorry, hatte ich nicht gesehen 😮)){gray}

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

2.207 Beiträge seit 2011
vor 6 Jahren

Hallo zusammen,

ich hab mir mal geschlossen, weil es ja das gleiche ist wie bei Wie kann ich mit WPF ein Kontext-Menü erstellen? jedoch hier Infos sind, die nicht gelöscht werden sollen.

Gruss

Coffeebean

Thema geschlossen