問題タブ [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 投票する
1 に答える
373 参照

wpf - XamlWriter は、ResourceDictionary の保存中に "x:Name" 属性をスキップします

カスタムスタイルは次のとおりです。

このスタイルを含むこの ResourceDictionary を次のように文字列に保存します。

ここで、s は ResourceDictionary です。問題は、期待される文字列を取得すると、次のようになることです。

Border.RenderTransformのTranslateTransformをご覧ください。ResourceDictionary には x:Name="translation" がありますが、出力文字列に名前がありません。

どこを間違えたのですか、これはバグですか? 前もって感謝します。

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

xaml - WPF: XAML シリアル化されていない ReadOnly 属性を持つプロパティ

私は、Windows フォーム PropertyGrid を使用してユーザーがオブジェクトのプロパティを表示および変更できるようにする C# WPF アプリケーションに取り組んでいます。一部のプロパティは表示したいがロックしたいので、それらの ReadOnly 属性を true に設定しています。

ただし、プロジェクトの他の場所では、XAML シリアライザーを使用してオブジェクトをシリアル化しているため、ReadOnly 属性が設定されたプロパティがシリアル化から省略されていることがわかりました。

これを実証するには:

このコードの実行:

出力を与えます:

明らかに 'b' プロパティがありません。

これは正しい動作ですか?ReadOnly が true に設定されているプロパティをシリアル化することはできますか?

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

c# - 名前 'XamlWriter' は現在のコンテキストに存在しません

.NET Framework 4.5.2 を使用して、(Windows 10 で) ユニバーサル Windows アプリケーションを開発しています。

「XamlWriter」と「XamlReader」を使用して xaml オブジェクトを複製しようとしていますが、ビジュアル スタジオにはこのクラスへの参照がないようです。私は得ています:

名前 'XamlWriter' は現在のコンテキストに存在しません

また、私のビジュアル スタジオにはSystem.Windows.Markup名前空間 ('XamlWriter' と 'XamlReader' を含む) がなく、System.Windows.Input.

私はウェブを検索しましたが(もちろんここでも)、答えが見つかりませんでした。手がかりに感謝します。

ありがとう。

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

c# - XpsDocumentWriter の既定の XamlWriter を置き換えるにはどうすればよいですか?

これは非常に遅い既知の問題ですXamlWriter.Save(Google の「xamlwriter が遅い」だけです)。私が作成したアプリケーションは、XPS ドキュメントを生成し、使用する要素の範囲が限られています。XamlWriterしたがって、より効率的なものに置き換えたいと思います。XamlWriter使用するデフォルトを置き換えることは可能XpsDocumentWriterですか?


リサーチ

以下は、XpsDocumentWriter が Xaml にシリアル化される方法です。

これは私がに書く方法ですXpsDocument

そこで、VisualsCollat​​or が Xaml にシリアル化するときに使用するシリアライザーを変更したいと考えています。

VisualsCollator実際には次のVisualsToXpsDocumentとおりです。

そして、PackageSerializationManager _manager実際には次のXpsSerializationManagerとおりです。

そして、継承する PackageSerializationManager は次のとおりです。


私がこれまでに持っている最も近い非解決策

メソッドを継承してオーバーライドすることを考えXpsSerializationManagerSaveAsXamlいましたが、値を返さないか、ストリームや書き込み対象のオブジェクトを提供しないため、実際にオーバーライドする方法がわかりません。PackageSerializationManager _managerそれをしてもリフレクションを使ってクラスのフィールドを変更しなければならないVisualsToXpsDocumentので、ちょっとハックです。

これまでのところ、解決策はありません。


未完成の潜在的な XamlWriter

シリアライザーを置き換えることができる場合は、ここで見つけたカスタムの例を次に示しXamlWriterます。

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

xaml - 実行時に xaml ファイル (ページ) を生成し、それを uri で参照する

ユーザーがコントロールを追加してからドラッグ/ドロップ/サイズ変更などできるGUIデザイナー部分を持つモダンUIに基づくwpfアプリケーションに取り組んでいます。コントロールの位置、サイズなどのプロパティは、データベースのテーブルに保存されます。ユーザーがコントロールを配置できるページがいくつかあります。

私が持っているもの: アプリケーションの開始時に、コントロールはページ ID に基づいてページ (xaml ファイル) のキャンバスに配置されます。コンパイルすると、これらのページはすべてプロジェクトに含まれます。

私が欲しいもの: これらのページを動的にインスタンス化し、それぞれを uri で参照できるようにする方法が必要です。

私が試したこと:「テンプレートページ」を作成し、そこから新しいページをそれぞれインスタンス化しようとしました。次に、コントロールを配置します。次に、xamlwriter.save を使用して、Uri で参照できるようにしたい xaml ファイルを作成します。しかし、xaml ファイルを参照しようとすると失敗します。

私の解決策で私を助けることができる場合、またはより良い方法がある場合は、私に教えてください.

よろしく、フレドリック