WPF:无法设置焦点

2024-03-16

我希望从 PreviewTextInput 处理程序创建一个新控件并将焦点设置到它。但即使在新控件上调用 Focus() 后,光标仍然位于旧文本框中。 处理程序 UserControl_PreviewTextInput 在包含此文本框的 UserControl 上注册(如果这很重要)。

private void UserControl_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
            CodeLineControl el = new CodeLineControl();
            container.Children.Insert(idx+1, el);
            el.innerTextBox.Focus();
}

CodeLineControl 的定义如下(简化):

<UserControl ..>
    <DockPanel Name="codeline"  Background="AntiqueWhite" >           
         <TextBox Name="innerTextBox"/>      
    </DockPanel>  
</UserControl>

Focus() 是否有一些我不知道的限制?我是否不允许将 Focus() 从 PreviewTextInput 处理程序中的 TextBox 移开?我不能将焦点设置在新创建的元素上吗?


这是我用来代替 Focus 的扩展方法:

    public static void BackgroundFocus(this UIElement el)
    {
        Action a = () => el.Focus();
        el.Dispatcher.BeginInvoke(DispatcherPriority.Background, a);
    }

无需创建计时器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF:无法设置焦点 的相关文章

  • MultiDataTrigger 使用 OR 而不是 AND

    我正在尝试设置多个DataTriggers on my Button 我做了一些研究发现MultiDataTrigger允许您执行此操作 我想要Visibility我的财产Button如果设置为 falseCCTVPath string E
  • 模态对话框是如何实现的?

    很长一段时间我一直想知道模态对话框是如何实现的 让我以Qt为例 几乎所有的GUI工具包都有这个机制 在主事件循环中 调用一个槽 并在该槽中打开一个模式对话框 在对话框关闭之前 槽不会将控制返回到主事件循环 所以我认为主事件循环被阻塞并且变得
  • 没有 GUI 的 Android Activity

    我创建了一个仅从链接启动的活动 使用意图过滤器 我不希望此活动有 GUI 我只希望它启动服务并在栏中放置通知 我尝试将链接的意图过滤器放入我的服务中 但这不起作用 有没有更好的方法可以响应意图过滤器 或者我可以让我的活动没有 GUI 吗 抱
  • 如何在 RichTextBox 中以编程方式移动插入符位置?

    我有一个 RichTextBox 其中的特殊文本位具有自定义格式 但是 存在一个错误 即插入字符后 插入符号会放置在新插入的字符之前而不是之后 这是因为对于每次编辑 代码都会重新计算内容以应用自定义格式 然后像这样设置 CaretPosit
  • WP8.1 C# 绑定联系人图像

    信息很简单 我正在尝试创建一个可以显示用户联系人的应用程序 我也是一名自学成才的程序员 所以我在某些方面有编程经验 但总体来说我对数据绑定相对较新 首先 我有一个 ListView 控件 其中包含图像绑定
  • 将 Python 控制台集成到 GUI C++ 应用程序中

    I m going to add a python console widget into a C GUI below some other controls 许多类将暴露给 python 代码 包括一些对 GUI 的访问 也许我会考虑 P
  • 如何在Wpf中的用户控件中调用MahApps Metro对话框

    当我尝试调用 MahApps Metro 对话框时 我在传递值时遇到错误 在传递参数时调用对话框控制时我需要传递 Metrowindow 参数 但我需要在用户控件中调用它 下面是当我需要对话框控制时我将调用的方法 public async
  • 滚动到 ScrollViewer 末尾的最佳方法

    目前 当我添加新项目时 我让代码自动滚动到末尾的唯一方法如下 XAML
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • VisualStateManager 和生成的转换

    正当我以为我明白的时候VisualStateManager 有些事情证明我错了 我正在使用 WPF 4 并且尝试简单地在鼠标悬停时放大某个项目 并在鼠标离开时将其缩小 我想我只需定义每个状态VisualStateGroup然后指定一个Vis
  • mvc显示模板中当前项目的索引

    我有一个带有显示模板的 mvc 页面 如何获取显示模板中呈现的当前项目的索引 它在名称属性中产生正确的可绑定结果
  • Winforms 中的 WPF ElementHost 最大化时崩溃 (Windows)

    我正在尝试将新的 WPF 控件集成到现有的 WinForms 应用程序中 并使用 ElementHost Dock Fill 来托管以下 XAML UserControl NET 4 当我将 WinForm 设置为最大化时 我的整个操作系统
  • ListView ItemContainerStyle 模板

    我创建了用作 ListView 项目模板的样式 其中包含 CheckBox 和 TextBlock
  • 如何从代码隐藏访问ListBox动态创建的项目的属性?

    XAML
  • 在 React 中切换 css 类

    如何使用布尔值切换 React 中元素上 css 类的存在 在 Angular 2 中我可以这样做 class red isRed 如何在 React 中做熟悉的事情 在 React 中 元素使用如下语法获取它们的类 div div 但请注
  • 先学Silverlight还是先学WPF?

    看来 Silverlight WPF 是 NET 用户界面开发的长期未来 这很棒 因为我可以看到在客户端和 Web 开发端重用 XAML 技能的优势 但看看 WPF XAML Silverlight 它们似乎是非常庞大的技术 那么从哪里开始
  • 如何在运行时添加到 TreeView 目录

    我有一个TreeView我想允许用户添加和删除子项目 在探索基本功能时 我使用button and a textbox添加此子项 当用户点击button a new TreeViewItem需要创建并设置为我的父项的子项TreeView与t
  • CommandManager.InvalidateRequerySuggested 不会导致对 MVVM-Light 中的 CanExecute 进行重新查询

    我正在使用 MVVM Light RelayCommand private ICommand myRevertCmd public ICommand Revert get if myRevertCmd null myRevertCmd ne
  • WPF 处理文本、图像和文件粘贴事件

    我正在开发一个 WPF 应用程序 我想捕获 RichTextBox 输入中的粘贴命令并处理粘贴的文件 为此 我使用以下回调
  • WPF - 如何从 DataGridRow 获取单元格?

    我有一个具有交替行背景颜色的数据绑定 DataGrid 我想根据单元格包含的数据对单元格进行不同的着色 我已经尝试过该线程建议的解决方案 http wpf codeplex com Thread View aspx ThreadId 511

