如何将ItemsControl.ItemsSource与XAML中的属性绑定?
我有一个简单的窗口:
以及相关的代码背后:
public partial class WinActivityManager : Window { private ObservableCollection Activities { get; set; } public WinActivityManager() { Activities = new ObservableCollection(); InitializeComponent(); } // Other code ... }
如果我在窗口构造函数中编写以下绑定:
lvItems.ItemsSource = Activities;
然后当我从Activities
添加或删除元素时,我的ListView会自动更新。
我该如何在XAML中编写绑定?
我试过这个,但它不起作用:
如何在XAML中完成这项工作?
@JesseJames说的是真的,但还不够。
你必须把
private ObservableCollection Activities { get; set; }
如
public ObservableCollection Activities { get; set; }
绑定应该是:
问候,
您必须像其他人一样将DataContext设置为此 ,但您也可以通过xaml
设置DataContext
:
在Window构造函数中设置DataContext = this
。
public WinActivityManager() { Activities = new ObservableCollection(); DataContext = this; InitializeComponent(); }
然后,您可以根据需要绑定活动:
那是因为您的视图的数据上下文尚未设置。 您可以在后面的代码中执行此操作:
this.DataContext = this;
或者,您可以将Window的DataContext
设置为自身 – DataContext="{Binding RelativeSource={RelativeSource Self}}"
通过调查MVVM设计模式和使用MVVM框架 ,你会好得多。