FrameworkPropertyMetadata.Inherits Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 da propriedade
true
se o valor da propriedade for herdável, caso contrário, false
. O padrão é false
.
Exceções
Os metadados já foram aplicados à operação de propriedade de dependência, portanto os metadados estão selados e as propriedades dos metadados não podem ser definidas.
Exemplos
O exemplo a seguir obtém os metadados padrão de vários campos de propriedade de dependência, consulta o valor de várias FrameworkPropertyMetadata propriedades nele e usa as informações para preencher uma tabela para 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")
Comentários
A herança do valor da propriedade é um recurso do sistema de propriedades WPF no nível da estrutura do WPF, pelo qual determinadas propriedades de dependência podem ser definidas localmente em um elemento na raiz de uma árvore de elemento XAML e, em seguida, ter seu valor herdado por todos os elementos dentro da árvore lógica de elementos filho que também possuem essa propriedade. A herança do valor da propriedade não está habilitada por padrão e habilitá-la tem algumas implicações de desempenho. Para obter detalhes, consulte Herança do valor da propriedade.
Observação
Embora a herança do valor da propriedade possa parecer funcionar para propriedades de dependência não desnatadas, o comportamento de herança de uma propriedade não desnatada por meio de determinadas divisões objeto-objeto na árvore de runtime é indefinido. Sempre use RegisterAttached para registrar propriedades em que você especifica Inherits nos metadados.
As propriedades em classes derivadas são PropertyMetadata normalmente definidas no modelo de objeto como leitura-gravação. Isso é para que eles possam ser ajustados após a inicialização da instância. No entanto, depois que os metadados forem consumidos como parte de uma chamada para Register, AddOwnerou OverrideMetadata, o sistema de propriedades selará essa instância de metadados e as propriedades que transmitem as especificidades dos metadados agora são consideradas imutáveis. A tentativa de definir essa propriedade depois IsSealed de estar true
nessa instância de metadados gerará uma exceção.
Uso de texto XAML
Os membros dessa classe normalmente não são usados no XAML.