2011-12-06 25 views
0

我在WPF中實現了一些通用CustomControls,例如AutoCompleteTextBox。 現在,我想實現一個通用ViewModel庫,以執行這些控件的數據綁定。與ItemsControl一起使用的通用ViewModel

現在我定義了一個名爲CDataSource的附加屬性,它指定了要在控件中綁定的數據源。

我的問題是:是否有可能將CustomControl傳遞給ViewModelCDataSource值?通過這種方式,ViewModel可以根據CDataSource屬性填充控件。

在此先感謝

+0

名稱CDataSource似乎有點不尋常。儘管嘗試使用更有意義的名字。 – PVitt

回答

0

這似乎是一個奇怪的請求給我。您不希望自定義控件中存在對視圖模型的依賴。相反,您通常在您的自定義控件上有一個依賴屬性,它是ItemsSource,然後您可以在XAML中從您的視圖中設置此值。

這就是WPF Toolkit中包含的AutoCompleteBox如何操作。

+0

不完全。在我的情況下,屬性CDataSource的類型是一個枚舉。例如: -CDataSource.BookData -CDataSource.MusicData -ecc ... 現在,我想要一個ViewModel,它基於屬性CDataSource填充我的autoComplete的ItemsControl。 例如,如果我有以下控制: 我希望ViewModel,將自動填充與書數據的控件。 這種情況可能嗎? – user1070316

+0

枚舉的可能值是多少?基於枚舉值加載數據的責任是誰? – devdigital

+0

爲什麼這些都不是由視圖設置?即CDataSource =「CDataSource.MusicData」ItemsSource = {Binding MyMusicCollection},例如,其中MyMusicCollection是視圖模型上的ObservableCollection。 – devdigital

相關問題