2011-10-05 64 views
1

我在動態加載的XAML文件中有一個按鈕。Wpf將字符串綁定到名稱屬性

<Button Name="{Binding Template_Text1}" 
     Width="800" Height="76" 
     Content="{Binding Template_Text1}" 
     Style="{DynamicResource RoundedButton}"/> 

如果我給一個靜態名稱按鈕,一切都會好的。 那麼,我該如何將一個字符串變量綁定到NAME屬性?

+3

數據綁定只能與依賴屬性一起使用,名稱不是其中之一 – Ariel

+1

名稱是一個依賴屬性,但是非常特殊。看到我的答案。 –

回答

2

From the MSDN

名稱是極少數依賴屬性是不能 動畫(IsAnimationProhibited是真正的元數據)中的一個,因爲 名字本身就是靶向動畫至關重要。數據綁定名稱 在技術上是可行的,但是是非常罕見的情況,因爲 數據綁定名稱不能用於 屬性的主要預期用途:爲代碼隱藏提供標識符連接點。

換句話說:你在做什麼是非常棘手的,所以再想想你是否真的需要它。

2

在上面留着@ Erno的寶貴意見,我想你可以更改通過綁定行爲通過附加屬性的名稱。

<Button local:NameAnimationBehavior.Name="{Binding Template_Text1}" ... /> 

而且NameAnimationBehavior裏面,NameProperty的依賴屬性改變處理,與e.NewValue發件人的Name屬性更改。

+0

謝謝,我想我會使用自定義屬性來存儲我需要的信息。 –

相關問題