2011-03-09 3 views

답변

2

당신이 확장기 제어에 대해 이야기하는 경우, 호출을하기 전에 자신의 PreviewExpanded 이벤트를 발생 시켜서 호출 할 수 있습니다. base.IsExpanded = value;

+0

그리고 전 세계적으로 더 나은 방법이 있습니까? 모든 확장기 컨트롤을 MyExpander로 바꾸고 싶지 않습니다. – WhoIsNinja

+0

IsExpanded가 DependencyProperty라는 사실을 활용할 수있는 방법이있을 수 있지만, 지금은 어떻게 확신 할 수 없습니다. –

+0

나는 또한 .net과 wpf에 초보자입니다. 사용자 정의 컨트롤을 만들고 해당 클래스에 이벤트를 추가하는 포인터는 큰 도움이 될 것입니다. – WhoIsNinja

3

당신이 있는지 확인하기 위해 확장이 PreviewExpanded 이벤트를 가지고 있지 주변에 가능한 일이 PreviewMouseDown 이벤트를 처리하고 적중 테스트를 할 수있는 미리보기 이벤트

를 사용할 수는 토글 버튼을 누릅니다.

다른 방법으로는 전혀 생각에 내가 이것을 테스트하지 않았다 의 라인을 따라 확장기 클래스 뭔가를 확장하는 것이 가능하다입니다 정말 작동

public class MyExpander: Expander 
{ 
    public event EventHandler<EventArgs> PreviewExpanded; 

    public void OnPreviewExpanded() 
    { 
     PreviewExpanded(this,new EventArgs()); 
    } 

    public override void OnExpanded() 
    { 
     PreviewExpanded() 
     base.OnExpanded(); 
    } 
} 
1

작업중인 개체가이 동작을 지원하면 일치하는 "미리보기"이벤트가 발생합니다. 따라서이 두 이벤트는 전후 일치 집합입니다. KeyDown() PreviewKeyDown()

Expander에는 확장 작업에 대한 미리보기 이벤트가 없습니다.

관련 문제