public class Task
{
public string Title { get; set; }
[...]
}
现在我想在列表框中选择两个任务。如果两个任务的标题相同,我希望文本框显示标题。如果它们不同,则不应显示任何内容。
如果用户更改了值,则应将两个任务的标题更改为新值。
到目前为止,我创建了一个新属性'Title',它在XAML中绑定。有两个问题。
如果我设置了网格的DataContext,程序只会读取一次“标题”。如果将datacontext设置为null,然后再将其设置为Task类,则可以正常工作(虽然很丑陋)。
如果我更改标题,则不会立即在列表框中更改。只有当列表框再次读取任务列表时,它才会正确显示。
public string Title
{
get
{
string title = Tasks[0].Title;
for (int i = 1; i < Tasks.Count; i++)
{
if (title != Tasks[i].Title)
return "";
}
return title;
}
set
{
foreach (Task task in Tasks)
task.Title = value;
}
}
感谢您的帮助
问候 stfx