随机推荐

  • 如何学习阿格达

    我正在努力学习agda 但是 我遇到了一个问题 我在 agda wiki 上找到的所有教程对我来说都太复杂了 并且涵盖了编程的不同方面 在并行阅读了 3 个关于 agda 的教程后 我能够编写简单的证明 但我仍然没有足够的知识来使用它来实现
  • 调用随机函数 Javascript,但不能调用同一函数两次

    我使用一个随机选择另一个有效函数的函数 但有时它会连续运行相同的函数两次甚至更频繁 有办法防止这种情况吗 我当前的代码 window setInterval function var arr func1 func2 func3 rand M
  • Node.js - 异步模块加载

    是否可以异步加载 Node js 模块 这是标准代码 var foo require foo js waiting for I O foo bar 但我想写这样的东西 require foo js function foo foo bar
  • 如何以编程方式获取 Google Cloud 定价详细信息?

    谁能告诉我如何以编程方式从 Google Cloud 网站获取 Google Cloud 定价详细信息 例如 Google Compute Engine Google Cloud Storage Google Cloud SQL 等的定价
  • Android 中的多屏幕 xml

    我正在开发2 2版本的android xml是根据这个版本设计的 模拟器规格 2 2版 内置 HVGA 内存 1024 现在我需要将此应用程序转换为4 0版本的三星galaxy s3 但屏幕非常拉伸 看起来不太好 如果有任何帮助 请提前致谢
  • Cloudinary - 上传预设必须位于未签名上传的白名单中

    我想将图像上传到 Cloudinary 使用 cordova 相机插件直接从 Ionic 中的相机拍摄 我收到代码 1 的错误 并显示消息 上传预设必须位于未签名上传的白名单中 如何解决这个错误 请帮忙 我编辑的js代码是 scope ca
  • 打印词性以及单词的同义词

    我有以下代码 用于从输入文本文件中获取单词并使用 WordNet 打印该单词的同义词 定义和例句 它根据词性将同义词与同义词集分开 即动词的同义词和形容词的同义词分别打印 例如 flabbergasted 一词的同义词有 1 flabber
  • Junit - Spring boot:测试时@Value始终为null

    有一个 Value注释的常量 在运行测试时没有被初始化 当构造函数中需要它时 它会抛出NullPointerException 要测试的示例类 class TestClass Value test value1 private String
  • laravel 中的 Auth::login($user) 无法登录用户

    我在用拉拉维尔 5 4 and 验证 登录 用户 显示类型错误 传递给 Illuminate Auth SessionGuard login 的参数 1 必须 实现接口 Illuminate Contracts Auth Authentic
  • 无需访问服务器或 phpMyADMIN 即可导出 SQL 表的简单方法

    我需要一种方法来轻松地将 MySQL 表中的数据从远程服务器导出然后导入到我的家庭服务器 我无法直接访问服务器 也没有安装 phpMyAdmin 等实用程序 不过 我确实有能力将 PHP 脚本放在服务器上 我如何获取数据 我问这个问题纯粹是
  • 什么是具有强度 1 边缘矩阵的设备互连 StreamExecutor

    我有四个 NVIDIA GTX 1080 显卡 当我初始化会话时 我看到以下控制台输出 Adding visible gpu devices 0 1 2 3 Device interconnect StreamExecutor with s
  • 函数的侦听器无法启动。 Azure.Storage.Blobs:服务请求失败

    我有一个包含普通函数和计时器函数的 Azure Function 项目 计时器功能突然停止工作并出现错误 The listener for function Function1 was unable to start Azure Stora
  • Eclipse 中有重新运行最近启动的程序的快捷方式吗?

    我使用 Eclipse 最常做的事情之一就是重新运行上一个程序 我这样做是为了运行 gt 运行历史记录 gt 最上面的项目 有没有快捷键可以做到这一点 I know of CTRL F11 but this does not work fo
  • Laravel 5.2 中应用于 API 路由的 Web 中间件

    我有以下路线 Route group prefix gt api v1 middleware gt api function Route resource authenticate AuthenticateController only g
  • 为什么DFS和BFS的时间复杂度都是O( V + E )

    BFS的基本算法 set start vertex to visited load it into queue while queue not empty for each edge incident to vertex if its no
  • 替换 Haskell 中的单个列表元素?

    我有一个元素列表 我希望更新它们 由此 Off Off Off Off 对此 Off Off On Off 由于我对 Haskell 有点陌生 所以我一直在使用 x xs y使用以下函数提取和更新各个组件 replace y z repla
  • 如何将具有多个“from”的 LINQ 表达式从查询语法转换为方法语法? [复制]

    这个问题在这里已经有答案了 我正在使用实体框架 我如何在 Lambda C 中编写以下 Linq 代码 var users from u in context Users ToList from e in u Events where e
  • FFMpeg 连续实时图像到视频编码

    我正在尝试使用 FFMpeg 获取图像文件流并将其转换为视频 现在 我已经成功地做到了这一点 但前提是我已经捕获了所有我想要的图像 我想做的是将图像保存到磁盘 实时录像机 时将其转换为视频 目前 当我在仍在抓取帧的情况下调用 FFMpeg
  • 对稀疏矩阵行求和的最快方法

    我有一个大的 csr matrix 1M 1K 我想添加行并获得一个具有相同列数但行数减少的新 csr matrix 其实我的问题和这个完全一样对 scipy sparse csr matrix 中的行求和 https stackoverf
  • WPF:无法设置焦点

    我希望从 PreviewTextInput 处理程序创建一个新控件并将焦点设置到它 但即使在新控件上调用 Focus 后 光标仍然位于旧文本框中 处理程序 UserControl PreviewTextInput 在包含此文本框的 User