使用 MahApps 将焦点设置到 InputDialog 中的输入框
Setting focus to input box in an InputDialog using MahApps
我们基于 MahApps Dialog examples 的 InputDialog 创建了自己的搜索对话框,它确实有效,但有两个问题:
- 打开时它不会自动聚焦在搜索字段中,因此您必须在开始键入搜索之前单击它
- 如果可能,我们希望自动select列表中的第一个条目,这样您就不需要先select列表中的条目,然后点击确定按钮
你能帮忙解决其中一个问题吗?第一个是最重要的,因为用户在注意到焦点不在搜索字段中之前经常开始键入。
在提供一些代码摘录以获得帮助时,这基本上是我在问题中提供的示例 link 中的 copy-and-paste,我发现 [=20] 之间存在依赖关系=] 对话框的名称和标题。
<dialogs:BaseMetroDialog x:Class="Some.Path.Dialogs.SearchDialog"
...
d:DesignHeight="500" d:DesignWidth="800"
Title="SearchDialog" Background="White">
...
</dialogs:BaseMetroDialog>
当 Title
匹配 Class
的最后一部分时,焦点设置正确。关于 auto-select,原来与 Metro.MahApps 接口无关,而只是内部代码,我找到了一个入口点,听起来很有希望实现我的目标。
我们基于 MahApps Dialog examples 的 InputDialog 创建了自己的搜索对话框,它确实有效,但有两个问题:
- 打开时它不会自动聚焦在搜索字段中,因此您必须在开始键入搜索之前单击它
- 如果可能,我们希望自动select列表中的第一个条目,这样您就不需要先select列表中的条目,然后点击确定按钮
你能帮忙解决其中一个问题吗?第一个是最重要的,因为用户在注意到焦点不在搜索字段中之前经常开始键入。
在提供一些代码摘录以获得帮助时,这基本上是我在问题中提供的示例 link 中的 copy-and-paste,我发现 [=20] 之间存在依赖关系=] 对话框的名称和标题。
<dialogs:BaseMetroDialog x:Class="Some.Path.Dialogs.SearchDialog"
...
d:DesignHeight="500" d:DesignWidth="800"
Title="SearchDialog" Background="White">
...
</dialogs:BaseMetroDialog>
当 Title
匹配 Class
的最后一部分时,焦点设置正确。关于 auto-select,原来与 Metro.MahApps 接口无关,而只是内部代码,我找到了一个入口点,听起来很有希望实现我的目标。