2012-01-10 52 views
4

我想寫一個自定義控件,它有一個文本框和一個列表框內的模板。 但我發現,當我在文本框中輸入文本(因此TextBox有焦點)時,ListBox顯示爲未聚焦。這使得我的控件看起來像兩個不同的控件。如何使兩個控件apear聚焦?

我在MSDN上讀到,在WPF中有一些名爲FocusScope的東西,但我沒有成功。

所以我的問題是我怎麼能讓ListBox和TextBox控件顯示爲聚焦時,其中一個有鍵盤焦點?

回答

0

設置IsFocusScope物業周邊面板(這裏的StackPanel): 列表框和文本框在被集中

<StackPanel FocusManager.IsFocusScope="True"> 
    <ListBox > 
     <ListBoxItem>Item1</ListBoxItem> 
     <ListBoxItem>Item2</ListBoxItem> 
    </ListBox> 

    <TextBox>Enter Text here...</TextBox> 
    </StackPanel> 
+0

一個焦點範圍工作不同方面一起處理。它定義了恰好一個元素具有邏輯焦點的範圍,以及它是活動範圍還是鍵盤焦點的範圍。有關更多詳細信息,請參閱http://msdn.microsoft.com/en-us/library/ms754010.aspx#focus。 – 2012-01-10 19:23:36

+0

我沒有提到,在我的情況下ListBox是在彈出框中,但TextBox不是。 – 2012-01-11 17:05:40