2

これはもっと抗議かもしれませんが、SilverlightコードでDataTemplatesを構築することは不可能のようです。XamlReader.Load(string)を使用していることを私が知っている1つのオプションは、このアプローチを使用していくつかの問題に遭遇します。

  1. 検証は行われず、すべてが連結された文字列で行われます。私たちは皆、これが悪いことを知っています

  2. これは独自のコンテキストで実行されるため、必要なリソースを含める必要があります。論理的な説明があり、ショーストッパーではありませんが、これも悪いことです。

  3. DataTemplate内にイベント呼び出しを含めようとすると、InvalidOperationExceptionで失敗します。制御用の無効なXAML:XamlReader.Load()はイベントハンドラーを受け入れません。

No.3は私にとっては目立たないようです。誰かがこれを行うための別の/より良い方法に向けていくつかの手がかり、ポインタ、またはアイデアを与えてくれれば幸いです。

WPFには、支援を提供できるFrameworkElementFactoryがありますが、Silverlightではこれに対する解決策はないようです。

4

1 に答える 1

0

たぶん、コードでデータテンプレートを作成する必要はありません。あなたは本当にそれをする必要がありますか?

(#2)xamlリソースを含める必要はありません。リモートのどこかに存在する可能性があります。あなたがしなければならないのはそれをリモートでロードすることです。しかし、多分私はあなたが言ったことを理解していません。

于 2010-09-23T09:05:51.157 に答える