2011-03-24 107 views
1

我有一個類如下。返回WPF中的類對象列表

namespace WpfApplication2 
{ 
    class TaskItem 
    { 
     private string name; 
     private string item; 
     private string description; 
     private int priority; 
     public string Name 
     { 
      get 
      { return name; } 
      set 
      { this.name = value; } 
     } 

     public string Item 
     { 
      get 
      { 
       return item; 
      } 
      set 
      { 
       this.item = value; 
      } 
     } 
     public string Description 
     { 
      get 
      { 
       return String.Format("{0} {1}",name,item); 
      } 
     } 
     public int Priority 
     { 
      get 
      { 
       return priority; 
      } 
      set 
      { 
       this.priority = value; 
      } 
     } 

     public TaskItem() 
     { 


     } 

    } 
} 

我想將這個類對象的列表返回給我的wpf應用程序,如下所示。

<WpfApplication2:TaskItem x:Key="taskItem"/> 

之後我會將它綁定到ListBox。我怎麼能返回這個類對象的列表?請指教。謝謝。

+0

有關您正在嘗試做什麼的更多信息將有助於提供滿足您的最終目標的答案......而不是僅僅在技術上有效的答案。但是我已經給你一個答案:) – Gishu 2011-03-24 03:43:29

回答

1

XAML中聲明是針對單個TaskItem,不是一個集合。您需要一個集合來綁定到ListBox的ItemsSource。請參閱msdn關於使用ObservableCollection的僅限xaml解決方案的限制的說明。您可能需要在代碼中創建一個列表來綁定到ListBox,或者創建自己的繼承自ObservableCollection的類,然後在您的xaml中創建該類的實例。

+0

實際上,我想創建兩個數據模板,並使用TemplateSelector選擇模板。 – TNA 2011-03-24 04:07:40

+0

@David,因爲TemplateSelector將應用於底層集合中的每個項目,您仍然需要在某個時間點處理項目集合。 – 2011-03-24 04:19:14

+0

是的,這個MSDN鏈接正是我正在尋找的。非常感謝 ! – TNA 2011-03-24 05:55:31

0

您是否嘗試過創建List<TaskItems>並將其設置爲DataContext?

0

技術上可能..有類似的東西(用你的自定義類替換Observable集合與List和我:Person)。 參見:Generics support was added recently to XAML

<Window> 
    <Window.DataContext> 
     <ObservableCollection x:TypeArguments="my:Person"> 
      <my:Person FirstName="Tom" LastName="Holiday" /> 
      <my:Person FirstName="Joan" LastName="Holiday" /> 
     </ObservableCollection> 
    </Window.DataContext> 
    … 
</Window>