사용자 컨트롤 내에 두 개의 UIElement
탭 인덱스를 설정하려고합니다. 사용자 정의 컨트롤에는 텍스트 상자와 버튼이 있습니다. 나는 현재 첨부 된 속성을 통해 텍스트 상자에 적용되고 있지만 탭 키를 누르고 텍스트 블록에서 단추로 이동하거나 키 누르기 (Enter 키)를 감지하고 단추에서 명령을 트리거 할 수있는 기능을 원합니다. (나는 별도의 질문을 안다)MVVM에서 UIElements의 Silvelright -set tabindex
주요 초점은 탭 인덱스를 먼저 달성하는 것이다.
어떤 조언이나 제안에 감사드립니다.
UPDATE
나는했습니다 이것이 내가 tabIndex 속성이 존재하지 않는다는 것을 나는 오류가 컴파일 할 때 그러나 탭 순서를
public static DependencyProperty TabIndexProperty = DependencyProperty.RegisterAttached("TabIndex", typeof(int), typeof(AttachedProperties), null);
public static void SetTabIndex(UIElement element, int value)
{
Control c = element as Control;
if (c != null)
{
RoutedEventHandler loadedEventHandler = null;
loadedEventHandler = new RoutedEventHandler(delegate
{
HtmlPage.Plugin.Focus();
c.Loaded -= loadedEventHandler;
c.Focus();
});
c.Loaded += loadedEventHandler;
}
}
을 처리하기 위해 연결된 속성을 사용하려고하기 때문에 버튼 컨트롤 용. 이 아이디어가 실패한 이유는 무엇입니까?
Scott과 나는 다른 사람들이 코드가보기에 특정한 것이면 그 코드가보기 코드에서 처리 될 수 있다는 점을 들었다. – rlcrews
그럼 왜이 작업은 텍스트/단추의 TabIndex 속성 대신 연결된 속성을 사용하여 수행합니까? –
사용자 정의 컨트롤이 초기화 된 상태 (뷰에로드 된 경우)에서 xaml 내에서 TabIndex 속성이 설정되는 것을 방지합니다. Associated 속성을 사용하면 MVVM 프로젝트와 함께이 예외를 발견했습니다. – rlcrews