Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Event aus ResourceDictionary
Camouflagezebra
myCSharp.de - Member



Dabei seit:
Beiträge: 10
Herkunft: Österreich

Themenstarter:

Event aus ResourceDictionary

beantworten | zitieren | melden

Hallo,

Ich habe einen Button in einem ResourceDictionary, das in mein MainWindow-XAML eingebunden ist.

Nun möchte ich eine Click-Event für diesen Button erstellen das im CodeBehind des MainWindow ausgeführt werden soll.

<ResourceDictionary 
                    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:s="clr-namespace:label">

    <Grid x:Key="MyLabelEditor" Margin="0,5,0,5">
<!-- ... -->
        <TextBox Grid.Row="9" Grid.Column="0" Grid.ColumnSpan="2" Margin="4,0,10,0" Text="{Binding Path=labelName, Mode=TwoWay}"/>

        <Button Name="btnCreate" Content="Erstellen" Grid.Row="10" Grid.Column="1" Margin="4,10,10,0" Click="btnCreateClick"/>

    </Grid>

</ResourceDictionary>   


  public partial class MainWindow : Window
    {
        private LabelBlock lb = new LabelBlock();

        public MainWindow()
        {
            InitializeComponent();
            this.DataContext = lb;               
        }

        private void btnCreateClick(object sender, RoutedEventArgs e)
        {
// ...
        }
    }

Wenn ich es so versuche kommt mir folgende Fehlermeldung:
Für das Stammelement "ResourceDictionary" ist ein x:Class-Attribut erforderlich, damit Ereignishandler in der XAML-Datei unterstützt werden. Entfernen Sie entweder den Ereignishandler für das Click-Ereignis, oder fügen Sie dem Stammelement ein x:Class-Attribut hinzu.

Mir ist klar dass er ein CodeBehind für das ResourceDictionary will, aber dass will ich nicht ;)

Komischerweise kann ich aus dem gleichen RD ein Binding erstellen das den DataContext des MainWindow betrifft.

Kann ich auf einfache weiße das Event im CodeBehind des MainWindow auslösen?
bzw. Muss ich dafür wirklich ein RoutedCommand im MainWindow erstellen oder gibts da eine andere Lösung?
Unter Umständen muss ich noch ziemlich viele Buttons erstellen und ich will nicht jedes mal über RoutedCommand und CommandBindings lösen müssen.

greetz
zebra
private Nachricht | Beiträge des Benutzers