C# 标签。内容工作不正常

C# 标签。内容工作不正常,c#,wpf,visual-studio-2010,xaml,label,C#,Wpf,Visual Studio 2010,Xaml,Label,我试图将以下字符串分配给从C#代码隐藏文件中用XAML创建的标签:“Recall_AUX_002” 为此,我使用以下方法: lblRecall.Content = currentAddress.Recall; 当我运行该程序时,第一个下划线神奇地消失,结果变成“RecallAUX_002”。如果我尝试使用以下代码将同一变量分配给表单中的随机文本框,则效果良好: txtGivenName.Content = currentAddress.Recall; 为什么标签中的下划线会被随机删除?这是因

我试图将以下字符串分配给从C#代码隐藏文件中用XAML创建的标签:“Recall_AUX_002”

为此,我使用以下方法:

lblRecall.Content = currentAddress.Recall;
当我运行该程序时,第一个下划线神奇地消失,结果变成“RecallAUX_002”。如果我尝试使用以下代码将同一变量分配给表单中的随机文本框,则效果良好:

txtGivenName.Content = currentAddress.Recall;

为什么标签中的下划线会被随机删除?

这是因为Windows认为第一个“u”字符是“访问键”。也就是说,关键是如果按住Alt键,则下划线的字符就是该字符

您可以通过写两个下划线来转义它:

<Label Content="Recall__AUX_002"/>

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


您也可以始终切换到使用忽略访问键的
TextBlock

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

请参阅下面的链接

我已编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。