how doin? 나는 문제가있다. 예를 들어 하나의 텍스트 상자에 여러 객체를 바인딩하고 싶습니다. 많은 작업이있는 목록이 있다고 가정 해 보겠습니다. 각 작업에는 제목이 있습니다.여러 객체의 데이터 바인딩 속성
public class Task
{
public string Title { get; set; }
[...]
}
이제 목록 상자에서 두 가지 작업을 선택하고 싶습니다. 두 작업의 제목이 같으면 텍스트 상자에 제목을 표시해야합니다. 서로 다르면 아무 것도 표시하지 않아야합니다.
사용자가 값을 변경하면 두 작업의 제목을 새 값으로 변경해야합니다.
지금까지 XAML에 바인딩 된 'Title'이라는 새 속성을 만들었습니다. 2 가지 문제가 있습니다.
그리드의 DataContext를 설정하면 프로그램은 'Title'을 한 번만 읽습니다. 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