問題タブ [xamlwriter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1198 参照

.net - XamlWriter.SaveがBaseUriプロパティをシリアル化しないようにするにはどうすればよいですか?

WPFアプリケーションのテーマエディターを作成しています。XAMLファイルを動的に生成してから、アプリケーションで使用されるDLLにコンパイルします。XAMLファイルの生成に使用されるコードは、次の行に沿っています。

私の問題は、プロパティXamlWriter.Saveもシリアル化することです。BaseUri

その結果、アプリケーションがこの画像をフェッチしようとすると、が設定されていないため、画像が見つかりませんBaseUri。通常、XAMLパーサーはこのプロパティを(IUriContextインターフェイスを介して)設定しますが、XAMLで既に明示的に設定されている場合、パーサーはそれを設定しないため、nullのままになります。

プロパティのXamlWriterシリアル化を防ぐ方法はありますか?BaseUri

カスタムクラスをシリアル化する場合は、ShouldSerializeBaseUri()メソッドを追加するか、明示的に実装することができIUriContextます(両方のオプションを試したところ、目的の結果が得られました)が、どのように実行すればよいBitmapImageですか?

最後の手段として、XAMLファイルをロードし、Linq to XMLで属性を削除することもできましたが、よりクリーンなソリューションを望んでいました。

0 投票する
0 に答える
248 参照

wpf - WPF: XamlWriter.Save は "Run" インラインを別の方法で保存します - タグを使用する場合と使用しない場合 (単純なテキストとして)

テキストブロックには 3 つの実行インラインがあります。私はそれをxmlに保存する必要があり、そのためにXamlWriter.Saveを使用します。その結果、次のようになりました。

問題は、この xaml が wpf フレームワークを使用せずに純粋な xml として解析されることです。パーサーを正しく動作させるには、xaml が次のように表示されるようにする必要があります。

たとえば、すべてのインラインは個別のタグです。これどうやってするの?XamlWriter と Inlines コレクションのプロパティと設定を調べましたが、それに対応するものは見つかりませんでした。

0 投票する
2 に答える
1484 参照

c# - TFS 2010: ディクショナリを逆シリアル化できないのはなぜですか逆シリアル化に XamlReader を使用できる場合は XamlWriter.Save を使用

上記のステートメントは を返しますNotSupportedException

奇妙なことにXamlReader、辞書をシリアライズするために を使用できます。

XML:

0 投票する
2 に答える
1804 参照

c# - BackgroundWorkerスレッドでのFlowDocumentの作成

FlowDocument大量のデータセットから動的に生成する必要があります。このプロセスには数分かかるため、UIをハングさせるのではなく、バックグラウンドスレッドで操作を実行したいと思います。

ただし、FlowDocumentUI以外のスレッドでを生成することはできません。そうしないと、長方形を挿入しようとすると、画像がSTAスレッドではないことを示す実行時エラーが発生します。

StackOverflowには、私が抱えているのと同じ問題を抱えているように見えるスレッドがいくつかあります。

最初のリンクで、誰かが次のことを提案しています。

「私がすること:を使用して、XamlWriterをにシリアルFlowDocument化しXDocumentます。シリアル化タスクにはDispatcher、が含まれますが、一度実行すると、データの奇抜な並列分析を必要なだけ実行でき、UIの何も影響しません。(また、一度それXDocumentをクエリするとXPath、問題が実際に釘である限り、これはかなり良いハンマーです。)」

誰かがこれによって作者が何を意味するのか詳しく説明できますか?

0 投票する
2 に答える
1873 参照

c# - XamlWriter を使用して配列を保存する

オブジェクトのコレクションをXamlWriter可能な限り簡単な方法で保存しようとしています。何らかの理由でそれらを配列として保存すると、無効な XML が生成されます。

出力:

XamlReaderスローを使用してこれを読み取ろうとしています:

「[」文字 (16 進値 0x5B) は、名前に含めることはできません。行 1、位置 7

List<T>代わりにとして保存しようとしましたが、通常の XAML ジェネリック エラーが発生します。それを行う簡単な方法はありますか (できれば LINQ を使用)、または独自のラッパー型を定義する必要がありますか?

0 投票する
1 に答える
535 参照

windows-runtime - WinRTでXamlFramworkElementのクローンを作成します

FrameworkELementWinRTのCodeBehindにクローンを作成する必要があります...

私はインターネットで解決策を見つけましたが、この回避策はWinRTでは利用できないため、WinRTでは機能しませXamlWriterん。XAML要素の正確なコピー(クローン)を取得する簡単な/組み込みの方法はありますか?

私の別のインスタンスを取得する他の方法はありますFrameworkElementか?

0 投票する
1 に答える
336 参照

c# - XamlWriter.Save(object obj、Stream stream)から文字列を取得します

から文字列を取り戻すことはできますXamlWriter.Save(myBF, stream)か?私はそれが必要なので、データベースに文字列を保存します。この答えからの例で私が変更しなければならないこと

0 投票する
2 に答える
1823 参照

c# - XamlWriter.Save() は DependencyProperties をシリアル化していません

私の UserControl から次の XAML を検討してください。

関連するイベント ハンドラー:

TextBlock が読み込まれると、次の出力がコンソールに書き込まれます。

次に、この代替 XAML を検討してください。

TextBlock が読み込まれると、次の出力がコンソールに書き込まれます。

TextProperty がシリアル化されていないことに注意してください。

XamlWriter.Save() への呼び出しの前に、次の TextProperty 割り当てが追加された場合:

その後、TextBlock が読み込まれると、次の出力がコンソールに書き込まれます。

TextProperty が再びシリアル化されていることに注意してください。

このブログ投稿では、「...プロパティが DependencyProperty によってサポートされている場合...プロパティは、実際に設定されている場合にのみ書き込まれます」と説明しています。

最初の使用例では TextProperty が実際に設定されているように見えますが、ListBox と DataTemplate を使用した 2 番目の使用例では設定されていません。

これが事実である理由と、この障害を克服する方法を誰かが説明できますか?

XAML パーサーは、依存関係プロパティで SetValue を呼び出すのではなく、TextBlock の状態を何らかの方法で内部的に設定していると推測されますが、DataTemplate 内の要素に対してのみこれを行う理由がわかりません。