2012-02-18 81 views
1

我正在構建一個WPF應用程序,並且在我的窗口的代碼隱藏(實際上是一大堆)中有一些DependencyProperties。我想將文本框綁定到這些字符串值之一。如果我使用{Binding ObjectName}它只是不起作用,它抱怨沒有在輸出中找到屬性。如果我使用{Binding ObjectName, ElementName=window}(其中window是我的Window實例名稱),它可以工作。但是我有很多綁定,我不想每次都使用ElementName屬性。是否有任何將所有元素名稱默認爲窗口對象的快捷方式,因爲所有的綁定都具有相同的元素?如何擺脫在XAML WPF綁定中使用ElementName

謝謝, 可以。

回答

1

綁定的默認來源爲FrameworkElement.DataContext,因此您必須將窗口的DataContext屬性設置爲您窗口的實例,例如DataContext = this;

+0

我試圖將窗口的DataContext設置爲DataContext =「{RelativeSource Self}」,但它不起作用。當我試圖刪除ElementName時,它會回到默認值,打破綁定。 – 2012-02-18 18:00:25

+0

哦,我的壞。我將它更改爲'DataContext =「{Binding RelativeSource = {RelativeSource Self}}」'現在它可以工作。謝謝。 – 2012-02-18 18:05:00