2011-10-05 15 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

上記のことを心に残しておいてください。変更添付された動作によってバインドされたプロパティの名前。

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

そしてNameAnimationBehavior内、NamePropertyの依存関係プロパティにe.NewValueと送信者のNameプロパティを変更し、ハンドラを変更しました。

+0

ありがとう、私は私が必要とする情報を格納するカスタムプロパティを使用すると思います。 –

関連する問題