目前在我的应用程序中,我正在AccessText
内使用Button
来注册键盘快捷键。目前我正在使用资源字符串的第一个字母设置快捷方式。这种方法的一个特殊问题是语言的更改(通过本地化)可以使用相同的字母注册多个按钮。
目前的例子:
<AccessText x:Uid="AccessText_4"
Text="{Binding Source={x:Static resx:Resources.ServerManagement_SettingsButton}, StringFormat='_{0}'}" />
同样,资源字符串中的第一个字母将成为AccessKey
(指定为第一个下划线后面的字母)。如果语言被更改,我无法授予某些访问密钥不会重复。
有没有办法在AccessKey
上设置永久AccessText
?
答案 0 :(得分:0)
一种方法可能是使用AccessKeyManager.Register
方法在后面的代码中执行此操作。
private void Window_Loaded(object sender, EventArgs e)
{
//Duplicate as necessary for each button.
AccessKeyManager.Register("s", btnSearch);
}
您将从Xaml中删除下划线(无StringFormat)。由于AccessKey
是一个只读属性,我没有看到在Xaml中设置它的方法。
我自己没有对此进行过测试,但希望它能为您指明正确的方向。