Binding.ElementName Propriedade

Definição

Obtém ou define o nome do elemento a ser usado como a origem da associação para a Associação.

public:
 property Platform::String ^ ElementName { Platform::String ^ get(); void set(Platform::String ^ value); };
winrt::hstring ElementName();

void ElementName(winrt::hstring value);
public string ElementName { get; set; }
var string = binding.elementName;
binding.elementName = string;
Public Property ElementName As String
<Binding ElementName="nameString"/>

Valor da propriedade

String

Platform::String

winrt::hstring

O valor da propriedade Name ou do atributo x:Name para o elemento que você deseja usar como a origem da associação. O padrão é uma cadeia de caracteres vazia.

Exemplos

O exemplo de código a seguir demonstra como estabelecer uma associação bidirecional entre um TextBox e um controle Slider . Para obter a listagem de código completa, consulte o cenário 1 no exemplo de associação de dados XAML.

<Slider x:Name="slider1" Minimum="1" Maximum="100"/>
<TextBox Text="{Binding ElementName=slider1, Path=Value, Mode=TwoWay}"/>

Comentários

Quando você define essa propriedade, o valor especificado deve se referir a um elemento em um dos seguintes locais:

  • O namescope XAML atual.
  • O namescope XAML do pai modelo se o destino de associação estiver em um modelo de dados ou modelo de controle. Devido a essa restrição, você não pode usar a propriedade ElementName para associar a elementos que não são criados usando XAML. Para associar a elementos criados programaticamente, use a propriedade Source . Source, RelativeSource e ElementName são mutuamente exclusivos em uma associação. Se você tiver definido um desses atributos, definir um dos outros dois em uma associação (por meio de XAML ou por meio de código) causará uma exceção.

As associações que usam um valor ElementName quase sempre incluem um Caminho simples que nomeia uma propriedade que existe no objeto que está sendo referenciado. É comum que a propriedade de origem do elemento nomeado e a propriedade de destino no destino tenham o mesmo nome e usem o mesmo tipo de valor. Esse é um cenário que você vê com frequência em definições de modelo de controle que controlam partes, mas propriedades de superfície das partes. Se as propriedades de origem e destino usarem tipos diferentes, especifique um valor converter que possa resolve a diferença de tipo e retornar um valor apropriado para o destino.

Para obter mais informações sobre namescopes XAML e como eles influenciam associações e outros acessos programáticos a objetos criados com base em XAML, consulte Namescopes XAML.

O valor de ElementName pode tecnicamente ser qualquer cadeia de caracteres, mas os valores do atributo Name e x:Name são impostos para serem válidos na gramática XamlName, portanto, você normalmente é associado por essa gramática para um valor ElementName também. Para obter mais informações sobre o que é válido para um nome de elemento, consulte a seção "Gramática XamlName" na referência de atributo x:Name .

Você não pode 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, receberá uma exceção em tempo de execução.

Aplica-se a

Confira também