簡體   English   中英

C#WPF設置焦點TabItem

[英]C# WPF Set Focus TabItem

我有一個TabControl,我想將焦點設置在文本框的firsttab上。

我試圖在代碼中使用:

 this.tabItemMerkmalAllgemein.Focus();
 this.textBoxMerkmalBezeichnung.Focus();

如果選擇了第二個選項卡,則此后將選擇第一個選項卡,但在文本框上沒有光標顯示,因此文本框焦點無效。

XAML TabControle:

<TabControl Width="359" Grid.Column="1" Style="{StaticResource EditDialogTabControl}" Name="tabControlMerkmalDetails" Margin="4,0,0,0">
                        <TabItem Header="Allgemein" Name="tabItemMerkmalAllgemein" GotFocus="tabItemMerkmalAllgemein_GotFocus">

…
 <Label      Grid.Row="0" Style="{StaticResource EditDialogLabel}" Content="Bezeichnung"/>
               <TextBox x:Name="textBoxMerkmalBezeichnung"    Grid.Row="0" Grid.Column="1" 
                  Style="{StaticResource EditDialogTextBox}" MaxWidth="300"
Text="{Binding Path=bezeichnung, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
TextChanged="textBoxMerkmalBezeichnung_TextChanged"      LostFocus="textBoxMerkmalBezeichnung_LostFocus" />
…
                        </TabItem>
                        <TabItem  Name="tabItemKostenpflichtig">
…
                        </TabItem>
                    </TabControl>
                </Grid>
            </TabItem>

您需要將TabItem的聲明更改為:

<TabItem FocusManager.FocusedElement="{Binding ElementName=textBoxMerkmalBezeichnung}" 
Header="Allgemein" Name="tabItemMerkmalAllgemein" GotFocus="tabItemMerkmalAllgemein_GotFocus">

重要的部分是增加了FocusManager.FocusedElement附加屬性。 您可以從MSDN的FocusManager.FocusedElement附加屬性頁面中找到更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM