問題タブ [xamlreader]

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 に答える
7927 参照

wpf - XamlReaderがDataTemplateを生成する際の問題

動的列を持つDataGridのDataTemplatesをオンザフライで生成するために、以下のコードをWPFプロジェクトに実装しようとしています。StackOverflowでコードを見つけまし

ただし、XamlReader.Loadコードで、「「文字列」から「System.Xaml.XamlReader」に変換できません」というエラーが表示されます。

コードを次のように変更して、これを回避しようとしました。

しかし、文字列に無効な文字を渡すことについてエラーが発生します。

また、TextBlockをこのコードに渡す方法がわかりません。TextBlockを作成し、それをType引数として渡すことを想像しましたが、「「System.Windows.Controls.TextBlock」から「System.Type」に変換できません」というエラーが発生します。

助けていただければ幸いです。

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

.net - XamlWriter.Save() 操作の進行状況を監視するにはどうすればよいですか?

保存して後でロードしたい FlowDocument があります。

XamlWriter.Save() と XamlReader.Load() でこれを行うことができると思います。

動作しますが、時間がかかります。かかる時間はかかる時間だと思いますが、UI をよりシンプルにするために、保存の進行状況を示すプログレスバーを表示したいと思います。

しかし、どうすればの進行状況を監視できXamlWriter.Save()ますか?

保存のための 1 つのアイデアは、宛先ストリームの周りにシン ラッパー クラスを作成することです。次に、Write() メソッドを介して送信されたバイト数をカウントすることで、進行状況を追跡できます。これは機能しますが、完了率を把握する方法がないため、進行状況は自由です。

読む側でも似たようなことができると思います。

誰かがこれをしましたか?XamlWriter.Save() の進行状況を追跡する良い方法は何ですか?

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

c# - 動的にロードされる xaml にバインディングが適用されない

私はXamlReader正常にxamlファイルをロードし、FrameworkElement作業するファイルを作成しています。

読み込んでいる xaml には、次のようなバインディング式が含まれています。

取得した FrameworkElement をXamlReader.Load()WPF ウィンドウに配置すると、バインディングはすべて正常に機能します。

ただし、この場合、WPF/XAML からの PNG の作成に関する Laurent Bugnion の優れた記事を使用しています。の結果はXamlReader.Load()を介し​​て PNG に直接書き込まれるため、VisualBrushバインド式を呼び出すために必要な WPF のメカニズムがバイパスされているようです。

これにより、実際のバインディングは を呼び出すだけでは実際には呼び出されてXamlReader.Load()いないか、またはFrameworkElementを既存のビジュアル ツリーか何か。

これらのバインディングが確実に呼び出されるようにするためにできることはありますか?

よろしくお願いします。

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

c# - C# XAML ファイルからモジュール カタログを作成する

プリズム ライブラリのコンテキストで xaml ファイルからモジュールをロードする際に問題があります。モジュールの xaml は次のようになります。

これまでのところ、パーサーはこの xaml を検出しますが、HelloWorldModule.dll を検出しません。これらはすべて Silverlight 用であるため、ドキュメントに役立つものは見つかりませんでしたが、私のプロジェクトは WFP アプリです。

shell.exe への相対パスは次のとおりです。

HelloWorldModule.dll へのパスは次のとおりです。

問題は、「Ref」属性が期待する値は何かということです。HelloWorldModule.dll の絶対パスですか?

2 番目の質問は、ModuleType 属性にどのような値を設定する必要があるかです。

クラス型名に名前空間が含まれていますか?

次の質問は、HelloWorldModule.dll は Shell.exe と同じフォルダーにあるのでしょうか? ありがとう、ユルゲン

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

wpf - generic.xaml を読み込んでリソース ディクショナリをマージするときに XamlReader がスローされる

コードで generic.xaml を読み込もうとすると、XamlParseException がスローされます。次のようにコードします。

アイデアは、リソース ディクショナリをベースページにマージすることです。{StaticResource DarkBrush}次に、派生ページは、たとえばを使用して、基本クラスからスタイル、色、ブラシなどを使用できます。

しかし、上記のコードはスローします:

'' (16 進値 0x0C) は無効な文字です。行 1、位置 1。

generic.xaml ファイルは、VS2010 で標準的な方法で作成されました。Build Action を Resource に設定しようとしましたが、それもうまくいきませんでした...

Microsoft からコード サンプルを入手しました。そこでは、ページをロードするために使用されました。どんな助けでも大歓迎です。

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

xaml - すべてのオブジェクトのリストを取得するために、カスタム クラスを持つ xaml ファイルを解析する方法は?

私は同様の投稿をたくさん見ましたが、私の場合は何もうまくいかないようです。私がしたいのは、(他のアセンブリにある) xaml ファイルをロードし、さまざまな要素/オブジェクトを反復処理して、特定の属性値をチェックすることだけです。単純な XML ファイルとして読み取ることもできましたが、スタイルなどは xml 解析では把握できません。いろいろ調べた結果、以下の2点を試しました。

  1. xaml からを削除し、これx:Class=".."にも を追加しassembly=XBase.UIました (元の xaml にはこれがなく、動的にロードするときにアセンブリを指定する必要があることを読んだため)、残りのファイルを xml ストリームとしてロードしました。次に、XamlReader.Load(stream) を呼び出しました

これは、クエリを投稿した人には機能するようですが、例外が発生します

2 番目に試みたのは、XamlReader.Parse を使用し、それに加えて ParserContext を提供することでした。これは私がしたことです:

これも例外をスローします。

元の xaml ファイル

ここで私を助けてください。これが私が望むものを達成するための正しい方法であるかどうかさえわかりません。XmlDocument の GetElementsByTagName 以外に、特定の種類のすべての要素をより意味のある方法で一覧表示する別の方法がある場合は、お知らせください。

前もって感謝します!

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

wpf - XamlReader - 複数の CLR 名前空間を単一の XML 名前空間にマッピングする

AssemblyInfo.cs複数の CLR 名前空間を単一の XML 名前空間にグループ化する WPF プロジェクトがあります。

XAML では、これは次のように使用されます。

これは、XAML が正常にインスタンス化されている場合にうまく機能しますが、現在、XamlReader.

問題: 複数の CLR 名前空間を単一の XML 名前空間にマップできないようです。に最後に追加された定義XamlTypeMapperだけが残っているようです (たとえば、以前の登録が上書きされます)。

エラーメッセージは次のとおりです。

すべてのコードを単一の共通 CLR 名前空間に配置すると、すべてが機能しますが、残念ながらこれはオプションではありません。XAML コンテンツを動的にロードする目的で、複数の CLR 名前空間を単一の XML 名前空間にマップした人はいますか?

前もって感謝します!

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

xaml - XamlReader.Load()によってロードされているファイルでResourceDictionaryを正常に参照しています

アプリの共通のヘルプ/情報を表示する共通のWP7アセンブリを構築しています。各アプリのアセンブリは、アプリ固有の情報の一部を含むStackPanelのペアを指定します(em Legal.xamlおよびWhatsNew.xamlと呼びます)。

理想的には、これらのアプリ固有のXAMLファイルはプレーンテキスト形式(コードでインスタンス化されるものではなく)である必要があるため、HTTP経由または埋め込みリソース文字列としてロードできます。

XAMLの読み込みは正常に機能しますが、スタイル定義の一部を別のファイルに分割しようとすると、XamlReader.Load()が失敗し、次のようになります。「属性AboutPageDocs/CommonStyles.xaml値が範囲外です。[行:43位置:45]」</ p>

このエラーは、Legal.xamlをロードするときに発生します。これは、43のように見えると、カスタムスタイルを含むResourceDictionaryをロードしようとしている場所を見つけます。

これがバガーです...StackPanelコード(実行時に動的にロードされます)をコピーして貼り付け、UserControlにドロップすると...問題なく動作します。

Legal.xamlとWhatsNew.xamlの両方でスタイルをインラインで定義する必要はありません...XamlReader.Load()プロパティでCommonStyles.xamlを検索する方法はありますか?

ソースパスが正しくないと考えて、CommonStyles.xamlのコピーを両方のアセンブリを介してさまざまな場所に配置しようとしました...また、pack://uri構文を試しました...これまでのところ役に立ちませんでした。

私は何が欠けていますか?

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

c# - 名前を付けて、ボタンのイベントハンドラーを宣言します。実行時にC#XamlReaderで作成されます。

テキスト、画像、ボタンを含むグリッドレイアウトを動的に作成するC#とWPFのプロジェクトに取り組んでいます。これらのグリッドの多くを作成し、スタックパネルに追加します。XamlReader.Create()関数を使用してこのグリッドを作成します。これがコード全体です。Xamlコードが長すぎることをお詫びします。

これは私にとってはうまく機能し、実行時にグリッドレイアウトを生成する正しい方法だと思いましたが、ボタンに名前を付けてイベントハンドラーを定義する必要があるため、これは崩壊します。ボタンの説明をに変更しようとすると

XAMLParse例外が発生します。これについて読んだ後、実行時にxamlでこれらのことを宣言できるかどうかはわかりません。だから今、私はこれを他にどのように行うかについて非常に混乱しています。グリッドを作成した後で名前を変更することはできません。これは、呼び出される名前がないためです。名前がなくてもUIElementの子にアクセスする方法はありますか?または、実行時にXAMLで名前を宣言し、それを間違って実行する方法はありますか?

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

wpf - クリック イベントを持つ XamlReader

WPF プロジェクトでXamlReaderを使用しています。そしてそれは機能します(私の参照

私の現在のサンプル Xaml は次のようなものです。

次のようにボタンのクリックイベントを追加します。

このようにxamlを書くことは可能ですか?