내 응용 프로그램에는 개체에 대한 몇 가지 구성을 나타내는 Usercontrol이 있습니다. 내부에는 상기 객체의 이름을 포함하는 Texblock이 있습니다. 이 Textblock을 클릭하여 텍스트 상자로 바꿔서 이름을 편집 할 수 있기를 원했습니다.텍스트 상자를 클릭 할 때 텍스트 상자의 바인딩을 업데이트하는 방법
가 나는
- 그것이
- 표시되었을 때에
- 이득 키보드 포커스를 누르면 입력 뷰 모델의 값을 설정합니다 다음과 같은 3 개 행동을 할 뷰 모델의 값을 설정 할 때 마우스를 텍스트 상자 외부를 클릭 (콤보가하는 것처럼)
3. 가 어떻게 내 텍스트 상자가 REQ를 충족하기 위해 얻을 수에 나는 현재 붙어 uirement 3 - 텍스트 상자를 클릭하면 값이 설정됩니다. 다른 첨부 파일 동작을 구현하기 위해 일부 첨부 파일 동작을 구현했지만 마우스를 작동시키지 못합니다.
나는 시도 다음 가 이
-
-이 내용은 마우스 다운 텍스트 상자도 UserControl을에서
- 추가 PreviewMouseDown에있을 때 감지받을 것으로 보인다는 -이 경우에도 맞고 보인다 텍스트 상자가 클릭됩니다. 또한 그것은 내 윈도우 안에 유일한 usercontrol되지 않습니다 그래서 그것은 더 큰 규모로 작동하지 않습니다.
- PreviewMouseDownOutsideCapturedElement를 추가했으나 발사 할 수 없습니다. 모두 UpdateSourceTrigger과 이벤트로 초점을 잃어버린
- 은 - 당신이 다른 입력 필드를 클릭보다는 다음과 같이 내 텍스트 상자에 대한
코드를 클릭 할 때 만 작동합니다.
<TextBox x:Name="text" VerticalAlignment="Center"
Margin="5,2,0,0"
Text="{Binding Name, Mode=TwoWay}"
Visibility="{Binding IsEditingName, Converter={StaticResource VisConverter}, FallbackValue=Collapsed}"
b:FocusBehaviours.ShouldFocusWhenVisible="True"
b:InputBehaviours.UpdatePropertySourceWhenEnterPressed="TextBox.Text"/>
가 나는 수많은 SO 게시물에서 검토 한 결과 그들 중 누구도 그들 모두가 내가 할 수없는 창/UserControl을에 추가 추천이 나를 도울 수있을 것 같다.
'UpdateSourceTrigger'를'LostFocus '로 설정하는 방법은 무엇입니까? – Pikoh
@ Pikoh 다른 텍스트 상자 또는 콤보 상자를 클릭하기보다는 클릭하는 경우에만 작동합니다. LostFocus가 Binding과 Event 모두에서 의미하는 바는 내가 쓰고있을 때 정확한 이름을 기억하지 못했기 때문에 더 명확하게 편집 할 것입니다. 감사합니다 – Keithin8a
좋아, 그래서 당신이 다른 컨트롤 에서뿐만 아니라, 내가 맞습니까 사용자 컨트롤에서 아무 곳이나 클릭하면 의미합니까? 그렇다면 왜 사용자 컨트롤을 포커스 할 수있게 만드시겠습니까? 나는 그것이 더 쉬운 방법이라고 생각한다 ... – Pikoh