将WPF列表框嵌入到我的WinForms应用程序中

时间:2013-01-11 21:22:22

标签: c# .net wpf listbox winforms-interop

如何将WPF列表框嵌入到Windows窗体应用程序中?

理想情况下,WPF列表框可以添加列表框项目对象,渲染颜色(通过将背景属性设置为某个颜色画笔),并从窗体文本框中显示列表框中的内容。

我不想在WPF中创建复合控件,只需在我的Winforms解决方案中嵌入一个简单的WPF列表框。

谢谢!

1 个答案:

答案 0 :(得分:0)

在新创建的UserControl中,您可以通过属性公开ListBox。然后,您可以通过ListBox访问UserControl

UserControl.xaml.cs中的某处:

public ListBox MyListBox
{
    get
    {
        return {yourListBoxName};
    }
}

然后,当您实例化新的UserControl

ElementHost elhost = new ElementHost();
elhost.Size = new Size(110, 60);
elhost.Location = new Point(45,35);

MyWPFControl wpfctl = new MyWPFControl();
elhost.Child = wpfctl;

this.Controls.Add(elhost);

//Access your ListBox via wpfctl.MyListBox

或者,您可以查看MVVM并将ListBox.ListBoxItem绑定到TextBox;