none
MouseEnter-Event für Button aus einer Toolbar RRS feed

  • Frage

  • hey, ich habe mir eine toolbar gebastelt. In dieser werden im c# Code Buttons für jedes vorhande Laufwerk erstellt.

    Die Buttons sind also nicht im xaml-code enthalten. Jetzt will ich für jeden button das Mouseenter-event verarbeiten, kann diese aber nicht identifizieren.

    Ich habe bei bei der Toolbar einen eventhandler initialisiert>(Button.MouseEnter) doch der ist kein RoutedEvent und bietet mir somit keine e.OriginalSource Property an. Ich habelals als Sender des Events immer die Toolbar.

    Was kann ich tun, hat jemand eine Idee.

    Merci, bis denne 

    Dienstag, 31. August 2010 20:32

Antworten

  • Huhu!

    Zus. zum von Robert gelinkten Thread: Ich verstehe nicht, welches Problem Du mit der Identifizierung des Buttons haben könntest. Mal angenommen, Du brauchst code-seitigen Zugriff auf Deinen ToolBar, der so aussieht ...

    <ToolBar x:Name="toolbar">
      <Button x:Name="tbbtnAddNew" Content="Add ..." Click="tbbtnAddNew_Click"/>
    </ToolBar>
    
    

    ... und Du würdest zus. Buttons darin per Code erzeugen, dann könnte das so ausschauen:

    private void tbbtnAddNew_Click(object sender, RoutedEventArgs e)
    {
      Button btn = new Button() { Content = "Click me" };
      btn.MouseEnter += delegate
      {
       btn.Content = "No, don't click me!";
      };
      btn.MouseLeave+= delegate
      {
       btn.Content="Click me!";
      };
      toolbar.Items.Add(btn);
    }
    
    


    Cheers,
    Olaf
    http://blogs.intuidev.com
    Donnerstag, 2. September 2010 17:34

Alle Antworten

  • Hallo holzmcgyver,

    Schau Dir die folgende Diskussion an. Vielleicht findest Du etwas dass Dir weiter helfen kann.

    How to change ToolBar button image to change when mouseover

    Grüße,

    Robert

    Donnerstag, 2. September 2010 14:27
    Moderator
  • Huhu!

    Zus. zum von Robert gelinkten Thread: Ich verstehe nicht, welches Problem Du mit der Identifizierung des Buttons haben könntest. Mal angenommen, Du brauchst code-seitigen Zugriff auf Deinen ToolBar, der so aussieht ...

    <ToolBar x:Name="toolbar">
      <Button x:Name="tbbtnAddNew" Content="Add ..." Click="tbbtnAddNew_Click"/>
    </ToolBar>
    
    

    ... und Du würdest zus. Buttons darin per Code erzeugen, dann könnte das so ausschauen:

    private void tbbtnAddNew_Click(object sender, RoutedEventArgs e)
    {
      Button btn = new Button() { Content = "Click me" };
      btn.MouseEnter += delegate
      {
       btn.Content = "No, don't click me!";
      };
      btn.MouseLeave+= delegate
      {
       btn.Content="Click me!";
      };
      toolbar.Items.Add(btn);
    }
    
    


    Cheers,
    Olaf
    http://blogs.intuidev.com
    Donnerstag, 2. September 2010 17:34