我試圖在用戶控件中設置兩個UIElement
s的tab索引。用戶控件包含一個文本框和按鈕。我目前通過附加屬性將焦點應用於文本框,但是我希望能夠按Tab鍵並從Textblock導航到按鈕或檢測按下按鍵(回車鍵)並觸發按鈕上的命令(我知道單獨的問題)Silvelright -set MVVM中UIElements的tabindex
主要關注點是首先完成標籤索引。
感謝您的任何指示或建議。
UPDATE
因爲我已經嘗試使用附加屬性來處理Tab鍵順序
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;
}
}
然而,當這個我嘗試編譯我收到的錯誤,TabIndex屬性不存在爲按鈕控制。任何想法,爲什麼這是失敗?
我完全同意Scott和我聽到其他人的聲音相同,如果代碼是特定於視圖,它可以在後面的視圖代碼中處理。 – rlcrews 2011-05-10 21:13:10
那麼,爲什麼你要使用附加屬性來代替文本框/按鈕的TabIndex屬性呢? – 2011-05-10 21:47:31
從我發現,用戶控件如何初始化(在視圖中加載時)「防止」在xaml中設置TabIndex屬性。使用關聯屬性是我在這個異常中找到的解決方案(至少在MVVM項目中)。 – rlcrews 2011-05-11 03:54:07