1

プロパティ名をバインドすることは可能ですか。試してみると、実行時エラーが発生するようです。

例えば:

<button Name="{Binding UniqueID}" Click="ButtonHandler">

これは、グリッドビューのコレクションのヘッダーにあります...

4

2 に答える 2

1

名前をバインドすることはできません、ごめんなさい。それは内部であまりにも多くのことに使用されており、できれば物事はきっと夢中になります。ドキュメントは少し曖昧ですが、これを言ってください:(私の強調)

Nameの文字列値をデータバインディングソースの直接ソース値として使用することはできません。バインディングを使用してUIでNameと同じ文字列値を表示する必要がある場合は、同じ値をTagプロパティに複製する必要があります。これは、プロパティバインディングソースとして使用できます。また、Nameをバインディングターゲットとして使用しないでください。

MSDN:FrameworkElement.Name

ただし、UIコントロールにランダムな追加データを添付する場合は、代わりに添付プロパティを使用することをお勧めします。そうすれば、タグとは異なり、それらはあなたがしていることに明確に関連付けられ、適切に入力されます。

MSDN:カスタム添付プロパティ

于 2013-02-19T00:27:50.233 に答える
0

ええと、私はドキュメントを何度も読みましたが、それを機能させる方法を見つけることができません。ドキュメントには、それができないとは書かれていませんが、それもできるとは書かれていません。

ただし、2つの回避策が見つかりました。名前をバインドする代わりに、TagまたはDataContectを使用していない場合は、それらを検索し、ハンドラーで文字列としてキャストして抽出できます。

エレガントではありませんが、期待どおりに機能しているようです。

于 2013-02-14T20:52:36.960 に答える