BlendでCLRオブジェクトにデータバインドを設定し、Silverlightコントロール/ページを設計できる機能が大好きです。私の問題は、DataTemplateとして使用されるユーザーコントロールの作成です。ブレンドではすべて機能しますが、デザイン時にのみ機能します。問題は、私はBlendでコントロールを編集しています、と私はCLRオブジェクトのプロパティにテキストボックスを言うバインドするとき、それは私にこの与えることである。BlendのCLRオブジェクトに対するSilverlightデータバインディング
Text="{Binding Mode=OneWay, Path=TestAccount.Name, Source={StaticResource TestDataDS}}"
をしかし、私はアプリケーションを実行する準備ができていたとき、およびリストボックスと言うためのDataTemplate内でそのユーザーコントロールを使用して、私はそれだけでこのように見える必要があります。
Text="{Binding Mode=OneWay, Path=Name}"
を私はBelndに設計する気の利いたバインディングを使用するにはどうすればよいが、&検索/置換をタッチする必要はありませ私がプロジェクトを実行する準備ができたら、これらのバインディングはすべて必要ですか?私は設計時と実行時の両方で動作するアプローチを探しています。 Expression Blendの中CLRオブジェクトへのデータバインディングを作成するために
おかげで、
私はあなたに従わないと思います。 TestDataというシンプルなクラスを作成しました。これを使用してプロジェクトから水和オブジェクトを戻します。たとえば、名前プロパティを持つアカウントオブジェクトです。したがって、上記で貼り付けたコードでは、Expression Blendの中にリアルタイムで表示され、TextBlock TextプロパティをPath = {MyObject}。{Property}にバインドすると、Blendはオブジェクトに到達し、その水和物の値を取得しますオブジェクト。だから、デザイナーを見ると、その中にテキストが入ったテキストブロックが見えます。これにより、レイアウトを操作してコントロールがどのように見えるかを見ることができます。しかし、バインディングの構文は良いです... –
あなたはブレンドの中にいるとき。私が実行時にバインディングはもはや有効ではありません。なぜなら、テストオブジェクトに直接バインドする必要がないからです。DataContext内のオブジェクトにバインドする必要があります。したがって、最初のコードスニペットはBlendで動作しますが、2番目のコードスニペットは実行時に機能します。私が望んでいるのは、私に両方を与える解決策です。 –
私は、ブレンド内から実行時に動作するバインディングを設定する方法だけでなく、DesignTimeバインディングとランタイムバインディングが必要なことを理解しています。 – markti