我是初学者在mvvm开发中我卡在问题ie ie我想刷新我的网格与可观察的集合,但是这不是发生在我的情况下我使用下面的代码请让我知道我做错了如何使用可观察的集合来刷新网格
窗口的DataContext属性
public ProjectTabView()
{
InitializeComponent();
var vm = new ProjectTabViewModel();
this.DataContext = vm;
vm.ClosingRequest += (sender, e) => this.Close();
}
XAML
<DataGrid ItemsSource="{Binding BindFiles,UpdateSourceTrigger=PropertyChanged}" SelectionMode="Single"></DataGrid >
属性,视图模型
public class ProjectTabViewModel : ViewModelBase, INotifyPropertyChanged
{
ObservableCollection<Project> _BindFiles;
public ObservableCollection<Project> BindFiles
{
get
{
return _BindFiles;
}
set
{
_BindFiles = value;
RaisePropertyChanged(() => BindFiles);
}
}
}
**constructor**
BindFiles = new ObservableCollection<Project>();
**ViewModel**
public void Bindfiletab()
{
List<Project> obj = ProjectTabModel.FilesBinding(GlobalProjectID);
ObservableCollection<Project> obsrvbl = new ObservableCollection<Project>(obj);
if (obsrvbl.Count > 0)
{
BindFiles.Clear();
foreach (var item in obsrvbl)
{
BindFiles.Add(item);
}
}
}
public void Execute(object sender)
{
GalaSoft.MvvmLight.Threading.DispatcherHelper.CheckBeginInvokeOnUI(()=>
{
//here i have called my above bind file tab method to refresh my grid
}
}
您的代码看起来很熟悉...你有另一个堆栈溢出帐户?你的'Bindfiletab()'成员应该是什么?一个方法?属性?它不能兼而有之。在我看来,您似乎没有使用本网站所需的最基本的编程知识。 – Sheridan
不,我是新来的stackoverflow @Sheridan休息我观看这篇文章,但他们没有解决我的目的。我从stackoverflow获取几行代码too.Is错误? – stylishCoder
这个问题似乎是无关紧要的,因为你似乎没有最基本的编程知识水平,甚至可能不理解任何提供的答案。 – Sheridan