요소가 DataTemplate의 일부이고 요소의 탭 인덱스가 고유하게 정의 된 경우 요소를 가져 오거나 탭에 포커스 (예 : TextBox)를 설정할 수 있습니까?WPF. 그것은 탭 인덱스에 의해 요소에 포커스를 설정하는 방법?
1
A
답변
3
VisualTreeHelper은 템플릿을 통해 만들어진 모든 요소를 검색 할 수 있습니다.
따라서 기존 요소의 TabIndex를 확인하고 원하는 요소를 찾을 수 있습니다 (탭 색인은 정말 고유합니다 :). 또한 DataTemplate에서 엘레멘트의 이름을 지정하고 이름의 필터를 지정할 수 있습니다.
다음 함수를 사용하면 주어진 유형의 시각적 트리의 모든 요소를 찾을 수 있습니다.
void FindChildFrameworkElementsOfType<T>(DependencyObject parent,IList<T> list) where T: FrameworkElement{
DependencyObject child;
for(int i=0;i< VisualTreeHelper.GetChildrenCount(parent);i++){
child = VisualTreeHelper.GetChild(parent, i);
if (child is T) {
list.Add((T)child);
}
FindChildFrameworkElementsOfType<T>(child,list);
}
}
전화를 다음과 같이 rootObject
는 당신의 창 또는 기본 컨트롤로 루트 개체입니다
List<TextBox> textBoxList=new List<TextBox>();
FindChildFrameworkElementsOfType<TextBox>(rootObject,textBoxList);
. 모든 텍스트 상자의 목록을 얻을 수 있으며이 목록은 탭 인덱스 또는 확인할 속성을 확인할 수 있습니다.
이 함수를 호출하기 전에 트리를 빌드해야합니다. 위의 패턴이 작동하지 않는 몇 가지 상황이 있습니다 (예 : 목록에서 UI 가상화.
관련 문제
- 1. Simplemodal - onShow 함수에서 요소에 포커스를 설정하는 방법
- 2. ItemsControl에서 요소에 포커스를 설정하는 방법은 무엇입니까?
- 3. jquery를 사용하여 li 페이지로드에 탭 포커스를 설정하는 방법
- 4. TLFTextfield 개체에 포커스를 설정하는 방법
- 5. 페이지로드 이벤트에서 텍스트 상자에 포커스를 설정하는 방법
- 6. JavaScript는 요소에 포커스를 전달하지 않습니다.
- 7. ASP.NET의 탭 인덱스에 대한 기본 클래스
- 8. 모든 WPF 구성 요소에 적용되도록 CurrentCulture를 설정하는 가장 좋은 방법
- 9. ASP.NET의 웹 컨트롤에 포커스를 설정하는 방법
- 10. div 요소에 포커스를 어떻게 모방합니까?
- 11. jquery에서 탭 순서를 설정하는 방법
- 12. CoreText에서 탭 정지를 설정하는 방법
- 13. Tapestry5에서 영역 업데이트 후 포커스를 설정하는 방법
- 14. 선택한 경우 TreeViewItem의 컨트롤에 포커스를 설정하는 방법
- 15. 활동이 시작될 때 TextView에 포커스를 설정하는 방법?
- 16. DataGridview의 새 행에 포커스를 설정하는 방법 - vb.net
- 17. Rich Faces panelBarItem에서 포커스를 설정하는 방법은 무엇입니까?
- 18. WPF ListBox 항목의 인덱스에 바인딩
- 19. 이 Acessing 인덱스에 의해 같은 객체하지만 이름으로
- 20. WPF : 포커스를 설정할 수 없습니다.
- 21. 기본 포커스를 설정하는 방법은 무엇입니까?
- 22. wpf listview가 포커스를 잃었습니다.
- 23. NSTextView - 탭 스톱을 미리 설정하는 방법?
- 24. GridSplitter가 WinForm 요소에 의해 숨겨 짐
- 25. XSD 요소에 기본 datetime 값을 설정하는 방법
- 26. 작은 mce 내부의 요소에 id를 설정하는 방법
- 27. HTML 요소에 배경 이미지를 일관되게 설정하는 방법
- 28. MappedSuperclass에서 인덱스에 주석을 붙이는 방법
- 29. RTF를 WinForms에서 WPF RichTextBox로 설정하는 방법
- 30. 누구나 WPF 포커스를 디버깅하는 좋은 방법이 있습니까?
예! 그게 내가 필요한거야! 이 얼마나 소중한 기능! 고맙습니다! –