이것은 매우 이상한 요구 사항이지만 동작을 사용하여 수행 할 수 있습니다. 다음은 몇 가지 샘플 마크 업입니다 :
<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
를 추가 할 수 있습니다.