FrameworkPropertyMetadata.BindsTwoWayByDefault Propriedade

Definição

Obtém ou define um valor que indica se a propriedade se vincula bidirecional por defeito.

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

Valor de Propriedade

true se a propriedade de dependência sobre a qual estes metadados existem se liga bidirecionalmente por defeito; 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

Na ausência desta propriedade true, as atualizações de binding são unidirecionais por defeito, baseadas no comportamento padrão dos Binding construtores ou na sintaxe equivalente de XAML.

Nos elementos existentes, normalmente encontrará esta propriedade definida como true em metadados para propriedades de dependência que tanto reportam o estado como são modificáveis por ação do utilizador, por exemplo Selector.IsSelected.

Esta propriedade apenas reporta as características padrão de atualização de binding da propriedade de dependência em geral. Qualquer binding definido para esta propriedade numa instância pode localmente definir a Mode propriedade da binding e alterar este padrão.

As propriedades em quaisquer 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