2009-11-12 33 views
0

你是怎麼做的?我有個問題。例如,我想將多個對象綁定到單個文本框。比方說,我有一個很多任務的列表。每個任務都包含一個標題。多個對象的數據綁定屬性

public class Task 
{ 
public string Title { get; set; } 
[...] 
} 

現在我想選擇在列表框中兩個任務。如果兩個任務的標題相同,我希望文本框顯示標題。如果它們不同,它應該什麼也不顯示。

如果用戶更改值的兩個任務的標題應該改爲新的值。

我創建了一個新的屬性「標題」到目前爲止,這是在XAML綁定。有兩個問題。

  1. 如果我設置網格的DataContext,程序只讀取一次「標題」。如果將datacontext設置爲null,然後再將它設置爲Task類(儘管如此)。

  2. 如果我更改標題它不會立即在列表框中進行更改。只有當列表框再次讀取任務列表時,它才能正確顯示。

    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

回答

0

使用MultiValueConverter。其目的是實現支持多個綁定的轉換器(MultiBinding對象),因此您可以綁定到多個任務。