Binding.UpdateSourceTrigger 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 determina o tempo de vinculação de atualizações de origem para associações bidirecionais.
public:
property UpdateSourceTrigger UpdateSourceTrigger { UpdateSourceTrigger get(); void set(UpdateSourceTrigger value); };
UpdateSourceTrigger UpdateSourceTrigger();
void UpdateSourceTrigger(UpdateSourceTrigger value);
public UpdateSourceTrigger UpdateSourceTrigger { get; set; }
var updateSourceTrigger = binding.updateSourceTrigger;
binding.updateSourceTrigger = updateSourceTrigger;
Public Property UpdateSourceTrigger As UpdateSourceTrigger
<Binding UpdateSourceTrigger="updateSourceTriggerMemberName"/>
Valor da propriedade
Um dos valores UpdateSourceTrigger . O padrão é Default
, que é avaliado como um comportamento de PropertyChanged
atualização para a maioria das propriedades de dependência, mas é avaliado como LostFocus
para a TextBox.Text
propriedade .
Comentários
O comportamento padrão para a maioria das propriedades de dependência é PropertyChanged
. No entanto, o comportamento padrão para a propriedade TextBox.Text é LostFocus
. Para uma Associação a TextBox.Text
, você pode alterar o UpdateSourceTrigger
desta forma:
<TextBox Text="{x:Bind MyProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
No entanto, ele não terá nenhum efeito sobre um TextBox
no modelo de controle de outro controle, como NumberBox. Por exemplo, essa UpdateSourceTrigger
configuração não tem efeito.
<!-- This UpdateSourceTrigger setting has no effect. -->
<NumberBox Text="{x:Bind MyProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
Sua outra opção para um comportamento UpdateSourceTrigger é definir o valor como Explicit
. Quando uma associação bidirecional tem seu valor UpdateSourceTrigger como Explicit
, você deve chamar explicitamente UpdateSource na BindingExpression relevante para fazer com que os valores de destino alterados atualizem a fonte de dados. Use FrameworkElement.GetBindingExpression para obter uma BindingExpression de um objeto em que existe uma Associação a uma propriedade de dependência e essa associação é uma associação bidirecional com UpdateSourceTrigger="Explicit"
.
Não é possível definir os valores de propriedade de um objeto Binding depois que essa associação tiver sido anexada a um elemento de destino e à propriedade de destino. Se você tentar isso, obterá uma exceção em tempo de execução.