試圖做這樣的事情......初始化一個ICollection的內XAML
public class MiniObject
{
public bool Checked { get; set; }
public String Caption { get; set; }
public ICollection<MiniObject> Content { get; set;}
}
<Window.Resources>
<local:MiniObject x:Key="RootItem" Caption="Item0" Checked="True">
<local:MiniObject.Content>
<local:MiniObject Caption="Item1" Checked="True">
</local:MiniObject>
<local:MiniObject Caption="Item2" Checked="True">
</local:MiniObject>
</local:MiniObject.Content>
</local:MiniObject>
</Window.Resources>
這當然行不通返回錯誤:
Object of type 'WorkflowTest.MiniObject' cannot be converted to type 'System.Collections.Generic.ICollection`1[WorkflowTest.MiniObject]'.
有沒有一種辦法中做到這一點WPF?如果是的話,我需要在所有的改變我的物體的形狀或可我只是規定,只有WPF使用像一個專門的對象......
<Window.Resources>
<local:MiniObject x:Key="RootItem" Caption="Item0" Checked="True">
<local:MiniObject.Content>
<local:MiniObjectCollection>
<local:MiniObject Caption="Item1" Checked="True">
</local:MiniObject>
<local:MiniObject Caption="Item2" Checked="True">
</local:MiniObject>
</local:MiniObjectCollection>
</local:MiniObject.Content>
</local:MiniObject>
</Window.Resources>
替換 public ICollection內容{get;設置;} 與 public列表內容{get;設置;} 工程,但我需要避免使用實際的實現。使用IList導致相同的錯誤。 –
NtscCobalt
如果你不使用實際的實現,你將如何填充數據集合? –
@John Gardner 我選擇ICollection的原因是因爲MiniObject在ORM中使用,我更喜歡它只使用像IList或ICollection這樣的接口。我在這裏寫的代碼是用於設計時間數據和測試。我不想寫一個單獨的課程,只是爲了讓設計師感到高興。 – NtscCobalt