如何在自定义控件中添加动态属性
本文关键字:添加 动态 属性 自定义控件 | 更新日期: 2023-09-27 18:28:03
我在C#
中创建了一个继承自TextBox
的windows custom control
。
在我的控制下,我有两个属性,即Continent
和Country
因此,我需要为用户提供选择大陆和国家的条款。
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
。
请帮我做这个
好的,所以您需要两个下拉列表:
- 一个代表大陆
- 一个代表国家
您的自定义控件上有匹配的属性。
你需要做的第一件事是获得你的大陆和国家列表(也许作为一个以国家为关键的Dictionary
(MSDN))。
将第一个控件数据绑定到Dictionary中的唯一值,类似于var continents = myDictionary.Values.Distinct();
(MSDN)
然后,您可以挂接SelectedIndexChanged(MSDN),将第二个下拉列表数据绑定到与所选大陆匹配的国家(您可以从第一个文本框中获取所选项目,然后按关键字从字典中查找)。
我希望这会有所帮助——祝你好运!