2011-02-17 4 views
1

프로그래밍에 익숙하지 않으므로 다음에 대한 설명이 필요합니다 ...이벤트 핸들러를 사용하지 않고 한 창에서 다른 창으로 제어를 전송하는 방법은 무엇입니까?

텍스트가 자동으로 생성되는 텍스트 상자가 있습니다. 요구 사항은 : 지금 새로운 WPF 창이 열립니다 텍스트 상자에 텍스트를 강조하면 .. 는

감사합니다 :) 시하십시오 (이 WPF 연결된 속성에서 명령 만 /되지 이벤트 중 하나를 사용하여 수행 할 필요가있다) 회신에 대한 자세한 코드를 제공하십시오 ..

답변

0

이것은 매우 이상한 요구 사항이지만 동작을 사용하여 수행 할 수 있습니다. 다음은 몇 가지 샘플 마크 업입니다 :

<Grid> 
    <TextBox Text="This is some text"> 
     <i:Interaction.Behaviors> 
      <local:NewWindowOnSelectBehavior/> 
     </i:Interaction.Behaviors> 
    </TextBox> 
</Grid> 

여기에 데모 용으로 메시지 상자를 표시하는 동작입니다 :

public class NewWindowOnSelectBehavior : Behavior<TextBox> 
{ 
    protected override void OnAttached() 
    { 
     AssociatedObject.SelectionChanged += (s, e) => 
     { 
      if (!string.IsNullOrEmpty(AssociatedObject.SelectedText)) 
       MessageBox.Show("New Window"); 
     }; 
    } 
} 

이 예는 동작을 사용합니다. 당신이 행동에 익숙하지 않은 경우, 익스프레션 블렌드 4 SDK를 설치하고이 네임 스페이스를 추가

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

및 프로젝트에 System.Windows.Interactivity를 추가 할 수 있습니다.

관련 문제