Compartilhar via


Binding.RelativeSource Propriedade

Definição

Obtém ou define a origem da associação especificando seu local em relação à posição do destino de associação.

public:
 property System::Windows::Data::RelativeSource ^ RelativeSource { System::Windows::Data::RelativeSource ^ get(); void set(System::Windows::Data::RelativeSource ^ value); };
public System.Windows.Data.RelativeSource RelativeSource { get; set; }
member this.RelativeSource : System.Windows.Data.RelativeSource with get, set
Public Property RelativeSource As RelativeSource

Valor da propriedade

Um RelativeSource objeto que especifica o local relativo da fonte de associação a ser usada. O padrão é null.

Exemplos

O exemplo a seguir mostra um gatilho de estilo que cria um ToolTip que relata uma mensagem de erro de validação. O valor do setter se associa ao conteúdo de erro do atual TextBox (o uso do TextBox estilo) usando a RelativeSource propriedade. Para obter mais informações sobre este exemplo, consulte Como implementar a validação de associação.

<Style x:Key="textBoxInError" TargetType="{x:Type TextBox}">
  <Style.Triggers>
    <Trigger Property="Validation.HasError" Value="true">
      <Setter Property="ToolTip"
        Value="{Binding RelativeSource={x:Static RelativeSource.Self},
                        Path=(Validation.Errors)/ErrorContent}"/>
    </Trigger>
  </Style.Triggers>
</Style>

Para ver o exemplo completo, consulte Exemplo de Validação de Associação.

Comentários

Essa propriedade é comumente usada para associar uma propriedade de um objeto a outra propriedade do mesmo objeto ou para definir uma associação em um estilo ou modelo.

Por padrão, as associações herdam o contexto de dados especificado pela DataContext propriedade, se um tiver sido definido. No entanto, a RelativeSource propriedade é uma das maneiras pelas quais você pode definir explicitamente a origem de um Binding e substituir o contexto de dados herdado. Para obter mais informações, consulte Como especificar a origem da associação.

As Binding.ElementName propriedades e as Binding.Source propriedades também permitem que você defina a origem da associação explicitamente. No entanto, apenas uma das três propriedades, ElementNamee SourceRelativeSource, deve ser definida para cada associação ou um conflito pode ocorrer. Essa propriedade gerará uma exceção se houver um conflito de origem de associação.

Para obter informações sobre XAML, consulte RelativeSource MarkupExtension.

Aplica-se a

Confira também