FrameworkPropertyMetadata.Inherits Propriedade

Definição

Obtém ou define um valor que indica se o valor da propriedade de dependência é herdável.

public:
 property bool Inherits { bool get(); void set(bool value); };
public bool Inherits { get; set; }
member this.Inherits : bool with get, set
Public Property Inherits As Boolean

Valor de Propriedade

true se o valor do imóvel for hereditário; caso contrário, false. A predefinição é false.

Exceções

Os metadados já foram aplicados a uma operação de propriedade de dependência, pelo que os metadados ficam selados e as propriedades dos metadados não podem ser definidas.

Exemplos

O exemplo seguinte obtém os metadados predefinidos de vários campos de propriedades de dependência, consulta o valor de várias FrameworkPropertyMetadata propriedades neles e utiliza a informação para preencher uma tabela e implementar um "navegador de metadados".

pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
    AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
    AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
    AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
        [Inherits].Text = If((fpm.Inherits), "Yes", "No")
    IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
    BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

Observações

A herança de valor de propriedade é uma característica do sistema de propriedades WPF ao nível do framework WPF, em que certas propriedades de dependência podem ser localmente definidas num elemento na raiz ou perto da raiz de uma árvore de elementos XAML e depois ter o seu valor herdado por todos os elementos dentro da árvore lógica de elementos filhos que também possuem essa propriedade. A herança do valor da propriedade não está ativada por defeito, e sua ativação tem algumas implicações de desempenho. Para mais detalhes, consulte Herança do Valor da Propriedade.

Note

Embora a herança do valor da propriedade possa parecer funcionar para propriedades de dependência não anexadas, o comportamento de herança para uma propriedade não ligada através de certas divisões objeto-objeto na árvore de runtime é indefinido. Sempre use RegisterAttached para registrar propriedades nas quais você especifica Inherits nos metadados.

As propriedades nas classes derivadas de PropertyMetadata são tipicamente definidas no modelo de objetos como leitura-escrita. Isto serve para que possam ser ajustados após a inicialização da instância. No entanto, depois de os metadados serem consumidos como parte de uma chamada a Register, AddOwner, ou OverrideMetadata, o sistema de propriedades selará essa instância de metadados e as propriedades que transmitem as especificidades dos metadados são agora consideradas imutáveis. Tentar definir esta propriedade depois IsSealed de estar true nesta instância de metadados irá gerar uma exceção.

Utilização de Texto XAML

Os membros desta classe normalmente não são usados em XAML.

Aplica-se a

Ver também