Buc*_*cks 2 c# data-binding wpf
我试图将一个对象的两个不同实例绑定到一个表单的不同部分,我没有找到任何帮助,如何做到这一点,这使我相信我走错了路.特别是因为这似乎是WPF绑定中非常常见的任务.
所以,在我继续走这条路之前,我想问这个问题.是否可以使用两个不同的DataContexts绑定两个不同的控件?例如,我的表单上有一个Home团队和一个Visitors团队,我想为他们两个使用相同的对象.我原本以为只需创建两个DataContexts(DataContext1和DataContext2),然后为每个设置绑定,但找不到类似的样本.这就是我所拥有的,这是我想要做的一个人为的例子.
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Results team1 = new Results() { StoreId = 101, Score = 10 };
Results team2 = new Results() { StoreId = 102, Score = 15 };
this.DataContext = team1;
//this.DataContext = team2;
}
}
Run Code Online (Sandbox Code Playgroud)
创建一个适当的ViewModel,它包含这些数据项作为属性:
public class ViewModel
{
public Results Team1 {get;set;}
public Results Team2 {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
然后:
DataContext = new ViewModel
{
Team1 = new Results { StoreId = 101, Score = 10 },
Team2 = new Results { StoreId = 102, Score = 15 },
};
Run Code Online (Sandbox Code Playgroud)
否则,如果要在UI中引入"结果列表"的概念,请使用ItemsControl和ObservableCollection<Results>.