簡體   English   中英

文本框已聚焦,但直到我單擊后才能鍵入-XAML / C#/ WPF

[英]TextBox is Focused, but Can't Type Until I Click - XAML/C#/WPF

在一個有趣的情況下,我使用以下命令將焦點設置在搜索框上: FocusManager.FocusedElement="{Binding ElementName=SearchBox}"在這里找到了該問題: 將焦點設置在xaml wpf中的文本框中

好處是搜索框實際上是聚焦的(我有一個觸發器可以對焦點執行操作),但是只有在單擊文本框后才能在文本框中鍵入內容。

我的文本框非常基本:

<TextBox x:Name="SearchBox"
         Grid.Row="0"
         style="{StaticResource SearchBox}" />

知道我如何允許用戶在打開控件時立即輸入嗎?

請參閱以下鏈接: https : //docs.microsoft.com/zh-cn/dotnet/api/system.windows.input.focusmanager.focusedelement?redirectedfrom=MSDN&view=netframework-4.7.2#System_Windows_Input_FocusManager_FocusedElement

特別說明:

FocusedElement是具有針對特定焦點范圍的邏輯焦點的元素。 該對象可能具有鍵盤焦點,也可能沒有鍵盤焦點 鍵盤焦點是指接收鍵盤輸入的元素。 有關焦點,鍵盤焦點和邏輯焦點的更多信息,請參見輸入概述。

和: https : //docs.microsoft.com/zh-cn/dotnet/api/system.windows.input.focusmanager?redirectedfrom=MSDN&view=netframework-4.7.2

具有邏輯焦點的元素不一定具有鍵盤焦點,但是具有鍵盤焦點的元素將具有邏輯焦點。 可以在焦點范圍內定義焦點范圍。 在這種情況下,父焦點范圍和子焦點范圍都可以具有FocusManager.FocusedElement

在下面的文章中,您將找到一個處理此問題的示例: https : //stackoverflow.com/a/20299923/9295125

您也可以將其與xaml頁面的<window>標記一起使用

<Window x:Class="WpfApplication30.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" 
FocusManager.FocusedElement="{Binding ElementName=SearchBox}">
<StackPanel>
<TextBox x:Name="textBox1"/>
<TextBox x:Name="SearchBox"
style="{StaticResource SearchBox}" />
</StackPanel>
</Window>

暫無
暫無

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

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