gpt4 book ai didi

c# - 如何在 WPF 中绑定(bind)对象的两个实例(或者我可以吗?)

转载 作者:行者123 更新时间:2023-12-02 21:31:12 25 4
gpt4 key购买 nike

我试图将一个对象的两个不同实例绑定(bind)到表单的不同部分,但我没有找到任何关于如何执行此操作的帮助,这使我相信我走在错误的道路上。特别是因为这似乎是 WPF 绑定(bind)中非常常见的任务。

因此,在我继续沿着这条路走下去之前,我想问这个问题。是否可以将两个不同的控件与两个不同的 DataContext 绑定(bind)?例如,我的表单上有一个主团队和一个访客团队,我想为它们使用相同的对象。我原以为这只是创建两个 DataContext(DataContext1 和 DataContext2),然后为每个 DataContext 设置绑定(bind)的问题,但找不到类似的示例。这是我所拥有的,这是我正在尝试做的事情的一个人为示例。

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;
}
}

最佳答案

创建一个正确的 ViewModel,其中包含这些数据项作为属性:

public class ViewModel
{
public Results Team1 {get;set;}

public Results Team2 {get;set;}
}

然后:

DataContext = new ViewModel
{
Team1 = new Results { StoreId = 101, Score = 10 },
Team2 = new Results { StoreId = 102, Score = 15 },
};

否则,如果您想在 UI 中引入“结果列表”的概念,请使用 ItemsControl 和一个ObservableCollection<Results> .

关于c# - 如何在 WPF 中绑定(bind)对象的两个实例(或者我可以吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com