BindingBase.ProvideValue(IServiceProvider) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve um objeto que deve ser definido na propriedade onde esta ligação e extensão são aplicadas.
public:
override System::Object ^ ProvideValue(IServiceProvider ^ serviceProvider);
public override sealed object ProvideValue(IServiceProvider serviceProvider);
override this.ProvideValue : IServiceProvider -> obj
Public Overrides NotOverridable Function ProvideValue (serviceProvider As IServiceProvider) As Object
Parâmetros
- serviceProvider
- IServiceProvider
O objeto que pode fornecer serviços para a extensão de marcação. Pode ser null.
Devoluções
O valor a definir na propriedade de alvo de ligação.
Observações
Esta implementação fornece o suporte sintático base para binding através da Extensible Application Markup Language (XAML) para todas as classes derivadas práticas fornecidas (Binding, PriorityBinding, e MultiBinding).
Espera-se que a BindingBase implementação de classes deste método devolva um objeto de expressão que seja o resultado de uma ligação. Associar uma propriedade funciona ao direcionar um dado DependencyProperty sobre um dado DependencyObject. Estas duas informações são transmitidas através da consulta por uma implementação IProvideValueTarget no serviceProvider, que o leitor XAML WPF disponibiliza durante a análise de uma ligação. Esta implementação da classe base é responsável por verificar um válido DependencyProperty e DependencyObject. Se estes forem encontrados, a implementação real de devolver uma expressão de ligação cabe sobre várias classes derivadas, como implementado ao fazer com que a classe base chame um método abstrato interno. Caso contrário, a extensão devolve o próprio objeto de ligação. Devolver a ligação resulta num erro de desajuste de tipo, mas isto não deve ocorrer em circunstâncias normais.
Importante
Como a sintaxe para binding através de XAML, tal como implementada neste método, depende da implementação de um overpost interno, e porque BindingBase.ProvideValue ela própria está selada, uma classe de binding personalizada que deriva de BindingBase não funcionará corretamente como uma extensão de marcação XAML.