C# WPF-绑定到dll函数
如何绑定显示C# WPF-绑定到dll函数,c#,wpf,data-binding,dll,C#,Wpf,Data Binding,Dll,如何绑定显示ObservableCollection中由某个dll中的函数返回的所有项的列表框 我有一个名为filemanager的dll singltone类和一个函数Instance(),该函数返回指向该类的指针。然后我有一个名为GetFiles()的函数,它返回包含所有文件名的ObservableCollection 我有一个xml列表框,我想将它绑定到itemsource属性 文件管理器。实例().GETFILSESH()/代码>,我怎么做?< /P> < P>你应该考虑使用MVVM设计
ObservableCollection
中由某个dll中的函数返回的所有项的列表框
我有一个名为filemanager
的dll singltone类和一个函数Instance()
,该函数返回指向该类的指针。然后我有一个名为GetFiles()
的函数,它返回包含所有文件名的ObservableCollection
我有一个xml列表框,我想将它绑定到itemsource
属性<代码>文件管理器。实例().GETFILSESH()/代码>,我怎么做?< /P> < P>你应该考虑使用MVVM设计模式。在本例中,您的视图模型上有一个属性,该属性公开
filemanager.Instance().GetFiles()
集合,并且您的视图将绑定到此属性
public class MyViewModel
{
public MyViewModel()
{
this.Files = FilesManager.Instance().GetFiles();
}
public XXX Files { get; private set; }
}
<ListBox ItemsSource="{Binding Files}" ... />
公共类MyViewModel
{
公共MyViewModel()
{
this.Files=FilesManager.Instance().GetFiles();
}
公共XXX文件{get;private set;}
}
如果要在构造后更改
文件
引用,则需要实现INotifyPropertyChanged
以更新UI。属性必须为dependencProperty
否,否则,INotifyPropertyChanged将是从视图模型执行任何UI更新通知的正确方法。您的视图模型不应该是依赖对象。嗯。。?但是ItemsSource=“{Binding Files}”
只有在Files
是依赖属性时才起作用…不,这仅适用于绑定目标-在本例中是列表框的ItemsSource属性。在window.cs文件中定义的属性,对吗?如果我在XAML中写入ItemsSource=“{Binding Files}”
,那么如果Files
不是依赖属性(propdp snippt),绑定将不起作用。。。