【发布时间】:2011-07-31 18:54:55
【问题描述】:
在 WPF 中,我试图绑定多个控件,但是当第一个控件发生更改时,第二个控件没有更改。
我有两个类:Task 类和 Log 类,后者作为集合存储在 Task 类中。下面的列表框绑定到任务,以及选定任务的内部日志。
问题是列表框在第一次加载时填充得很好,但是如果我选择不同的任务,我希望日志会更新到新任务的集合中,但它不会改变那些从首次加载时最初选择的任务。我错过了什么?
在设计器中:
<ListBox x:Name="listBoxTasks" ItemsSource="{Binding}" DisplayMemberPath="Key"
Grid.Row="0" Grid.Column="0" Grid.RowSpan="2">
</ListBox>
<ListBox x:Name="listBoxLogs"
ItemsSource="{Binding Logs}" DisplayMemberPath="EntryDate"
Grid.Row="1" Grid.Column="1">
</ListBox>
在后面的代码中:
public MainWindow()
{
InitializeComponent();
IMongoCollection<Task> tasks = DataManager.GetData();
this.DataContext = tasks.AsQueryable();
}
任务类:
public class Task : BusinessBase<Task>
{
public ObjectId _Id { get; set; }
public string Key { get; set; }
public string Description { get; set; }
public string Summary { get; set; }
public string Details { get; set; }
public IEnumerable<Log> Logs { get; set; }
public IEnumerable<Link> Links { get; set; }
public IEnumerable<String> RelatedKeys { get; set; }
public IEnumerable<TaskItem> Items { get; set; }
}
【问题讨论】:
标签: c# .net wpf xaml data-binding