我正在尝试将以下字符串分配给在C#代码隐藏文件中在XAML中创建的标签:" Recall_AUX_002"
为此,我使用以下内容:
lblRecall.Content = currentAddress.Recall;
当我运行程序时,第一个下划线神奇地消失,结果变为" RecallAUX_002。"如果我尝试将相同的变量分配给表单中的随机文本框,使用以下代码,它可以正常工作:
txtGivenName.Content = currentAddress.Recall;
为什么在标签中随机删除下划线?
答案 0 :(得分:2)
这是因为Windows认为第一个“_”字符是“访问密钥”。也就是说,如果按住 Alt ,那么它就是带下划线的字符。
您可以通过编写两个下划线来逃避它:
<Label Content="Recall__AUX_002"/>
或将RecognizeAccessKey
属性设置为false。这是在内容演示者中,因此您必须修改ControlTemplate
您也可以随时切换到使用忽略访问密钥的TextBlock
。
答案 1 :(得分:1)
下划线被视为访问密钥。如果您想在内容中显示它,则必须禁用它。
请参阅以下链接 Underscores not displayed in WPF