我在Winform C#应用程序中包含了一个WPF控件,现在我想访问该控件的一些属性。这是一个Treeview,我想得到这个: 这是XAML中的代码:
<TreeView Grid.Row="1" Grid.Column="0" Margin="5,5,5,5" Name="mytreeview"
BorderThickness="0" FontSize="12" FontFamily="Courier New"/>
我正在努力实现的目标:
//host3d is the integration object
host3d.Controls["mytreeview"].Items.Add("test");
我收到一个错误,说控件不包含那个有意义的定义“Items”,我确信有办法访问treeview的方法......
答案 0 :(得分:1)
我创建了一个WPF用户控件,并使用ElementHost控件在winform应用程序中托管我的wpf控件。然后我可以使用我的用户控件中的任何属性,如下所示
public Form1()
{
InitializeComponent();
UserControl1 control = new UserControl1();
elementHost1.Child = control;
}
private void button1_Click(object sender, EventArgs e)
{
UserControl1 control = elementHost1.Child as UserControl1;
String names = string.Empty; ;
foreach (var item in control.Patients1)
{
names += item.Name + "\n";
}
MessageBox.Show("Name: \n" + names);
}
如果您使用的是WPF,则可以将treeView绑定到集合,并从任何位置访问集合项。我已经绑定到患者列表,我可以直接访问它。