2012-03-15 120 views
-1

我在C#中創建了一個windows custom control,它繼承自TextBox如何在自定義控件中添加動態屬性

在我的控制,我的兩個屬性,即ContinentCountry

所以,我需要給提供選擇洲和國家的用戶。

i。 e,如果用戶需要選擇大陸,我將列出所有七大洲,那時國家名單將是空的,

一旦用戶選擇了大陸,那麼country列表應該填寫選定大陸的國家。

我知道我可以使用enum這個

public enum Continents {Asia , Africa, Antartica, Australia, Europe, NorthAmerica, SouthAmerica } 

和財產

public Continents Continent { get; set; } 

,如果我這樣設置,那麼continent property將提供的dropdown list(名單大洲從上面的enum)發送給用戶,用戶可以從中選擇(從屬性窗口)。

現在我的問題是,一旦continen t被選中,那麼用戶應該能夠從屬性窗口中選擇country

請幫我做這件事

+1

那麼問題是什麼? – gideon 2012-03-15 05:18:58

+0

@gideon:我無法設置'Country'屬性,因爲它是動態的。更多的我不知道'國家'的類型 – 2012-03-15 05:22:08

回答

0

好了,你想要兩個下拉列表:

  • 一爲大陸
  • 一爲國家

你有屬性您的自定義控件匹配。

您需要做的第一件事就是獲取各大洲和國家的列表(可能爲國家作爲(MSDN)的關鍵字)。

數據綁定的第一控制在字典中的獨特的價值觀,像var continents = myDictionary.Values.Distinct();(MSDN)

然後你可以掛接到的SelectedIndexChanged (MSDN)數據綁定第二個下拉到選定的大陸相匹配的國家(你可以得到從第一個文本框中選擇項目,然後通過字典中的鍵進行查找)。

我希望有幫助 - 祝你好運!

相關問題