none
How can i suscribe to the annotations klick event? RRS feed

  • Frage

  • Hey,

    i'd like to suscribe to the annotations klick event ( when someone klicks on a text annotation ) and prevent the text box from opening and instead calling a method with the text string as a parameter. Does someone have an idea how i could do that?

    Thanks


    EDIT:
    Found it out :

    <Window.Resources>
      <Style TargetType="{x:Type StickyNoteControl}">
       <EventSetter Event="ButtonBase.Click" Handler="ButtonOnClick" />
      </Style>
     </Window.Resources>
    

     

    Now i'd like to know where to get the content of the sticky note from ..


    EDIT:

    Additional Info: i'm working with a document viewer in wpf.

    Freitag, 22. April 2011 10:37

Antworten

  • schau mal ob du über das Template Property an die RichTextBox oder den InkCanvas (je nach Typ) rankommst.
    Dann kannst du den Inhalt darüber auslesen...

     

    private void ...Click(object sender, ..Args.. e)
    
    
    
    {
    
    
    
    
    
    
    
    object content = null;
    
    
    
    
    
    
    
    StickyNoteControl snc = object as StickyNoteControl;
    
    
    
    if (snc != null)
    
    
    
    {
    
    
    
    
    
    
    
    ContentControl cc = (ContentControl )snc.Template.FindName("PART_ContentControl", snc);
    
    
    
    
    
    
    
    RichTextBox rtb = cc as RichTextBox;
    
    
    
    if (rtb != null)
    
    
    
    {
    
    
    
    ...
    
    
    
    }
    
    
    
    
    
    
    
    
    
    
    
    }
    
    
    
    }



    • Als Antwort markiert raphi011 Dienstag, 26. April 2011 13:34
    Dienstag, 26. April 2011 12:32
    Beantworter

Alle Antworten

  • Does nobody have any idea?

    Dienstag, 26. April 2011 05:49
  • Hast du schonmal versucht den sender im Eventhandler zu casten. Dann kannst du den Inhalt aus dem Objekt auslesen.

     

    Dienstag, 26. April 2011 09:26
    Beantworter
  • Hm, ist hier alles in deutsch oder wie? Jap, war gleich das erste was ich versucht habe, aber man kann aus dem sticky note den inhalt nicht herausbekommen .. leider

    Dienstag, 26. April 2011 11:39
  • Wer ist denn der Hersteller des StickyNoteControls?

    Dienstag, 26. April 2011 11:48
    Beantworter
  • Das ist ein control aus dem annotations framework von microsoft!!
    Dienstag, 26. April 2011 12:04
  • schau mal ob du über das Template Property an die RichTextBox oder den InkCanvas (je nach Typ) rankommst.
    Dann kannst du den Inhalt darüber auslesen...

     

    private void ...Click(object sender, ..Args.. e)
    
    
    
    {
    
    
    
    
    
    
    
    object content = null;
    
    
    
    
    
    
    
    StickyNoteControl snc = object as StickyNoteControl;
    
    
    
    if (snc != null)
    
    
    
    {
    
    
    
    
    
    
    
    ContentControl cc = (ContentControl )snc.Template.FindName("PART_ContentControl", snc);
    
    
    
    
    
    
    
    RichTextBox rtb = cc as RichTextBox;
    
    
    
    if (rtb != null)
    
    
    
    {
    
    
    
    ...
    
    
    
    }
    
    
    
    
    
    
    
    
    
    
    
    }
    
    
    
    }



    • Als Antwort markiert raphi011 Dienstag, 26. April 2011 13:34
    Dienstag, 26. April 2011 12:32
    Beantworter
  • Das hat super funktionier!! Danke, jetzt muss ich nur noch schauen wie ich verhinder dass die beim laden schon auftauchen!
    Dienstag, 26. April 2011 13:34