2011-03-24 7 views
0

런타임에 생성되는 내부 요소가있는 여러 개의 테두리 요소가 있습니다. 나는 그들을 산란시킬 수 있었지만 지금은 MouseEnter, Click 등과 같은 이벤트를 그들과 연관시키고 싶습니다. 그러나 나는 어떻게 해야할지 모르겠습니다. 각 테두리 요소에 고유 한 이름 (Name 속성)을 연결하여 필요할 때마다 작업 할 수있었습니다. 어떻게 C#에서 생성 된 Border 요소 각각에 이벤트를 추가 할 수 있습니까? 아래처럼 라우팅 이벤트를 호출 할 필요가 뒤에 테두리 또는 코드 스타일을 정의하여이동적으로 생성 된 WPF 요소에 이벤트 추가

border.MouseEnter += new MouseEventHandler(border_MouseEnter); 

void border_MouseEnter(object sender, MouseEventArgs e) 
{ 
    throw new NotImplementedException(); 
} 

답변

2
<Style x:Key="BorderNameStyle" TargetType="{x:Type BorderName}"> 
       <EventSetter Event="MouseEnter" Handler="itm_MouseEnter"></EventSetter> 
       <EventSetter Event="MouseLeftButtonUp" Handler="itm_MouseLeftButtonUp"></EventSetter> 
       <EventSetter Event="PreviewMouseRightButtonUp" Handler="itm_MouseRightButtonUp"></EventSetter> 
       <EventSetter Event="MouseLeave" Handler="itm_MouseLeave"></EventSetter> 
       <EventSetter Event="MouseDoubleClick" Handler="ItemMouseDoubleClick"></EventSetter> 
</Style> 

같은

2

사용.

border.MouseEnter += new MouseEventHandler(border_MouseEnter); 

    void border_MouseEnter(object sender, MouseEventArgs e) 
    { 
     Button btn = new Button(); 
     btn.Click += new RoutedEventHandler(btn_Click); 
    } 
    void btn_Click(object sender, RoutedEventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 
관련 문제