Entwickler-Ecke

WPF / Silverlight - MenuItem


Kouran - Do 05.07.07 20:44
Titel: MenuItem
hallo allerseits,
ich habe folgendes problem: ich habe in expression blend ein formular mit einem listView auf dem ich ein contextMenu gebastelt habe. in dem contextMenu befindet sich momentan 1 MenuItem. im prinzip möchte ich nur ein normales event haben (so etwas wie button click) damit ich code ausführen kann sobald, jemand die schaltfläche anklickt,... ist so etwas möglich? ich habe nur den "commands" eintrag gefunden, mit dem man commands ausführen kann,.. leider konnte ich auch kein command in ApplicationCommands finden mit dem ich eine vorher deklarierte methode ausführen kann...
weiß vielleicht jemand wie mit dem ausführen einer methode auf das klicken im menü reagiere?

vielen dank schonmal im voraus

tom


Christian S. - Do 05.07.07 20:52

Hallo!

Ein MenuItem hat ein Click-Ereignis wie ein Button. Das sollte doch passen :-)

Grüße
Christian


Kouran - Fr 06.07.07 12:00

hey,
genau an dieses cllick Ereignis muß ich ran kommen. Allerdings hat Blend kein Menü in dem ich die Ereignisse für die menu items aufgelistet habe. Bei Buttons etc steht dass immer unter Properties-Ereignisse und per Doppelklick auf das Eriegnis fügt er mir den Event-Handler im VS ein. Wenn ich den Handler von Hand schreiben wollte, dann müßte ich wissen wie ich dieses spezielle MenuItem ansprechen muß,.....
kann das einfach nicht finden

thx schonmal,.....
tom


Kouran - Fr 06.07.07 12:13

EDIT: habe das ganze gerade ohne blend im VS form designer probiert, da geht es ohne probleme, da kann ich mir auch die event von menu items einblenden,.... das muß nur noch in blend funktionieren, da ich keine ahnung habe was für einen bezeichner blend dem menü gibt,....


Christian S. - Fr 06.07.07 12:19

Wieso weist Du dem MenuItem nicht einfach im XAML-Code ein entsprechendes Event zu und legst die Methode (ist ein RoutedEvent) im C#-Code an?


Kouran - Fr 06.07.07 12:26


XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
<ListBox AllowDrop="True" Margin="43,8,56,113" x:Name="simpleList" Style="{DynamicResource SimpleListBox}" Background="#33FF4848" Foreground="#33000000" Grid.Row="1" IsSynchronizedWithCurrentItem="True">
      <ListBox.ContextMenu>
        <ContextMenu>
          <MenuItem Header="foo1"/>
          <Button Content="fooButton"/>
        </ContextMenu>
      </ListBox.ContextMenu>
    </ListBox>



das ist der entwprechende bereich der xaml datei, kannst du mir vielleicht sagen welchen code ich hinter das menu item schreiben muß um das event zu erzeugen

danke
tom

Moderiert von user profile iconChristian S.: XML-Tags hinzugefügt


Kouran - Fr 06.07.07 12:39

EDIT: ok habs geschafft vielen dank ^^


Christian S. - Fr 06.07.07 13:21

Dann schreib doch dazu, wie Du es geschafft hast, damit andere auch etwas davon haben.