Binding.ElementName 屬性

定義

取得或設定做為 Binding之系結來源的專案名稱。

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"/>

屬性值

String

Platform::String

winrt::hstring

您要做為系結來源之專案的 Name屬性或 x:Name 屬性 的值。 預設為空字串。

範例

下列程式碼範例示範如何在 TextBoxSlider 控制項之間建立雙向系結。 如需完整的程式代碼清單,請參閱 XAML 資料系結範例中的案例 1。

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

備註

當您設定此屬性時,指定的值必須參考下列其中一個位置中的元素:

  • 目前的 XAML 名稱範圍。
  • 如果系結目標位於資料範本或控制項範本中,則為樣板化父系的 XAML 名稱範圍。 由於這項限制,您無法使用 ElementName 屬性系結至未使用 XAML 建立的專案。 若要系結至以程式設計方式建立的元素,請改用 Source 屬性。 SourceRelativeSource和 ElementName 在系結中互斥。 如果您已設定其中一個屬性,則透過 XAML 或程式碼) ,在系結 (設定其他兩個屬性的其中一個會導致例外狀況。

使用 ElementName 值的系結幾乎一律包含一個簡單的 Path ,以命名所參考物件上存在的屬性。 來自具名專案的來源屬性和目標上的目的地屬性具有相同的名稱,並使用相同的實數值型別,這是您在複合控制群組件但介面屬性的控制項範本定義中經常看到的案例。 如果來源和目的地屬性使用不同的類型,請指定可解析類型差異的 Converter 值,並為目的地傳回適當的值。

如需 XAML 名稱範圍的詳細資訊,以及它們如何影響從 XAML 建立之物件的系結和其他程式設計存取,請參閱 XAML 名稱範圍

ElementName 的值在技術上可以是任何字串,但 Namex:Name 屬性 的值會在 XamlName 文法中強制執行為有效,因此您通常也會系結該元素名稱值的文法。 For more info on what's valid for an element name, see the "XamlName grammar" section in the x:Name attribute reference.

在系結附加至目標元素和目標屬性之後,您無法設定 Binding 物件的屬性值。 如果您嘗試這樣做,將會收到執行時間例外狀況。

適用於

另請參閱