2011-04-23 3 views
0

다른 컨트롤에서 정의 된 함수를이 컨트롤의 이벤트 핸들러로 사용하고 싶습니다. 바인딩을 사용하여이를 수행 할 수있는 방법이 있습니까? 또는 바인딩은 이벤트 처리기가 아닌 속성에 대해서만 사용할 수 있습니까? 예를 들어다른 사용자 정의 컨트롤에 정의 된 함수를 현재 이벤트 처리기로 바인딩 할 수 있습니까?

:

public partial class Measurement : UserControl { 
    public void Measure2Tool(object sender, EventArgs e) {} 
} 

내가 검색 컨트롤의 KeyDown 이벤트 처리기에 대한 이벤트 핸들러로 Measure2Tool 기능을 지정하는 바인딩을 사용할 수 : 뒤에 측정 코드에서

<my:Search x:Name="queryControl" KeyDown=""/> 
<my:Measurement x:Name="measureTool" /> 

? 방법?

입력 해 주셔서 감사합니다.

웨이

답변

0

이벤트 바인딩을 허용하지 않기 때문에 직접 그렇게 할 수 없습니다. 이를 달성하기 위해 할 수있는 것은 CallMethodActionEventTrigger (처리하려는 이벤트)과 같은 사용 동작입니다. 이 도움이

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" 

희망 :

+0

많은 감사, AbdouMoumen와

<my:Search x:Name="queryControl> <i:Interaction.Triggers> <i:EventTrigger EventName="KeyDown"> <ei:CallMethodAction TargetObject="{Binding ElementName=measureTool}" MethodName="{Binding Measure2Tool}"/> </i:EventTrigger> <i:Interaction.Triggers> <my:Search x:Name="queryControl> 

. 나는 이것이 효과가 있는지보기 위해 노력할 것이다. – lwconquer

관련 문제