Partilhar via


DependencyProperty.AddOwner Método

Definição

Adiciona outro tipo como um proprietário de uma propriedade de dependência que já foi registrado para um tipo.

Sobrecargas

AddOwner(Type)

Adiciona outro tipo como um proprietário de uma propriedade de dependência que já foi registrada.

AddOwner(Type, PropertyMetadata)

Adiciona outro tipo como um proprietário de uma propriedade de dependência que já foi registrada, fornecendo metadados de propriedade de dependência para a propriedade de dependência como ela existe no tipo do proprietário fornecido.

AddOwner(Type)

Adiciona outro tipo como um proprietário de uma propriedade de dependência que já foi registrada.

public:
 System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType);
public System.Windows.DependencyProperty AddOwner (Type ownerType);
member this.AddOwner : Type -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type) As DependencyProperty

Parâmetros

ownerType
Type

O tipo a ser adicionado como proprietário desta propriedade de dependência.

Retornos

Uma referência ao identificador DependencyProperty original que identifica a propriedade da dependência. Esse identificador deve ser exposto adicionando a classe como um campo public static readonly.

Comentários

Esse método permite que o sistema de propriedades reconheça uma propriedade de dependência em um tipo que não registrou essa propriedade de dependência específica inicialmente.

Normalmente, AddOwner é usado para adicionar propriedades de dependência a classes que ainda não expõem essa propriedade de dependência por meio da herança de classe gerenciada (a herança de classe faria com que as propriedades do wrapper fossem herdadas pela classe derivada e, portanto, forneceria acesso de tabela de membros gerais à propriedade de dependência já). AddOwner permite que o sistema de propriedades reconheça uma propriedade de dependência em um tipo que não registrou essa propriedade de dependência inicialmente.

Essa assinatura não permite especificar metadados. Quando você usa esse método, os metadados são gerados automaticamente para o novo DependencyProperty e seu tipo de proprietário. Os metadados gerados automaticamente são o resultado dos metadados mesclados de todos os tipos base que têm essa propriedade definida. Se nenhum metadado mesclado estiver disponível, os metadados padrão da propriedade serão usados. Se a propriedade for registrada usando o RegisterAttached método , os metadados padrão serão os mesmos que os metadados criados quando RegisterAttached foi chamado. Caso contrário, o PropertyMetadata objeto é criado com a DefaultValue propriedade definida como o padrão do tipo de propriedade e todas as outras propriedades do PropertyMetadata são definidas nullcomo . Use a AddOwner(Type, PropertyMetadata) assinatura se quiser fornecer metadados para a versão da propriedade de dependência, conforme adicionado ao tipo fornecido.

O valor retornado desse método normalmente é usado para declarar e expor a propriedade de dependência armazenando um identificador de propriedade de dependência. O identificador fornece acesso à propriedade de dependência se você quiser chamar APIs do sistema de propriedades em relação à propriedade de dependência, especialmente porque ela existe na classe de proprietário de adição. O mesmo nome de propriedade para proprietário original e proprietário adicionado deve ser usado para indicar a funcionalidade semelhante. Você deve usar o DependencyProperty valor retornado do AddOwner método para definir o identificador de propriedade de dependência e também para declarar wrappers de propriedade CLR, para propriedades de dependência adicionadas a tipos usando AddOwner.

A AddOwner metodologia recomendada acima é usada ao criar as propriedades de dependência declaradas no WPF. Por exemplo, e BorderControl definem uma BorderBrush propriedade de dependência, que tem funcionalidade semelhante. Control define sua BorderBrush propriedade para o sistema de propriedades chamando AddOwner com base no proprietário Border original e em seu identificador de propriedade de dependência registrado BorderBrushProperty . Em AddOwner seguida, o valor retornado é usado para estabelecer um novo campo estático DependencyProperty (BorderBrushProperty) para essa propriedade no proprietário adicionado e um BorderBrush wrapper de propriedade também é declarado.

