HierarchicalDataBoundControlDesigner.PreFilterProperties(IDictionary) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Используется в конструкторе для добавления дополнительных свойств в сетку Свойства или удаления их оттуда, а также для затемнения свойств связанного элемента управления.
protected:
override void PreFilterProperties(System::Collections::IDictionary ^ properties);
protected override void PreFilterProperties (System.Collections.IDictionary properties);
override this.PreFilterProperties : System.Collections.IDictionary -> unit
Protected Overrides Sub PreFilterProperties (properties As IDictionary)
Параметры
- properties
- IDictionary
Коллекция, реализующая объект IDictionary для добавленных и затемненных свойств.
Примеры
В следующем примере кода показано, как переопределить PreFilterProperties метод в классе, наследуемом от HierarchicalDataBoundControlDesigner класса , чтобы изменить сетку Свойства элемента управления во время разработки HierarchicalDataBoundControl . В этом примере свойство становится NamingContainer видимым в сетке Свойства .
// Shadow the control properties with design-time properties.
protected override void PreFilterProperties(IDictionary properties)
{
string namingContainer = "NamingContainer";
// Call the base method first.
base.PreFilterProperties(properties);
// Make the NamingContainery visible in the Properties grid.
PropertyDescriptor selectProp =
(PropertyDescriptor)properties[namingContainer];
properties[namingContainer] =
TypeDescriptor.CreateProperty(selectProp.ComponentType,
selectProp, BrowsableAttribute.Yes);
} // PreFilterProperties
' Shadow the control properties with design-time properties.
Protected Overrides Sub PreFilterProperties( _
ByVal properties As IDictionary)
Dim namingContainer As String = "NamingContainer"
' Call the base method first.
MyBase.PreFilterProperties(properties)
' Make the NamingContainery visible in the Properties grid.
Dim selectProp As PropertyDescriptor = _
CType(properties(namingContainer), PropertyDescriptor)
properties(namingContainer) = _
TypeDescriptor.CreateProperty(selectProp.ComponentType, _
selectProp, BrowsableAttribute.Yes)
End Sub
Комментарии
Конструкторы элементов управления используют методы, производные от ComponentDesigner.PreFilterProperties метода , для затенения различных свойств элемента управления с соответствующими свойствами времени разработки, которые реализует конструктор, а также для добавления свойств в сетку Свойства или удаления свойств из нее.
Для элементов управления, производных HierarchicalDataBoundControl от класса , метод создает свойства времени разработки PreFilterProperties , чтобы затенить DataSource свойства и DataSourceID .
Примечания для тех, кто наследует этот метод
Переопределите PreFilterProperties(IDictionary) метод , чтобы добавить или изменить атрибуты свойств в коллекции свойств времени разработки. Перед выполнением другой обработки обязательно вызовите базовый метод.