修改Button的样式后,是否可以以编程方式将AccessText分配给WPF按钮?

时间:2017-06-22 02:22:13

标签: c# wpf button

我已在我的应用程序中覆盖了我的Button样式,这似乎删除了我使用Button.Content_分配访问密钥的功能,因此让我离开了使用唯一选项AccessText。我查看了一些问题,这些问题涉及如何使Button再次具有访问密钥,例如How to use an accesskey on a WPF Button with a custom ContentTemplate?,它解决了我迄今为止的问题。

我有一个窗口,Button' s Content是以编程方式设置的,具体取决于您到达该窗口的方式。

这是我之前分配访问密钥的方式:

<Button x:Name="Button1" Text="_Hello" />

它工作正常,在H中正确显示带下划线的Hello。由于改变了风格,它不再那样。

AccessText通常是这样做的:

<Button x:Name="Button1">
    <AccessText>_Hello</AccessText>
</Button>
无论自定义样式如何,

都会显示HHello的下划线。

不幸的是,我能找到的唯一一个允许您修改按钮显示内容的属性是Content,当我尝试分配Button.Content时这样:

Button1.Content = "_Goodbye";

它显示_Goodbye,而不是像我在应用自定义样式之前那样将其视为访问键。 G中的Goodbye未加下划线,无法用作访问密钥。

因此,我的问题是:在修改Button的样式后,是否可以以编程方式将AccessText分配给WPF按钮?

1 个答案:

答案 0 :(得分:2)

您可以使用Button对象设置AccessText的内容,并设置其Text属性。

Button1.Content = new AccessText
{
    Text = "_Goodbye",
};