如何在自定义控件中添加动态属性

时间:2012-03-15 05:09:56

标签: c# properties custom-controls

我在windows custom control中创建了一个继承自C#的{​​{1}}。

在我的控制中,我有两个属性,即TextBoxContinent

因此,我需要为用户选择大陆和国家/地区。

我。 e,如果用户需要选择该大陆,我将列出所有七大洲,那时国家列表将为空,

用户选择了该大陆后,Country列表应填入所选大洲的国家/地区。

我知道我可以将country用于此

enum

和属性

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

如果我这样设置,那么public Continents Continent { get; set; } 将向用户提供continent property(来自上面dropdown list的各大洲的列表),从中(从属性窗口)用户可以选择。

现在我的问题是,一旦enum被选中,用户就可以从属性窗口中选择continen

请帮我这样做

1 个答案:

答案 0 :(得分:0)

好的,所以你想要两个下拉列表:

  • 一个用于大陆
  • 一个国家

您的自定义控件上的属性匹配。

您需要做的第一件事就是获取您的大陆和国家/地区列表(可能是Dictionary,其中国家/地区为关键(MSDN))。

将第一个控件数据绑定到词典中的唯一值,例如var continents = myDictionary.Values.Distinct(); (MSDN)

然后,您可以挂钩到SelectedIndexChanged (MSDN),将第二个下拉数据绑定到与所选大陆匹配的国家/地区(您可以从第一个文本框中获取所选项目,然后通过字典中的键进行查找)。 / p>

我希望有所帮助 - 祝你好运!