2012-05-01 15 views
2

WPFを使用して、XAMLでバインドするときに設定パスに関連する質問があります。XAMLでのバインディングのパスプロパティの連結

私のDataContextがPropertyInfo型であるとします。 PropertyInfoには、Property Nameに関するデータが含まれています。

そのオブジェクトでは、TextBoxのTextプロパティを他のDataContextのその名前でプロパティにバインドしたいとします。そのような

何かが[それはそのようにはできませんので、それは擬似コードです]:

<DataTemplate> 
    <TextBox Text={Binding ElementName=someElement, Path=DataContext. + {Binding Path=Name}}/> 
</DataTemplate> 

私はその問題を解決する必要がある理由の柔軟なビューを作成したいです。 コードなしでこれを達成する方法はありますか?

上記をすべて考慮すると、質問を簡潔にして、バインディングのパスを設定しているときに文字列を連結する方法があるかどうかを尋ねることができます。

答えて

2

私が正しく理解しているかどうかは分かりませんが、これはマルチバインディングが役立つものでしょうか?

<TextBlock Grid.Row="3" Grid.Column="1" Padding="5"><TextBlock.Text> 
<MultiBinding StringFormat="[{0}, {1}]"> 
      <Binding Path="LastName"></Binding> 
      <Binding Path="FirstName"></Binding> 
</MultiBinding> 
    </TextBlock.Text> 
    </TextBlock> 
+0

実際はありません。 DataContextに格納されているバインディングパスに関する情報を持っていて、それを動的に設定したいとします。例のように。 propertyInfoとdatacontextの両方のオブジェクトを渡すためにMultiBindingを使用できますが、双方向バインディングを行うのは難しいでしょう。 –

+0

私は理解していますが、残念ながらこれを行うためのXAMLのみの方法についてはわかりません。インターフェイスにバインドして、実行時にビューモデル内で可変の具象実装を提供することは、実行可能なルートになる可能性があります。 – Stoffel

関連する問題