此处解释了在 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"); 那行得通。但我的问题是:这是实际的错误还是我遗漏了什么?