Aplica-se a

AddOwner(Type, PropertyMetadata)

Adiciona outro tipo como um proprietário de uma propriedade de dependência que já foi registrada, fornecendo metadados de propriedade de dependência para a propriedade de dependência como ela existe no tipo do proprietário fornecido.

public:
 System::Windows::DependencyProperty ^ AddOwner(Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public System.Windows.DependencyProperty AddOwner (Type ownerType, System.Windows.PropertyMetadata typeMetadata);
member this.AddOwner : Type * System.Windows.PropertyMetadata -> System.Windows.DependencyProperty
Public Function AddOwner (ownerType As Type, typeMetadata As PropertyMetadata) As DependencyProperty

Parâmetros

ownerType
Type

O tipo a ser adicionado como proprietário desta propriedade de dependência.

typeMetadata
PropertyMetadata

Os metadados que qualificam a propriedade de dependência como ela existe no tipo fornecido.

Retornos

Uma referência ao identificador DependencyProperty original que identifica a propriedade da dependência. Esse identificador deve ser exposto adicionando a classe como um campo public static readonly.

Comentários

Esse método permite que o sistema de propriedades reconheça uma propriedade de dependência em um tipo que não registrou essa propriedade de dependência específica inicialmente.

O valor retornado desse método é usado para declarar e expor a propriedade de dependência, especialmente porque ela existe na classe de proprietário de adição. Em geral, o mesmo nome de propriedade para proprietário original e proprietário adicionado deve ser usado para indicar a funcionalidade semelhante. É uma boa prática expor os identificadores, bem como novos wrappers de propriedade CLR, para propriedades de dependência adicionadas a tipos usando AddOwner.

A AddOwner metodologia recomendada acima é usada ao criar APIs declaradas no WPF. Por exemplo, e BorderControl definem uma BorderBrush propriedade de dependência, que tem funcionalidade semelhante. Control define sua BorderBrush propriedade para o sistema de propriedades chamando AddOwner o proprietário Border original e seu identificador de propriedade de dependência registrado BorderBrushProperty . Em AddOwner seguida, o valor retornado é usado para estabelecer um campo estático DependencyProperty (BorderBrushProperty) para essa propriedade no proprietário adicionado e um BorderBrush wrapper de propriedade também é declarado.

O identificador de propriedade de dependência do proprietário adicionado deve ser usado para operações como GetValue. No entanto, operações específicas de tipo que envolvem tipos ou instâncias da classe que wer adicionou como proprietário com metadados diferentes ainda retornarão os resultados esperados. Isso é verdadeiro mesmo se o identificador de propriedade de dependência original (não o do proprietário adicionado) for especificado em chamadas para métodos como GetValue ou GetMetadata. Os metadados do proprietário adicionado são perpetuados pela AddOwner chamada em si, não necessariamente referenciados exclusivamente pelo campo adicionar identificador de classe de proprietário. No entanto, é uma boa prática expor o identificador, bem como novos wrappers de propriedade CLR, para propriedades de dependência que são adicionadas a tipos usando AddOwner, porque não fazê-lo cria disparidade entre as representações CLR e XAML de suas propriedades.

Os metadados fornecidos são mesclados com os metadados de propriedade para a propriedade de dependência como ela existe no proprietário base. Todas as características especificadas nos metadados base originais persistirão. Somente as características que foram alteradas especificamente nos novos metadados substituirão as características dos metadados base. Algumas características, como DefaultValue, serão substituídas se forem especificadas nos novos metadados. Outros, como PropertyChangedCallback, são combinados. Por fim, o comportamento de mesclagem depende do tipo de metadados da propriedade que está sendo usado para a substituição, portanto, o comportamento descrito aqui é para as classes de metadados de propriedade existentes usadas pelas propriedades de dependência do WPF. Para obter detalhes, consulte Metadados de propriedade de dependência e Metadados de propriedade da estrutura.

Aplica-se a