0

此处解释了在 winform 中托管 WPF演练:在 Windows 窗体中托管 WPF 复合控件。我用最简单的方式解释问题:只需创建一个winform项目。然后我创建另一个项目 WPF 用户控件库。在用户控件库中,我添加了一个按钮并将其命名为 button1。然后在 xaml.cs 文件中创建一个公共函数,如下所示:

public partial class UserControl1 : UserControl
{
    public UserControl1()
    {
        InitializeComponent();
    }

    public void SetText(string text)
    {
        button1.Content = text;
    }
}

我将该项目添加为 winform 中的引用,以便我可以将控件添加到我的 winform。在 winform 中,我添加一个按钮并创建按钮 onClick 事件。代码如下所示:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        wpfButton.SetText("asd 12_2_a_s");
    }
}

现在派对开始了。我编译了项目,最终看起来像这样: 在此处输入图像描述

所以如果我点击左键,右键应该显示字符串如下所示:“asd 12_2_a_s”。但是,发生的事情总是首先缺少“_”。我得到这个: 在此处输入图像描述

该问题的原始解决方案只是编写双打 "__" wpfButton.SetText("asd 12__2__a__s"); 那行得通。但我的问题是:这是实际的错误还是我遗漏了什么?

4

1 回答 1

4

控件文本/内容中的下划线是用于指示访问键的字符。您可以使用双下划线 __ 转义它

"t__est"

尚未对此进行测试,但您也可以使用 @ 符号。 @"t_est"将输出t_est

编辑:@ 不适用于设置文本/内容属性。

于 2013-09-10T18:15:24.177 回答