[英]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.