2010-08-03 7 views
0

2 개의 textBox가 있습니다. 첫 번째는 보이지 않는 두 번째입니다. 첫 번째 textBox에서 keyDown 이벤트가 발생하면 두 번째 textBox에서 동일한 이벤트가 발생하므로 사용자가 두 번째 textBox에서 입력 한 것과 같은 반응을 보입니다.Silverlight에서 프로그래밍 방식으로 keyDown 이벤트를 생성하려면 어떻게해야합니까?

어떻게하면됩니까?


편집 : 난 당신 Windows.Forums에서이 작업을 수행 할 수 있습니다 알고 내가 너무 여기에서 할 수있는 것을 기대했다.

내 목표는 텍스트가 다른 두 개의 텍스트 상자를 사용하는 것이지만, 사용자가 첫 번째 텍스트 상자에 무엇인가 입력하면 같은 텍스트가 두 번째 텍스트 상자에 나타나야합니다.

예 : 첫 번째 텍스트 상자에 텍스트 :

<home> 
<number>75</number> 
<client>John</client> 
</home> 

텍스트 두 번째 텍스트 상자에

<home> 
<number id="123">75</number> 
<client id="345">John</client> 
</home> 

이제 사용자 유형과 같은 첫 번째 텍스트 상자에 새로운 텍스트 : 지금

<home> 
<number>150</number> 
<client>John</client> 
</home> 

그리고 이 새로운 텍스트는 다음과 같이 두 번째 텍스트 상자에 표시되어야합니다 :

<home> 
<number id="123">150</number> 
<client id="345">John</client> 
</home> 

그리고 이것은 값을 변경하는 경우에 한합니다. 사용자는 새 요소를 추가하거나 삭제하거나 순서를 변경하는 등의 작업을 할 수 있습니다.

내가 매핑 KeyEventArgs으로 시도했지만 내가 좋아하는 비 표준 키에 대한 느슨한 제어 : "<을 šđžćč>"

+0

TextChanged 

이다; 당신은 할 수 없습니다. 어쨌든 왜 그렇게하고 싶습니까? 아마도 당신에게 진정한 목표를 부여하는 또 다른 방법이있을 것입니다. – AnthonyWJones

답변

0

당신은 당신이 원하는 것처럼 보이는 방식으로 키보드를 모방 할 수 없다.

+0

좋아, 나는 첫 번째 게시물을 편집하여 내가하고 싶은 것을 분명히했다. – Gapipro

0

필요한 것은 이벤트 핸들러를 텍스트 상자에 추가하고 이벤트 핸들러가 첫 번째 텍스트 상자 값을 기준으로 두 번째 텍스트 상자 값을 업데이트하는 것입니다. 질문에 대한 답은 그대로 서 http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.textchanged(v=VS.95).aspx

private void FirstTextBox_TextChanged(object sender, RoutedEventArgs e) 
{ 
    SecondTextBox.Text = FirstTextBox.Text; 
} 
+0

아니요, 텍스트가 동일하지 않은 것을 보지 마십시오. 첫 번째 텍스트에는 특성이없고 두 번째 텍스트에는 특성이 있습니다. 이런 경우 텍스트를 복사하는 것이 제 경우에는 작동하지 않습니다. – Gapipro

+0

좋아,하지만 당신은 여전히 ​​내가 생각하는 이벤트 핸들러를 사용해야했다. eventhandler 내의 정규 표현식 마법일까요? 주어진 태그 사이의 텍스트 만 바꾸기 ? – texmex5

+0

태그도 변경 될 수 있으므로 순서가 복잡해 보이지만 그렇게 단순하지는 않습니다. 그래서 두 텍스트 상자간에 키 동기화를 수행하려고합니다. 그것은 그것을 할 수있는 유일한 방법과 같습니다. – Gapipro