2012-07-28 113 views
0

如何將默認焦點設置爲位於當前視圖中的子控件的文本框?將焦點設置在XAML中的子控件文本框中

<StackPanel Orientation="Vertical" FocusManager.FocusedElement="{Binding ElementName=SomeWidget.UnderTextBoxName}"> 
    <MyWidget x:Name="SomeWidget" Text="A" /> 
    <TextBox x:Name="TxtB" Text="B" /> 
</StackPanel> 

...認爲可能會工作,但沒有運氣?

回答

0

使用FocusedElement="{x:Reference Name=UnderTextBoxName}"。不需要綁定。

<StackPanel Orientation="Vertical" > 
     <MyWidget x:Name="SomeWidget" Text="A" FocusManager.FocusedElement="{x:Reference Name=UnderTextBoxName}"/> 
     <TextBox x:Name="TxtB" Text="B" /> 
</StackPanel> 

我希望這會有所幫助。

+0

對不起,我沒有試圖專注於TxtB,我想這讓我感到困惑,因爲我把它包含在那裏。我的MyWidget裏面有幾個小部件,其中一個是帶有x:Name = UnderTextBoxName的TextBox - 我怎樣才能讓焦點開始在那個上? – apokryphos 2012-07-28 20:40:38

+0

這只是一個例子,如果你想這麼做,那麼只需設置'FocusedElement =「{x:Reference Name = UnderTextBoxName}」'我已經更新了答案。 – ethicallogics 2012-07-29 03:27:10

+0

我不認爲這將工作,如果我有多個MyWidgets,因此多個文本框與x:name = UnderTextBoxName?是否有可能做一些像SomeWidget.UnderTextBoxName的引用? – apokryphos 2012-07-29 03:47:40