Label.Content不能正常工作

时间:2014-12-16 17:02:15

标签: c# wpf visual-studio-2010 xaml label

我正在尝试将以下字符串分配给在C#代码隐藏文件中在XAML中创建的标签:" Recall_AUX_002"

为此,我使用以下内容:

lblRecall.Content = currentAddress.Recall;

当我运行程序时,第一个下划线神奇地消失,结果变为" RecallAUX_002。"如果我尝试将相同的变量分配给表单中的随机文本框,使用以下代码,它可以正常工作:

txtGivenName.Content = currentAddress.Recall;

为什么在标签中随机删除下划线?

2 个答案:

答案 0 :(得分:2)

这是因为Windows认为第一个“_”字符是“访问密钥”。也就是说,如果按住 Alt ,那么它就是带下划线的字符。

您可以通过编写两个下划线来逃避它:

<Label Content="Recall__AUX_002"/>

或将RecognizeAccessKey属性设置为false。这是在内容演示者中,因此您必须修改ControlTemplate

您也可以随时切换到使用忽略访问密钥的TextBlock

答案 1 :(得分:1)

下划线被视为访问密钥。如果您想在内容中显示它,则必须禁用它。

请参阅以下链接 Underscores not displayed in WPF