我想知道如何通過調用可用作該屬性的「數據提供者」的方法來設置自定義用戶控件的自定義屬性。如何通過調用方法設置屬性
我的意思是我想寫的東西是這樣的:
<CatsUserControl Cats={FindAllCats} />
,
其中CatsUserControl是用戶控制我創建(其中有一個屬性命名貓),和FindAllCats()是用C#編寫的方法,它返回一個Cat對象列表。
這可能嗎?
我很欣賞任何想法。謝謝!
編輯:
整個事情開始,因爲我希望能夠到一個列表分配給XAML的屬性,你做<Button Content="Value"/>
(以同樣的方式,除了在我的情況下,該值是一個更復雜類型比字符串,這是一個List<KeyValuePair<String, Boolean>>
)。
因爲我沒有找到任何方法來做到這一點,我認爲可能會調用一個方法返回這個列表,並將返回的值賦給屬性。
希望讓事情更清楚。
「FindAllCats是一種方法」,罰款,但在什麼情況下。它是'CatsUserControl'上的方法嗎?或者它是當前DataContext的對象上的方法,還是它的某種類型的StaticMethod或...列表繼續。請澄清一下,你的編輯沒有清除這個。 – AnthonyWJones 2010-02-18 21:32:39
我一直在努力的一件事就是爲什麼任何人都希望有一個「FindAllCats」方法而不是「AllCats」屬性。如果你有一個簡單的綁定AllCats屬性。那麼__why__是否以FindAllCats的形式實現AllCats? (我明白,這個例子代碼,但原則成立)。 – AnthonyWJones 2010-02-18 21:38:54
@AnthonyWJones:結果我所需要的只是一個簡單的約束。事情是,我想將AllCats屬性綁定到FindAllCats方法的返回值。我想這樣做是因爲「AllCats」屬性是在另一個用戶控件(UC2)中在XAML中創建的UserControl(UC1)的屬性,創建UC1的每個UC2都有其自己的FindAllCats方法。我很抱歉發生混淆,並花了很長時間才發表回覆。 – dsetton 2010-02-26 19:45:54