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

本文关键字:添加 动态 属性 自定义控件 | 更新日期: 2023-09-27 18:28:03

我在C#中创建了一个继承自TextBoxwindows custom control

在我的控制下,我有两个属性,即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的大陆列表),用户可以从中(从属性窗口)进行选择。

现在我的问题是,一旦选择了continent,那么用户应该能够从属性窗口中选择country

请帮我做这个

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

好的,所以您需要两个下拉列表:

  • 一个代表大陆
  • 一个代表国家

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

你需要做的第一件事是获得你的大陆和国家列表(也许作为一个以国家为关键的Dictionary(MSDN))。

将第一个控件数据绑定到Dictionary中的唯一值,类似于var continents = myDictionary.Values.Distinct();(MSDN)

然后,您可以挂接SelectedIndexChanged(MSDN),将第二个下拉列表数据绑定到与所选大陆匹配的国家(您可以从第一个文本框中获取所选项目,然后按关键字从字典中查找)。

我希望这会有所帮助——祝你好运!