允许通过带有 stringformat 和 _ 的键进行 WPF 按钮导航

Allow WPF button navigation via keys with stringformat and _

假设我有一个按钮:

<Button Name="BtnOk" 
        Content="OK"
        IsDefault="True">

现在,当我在内容前面放置一个 _ 时,我可以使用按钮和紧随其后的键,例如我可以通过按下键 o 直接使用下面的按钮(不关注他)。

<Button Name="BtnOk" 
        Content="_OK">

我如何使用绑定来做到这一点?

我试过以下两种方法:

  1. 根本不显示 _:

    <Button Name="BtnOk" 
        Content="{Binding SomePath, StringFormat=_{0}">
    
  2. 在字母前显示下划线,而不是在他下面:

    <Button Name="BtnOk" 
        Content="{Binding SomePath"
        ContentStringFormat="_{0}">
    

如何在单词的第一个字母下方添加下划线,以便可以通过击键该字母来完成导航?


按钮位于我从其他地方使用的用户控件中,按钮的文本绑定到如下依赖属性:

Content="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:MyUserControl}}, Path=SomePath}"             

您是否尝试过使用 AccessText:

<Button Name="BtnOk" Content="OK"IsDefault="True">
    <AccessText Text={Binding SomePath} />
</Button>

更新

由于您的绑定没有下划线,您可以使用 StringFormat 来处理。

<Button Name="BtnOk" IsDefault="True">
    <AccessText Text="{Binding SomePath, StringFormat=_{0}}" />
</Button>