2010-01-14 100 views
0

我想創建一個使用不同對象列表的用戶控件。這些對象將在設計時分配給控件。現在我想能夠使用linq來對象在usercontrol內排序這個列表。任何人都可以給我任何想法如何去做?將通用列表傳遞給WPF usercontrol

回答

3

將添加到您的用戶控件類(例如,稱爲MyItemsSource)。在包含XAML來,該屬性綁定到你的LINQ的集合,您的用戶控件內,綁定你的ListBox(或其他ItemsControl)的屬性,如下所示:

{Binding 
    RelativeSource={RelativeSource 
         Mode=FindAncester, 
         AncestorType=UserControl}, 
    Path=MyItemsSource} 

或者,您也可以設置裏面的Name財產頂層元素(UserControl元件),以例如MyUserControl上綁定用戶的控制,以及對一個ElementName代替RelativeSource這樣:

{Binding ElementName=MyUserControl, Path=MyItemsSource} 
+0

但我不會必須聲明它像 公共共享NickNa mesProperty As DependencyProperty = _ DependencyProperty.Register(「NickNames」,GetType(ObservableCollection(Of MyObjectOne)),GetType(MyType)) 但在創建控件時,我不知道myobject的類型。我想使它變得靈活並以某種方式綁定不同類型對象的列表。 – Farax 2010-01-14 10:20:40

+0

哦,是的,這當然是具有指定參數的泛型類型。如果你想能夠傳遞任何對象的集合,你必須將它設置爲'ObservableCollection(Of Object)' – 2010-01-14 11:00:06