問題タブ [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 に答える
1432 参照

silverlight - Silverlight 3.0 カスタム ListBox DataTemplate にチェックボックスがあり、チェックされたイベントが発生しない

ListBox のデータ テンプレートは、XamlReader.Load によって動的に設定されます。VisualTreeHelper.GetChild を使用して CheckBox オブジェクトを取得することで、Checked イベントをサブスクライブしています。このイベントは発生していません

コードスニペット

チェックされたイベントを処理する方法は? 助けてください

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

wpf - 既定のコンストラクターなしで XamlWriter を使用して WPF コンポーネントをシリアル化する

私の例では、 aと aFixedDocumentを使用して、wpf コンポーネントをシリアル化できることがわかりました。XamlWriterMemoryStream

そして、それを取り戻すには:

ただし、今は a もシリアル化できる必要がありDocumentPageます。XamlReader.Load呼び出しで例外をスローさせるデフォルトのコンストラクターがありません。

デフォルトのコンストラクターなしで wpf コンポーネントをシリアル化する方法はありますか?

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

.net - WPF:実行時にページまたはユーザーコントロール(どちらもOK)のXAMLを置き換えますか?

実行時に XAML ファイルを解析し、ページ グリッドに挿入できる UIElement を作成できることはわかっていますが、問題はありません。

しかし、私が本当に望んでいるのは、自分のページまたはユーザー コントロールの XAML 全体を置き換えることです。それも可能ですか?

理由:

アプリケーションのユーザーに、アプリケーションを実行する機会を与えたい (起動には時間がかかります。これは、いくつかのレガシーの問題のために短縮できません)。Blend で「ctrl + s」でビューを更新するだけです。

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

c# - XamlWriter/Reader -> 複数のコンストラクター呼び出しにより要素が重複する

私はちょっとここで立ち往生しています。XamlWriter.Save() を介してドラッグされた UIElements をシリアル化する dragndrop-library を使用しています。

今、Grid を拡張するクラスのいくつかのインスタンスをドラッグドロップしようとしています。コンストラクターで、いくつかの要素をビジュアル ツリーにプッシュします。オブジェクトが逆シリアル化され、要素が再び追加されると、コンストラクターが呼び出されます (ドラッグドロップの頻度に応じて何度も何度も)。悲しいことに、コンストラクター内から値を取得した場合、Children.Count は子要素がないことを教えてくれます。外部から(myGrid.Children.Countによって)取得すると、より高い(不要な)量が得られます。

ビジュアルを初期化するために使用する必要がある他の関数はありますか? またはそれらの重複を防ぐ他の方法はありますか?

感謝と乾杯

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

xaml - 自分のアイデア/フレームワークに XAML を使用することはできますか?

依存関係プロパティやデータ バインディングなど、XAML が提供する優れた機能を利用するフレームワークを C# で自分で作成できるかどうか知っていますか?

それとも、自分ですべてをゼロから作成する必要がありますか?

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

c# - XamlWriter がバインディングを失う - OK! しかし、どのように値を維持するのですか?(アイテムコントロール)

私は、標準の XamlWriter がバインドを保持しないことを知っています。しかし、本当に厄介なのは、バインディングが保持する現在の値もシリアル化されないことです。

私の現在の - 本当にばかげた - 回避策は、DependencyProperty fooProperty とプロパティ foo を作成することです。また、プロパティ foo2 もあります。次に、foo の Change-eventhandler がその値を foo2 に書き込みます。

あなたが見る:ばか。

誰かがより良い解決策を持っていますか?

乾杯

-- トーマスに応じて編集 --

基本的にあなたは正しいです。ただし、ItemsControl を使用する場合は少し異なります。

このテスト アプリケーションを実行し、カーソルを別の TextBox の上に移動すると、ハード コードされた値と直接バインドされた値のシリアル化に問題がないことがわかります。逆に、データ テンプレート バインディングはシリアル化されません。

ちなみに、StaticReference の代わりにコードによって生成された ItemsSource を使用することに違いはありません。

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

.net - XmlWriter によって生成された XML ドキュメントで名前空間のプレフィックスを制御する方法 - x:Type マークアップ拡張機能を使用して生成された XAML

XElements から XAML を生成しようとしています。

ただし、x:Typeマークアップ拡張機能に問題があります。出力 XAML にプレフィックスを名前空間p:にマップさせる方法がわからないため、プレフィックスを解決できません。phttp://schemas.microsoft.com/winfx/2006/xaml/presentation

XML 名前空間のプレフィックスが生成される方法を制御する方法はありますか? x:Typeまたは、プレフィックスの代わりに XML 名前空間名をマークアップ拡張機能に強制することは可能ですか?

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

wpf - ParserContextを使用するとXamlReaderがスローされるのはなぜですか?

これは機能します:

これにより、タグ'Pig'がXML名前空間'clr-namespace:Farm; assembly = Farm'に存在しません

なんで?

ファームは呼び出し元のアプリケーションです。

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

c# - XamlReader でのイベント/コマンドの使用

XamlReader.Parse(string) を使用してデータ テンプレートを動的に構築しています。私が抱えている問題は、XamlReader を使用して作成したコントロールにイベントを配置できないことです。オンラインで調査を行った結果、これが XamlReader の既知の制限であることがわかりました。

WPF のコマンドについてはよくわかりませんが、どうにかしてそれらを使用して同じ結果を得ることができますか? もしそうなら、どのように?そうでない場合、Xaml Reader を使用して作成されたコントロールからコード ビハインドでイベントを処理する方法はありますか?

以下は、私が作成するデータテンプレートの例です。このデータ テンプレートをホストする Window のコード ビハインドで、MenuItem_Click イベント ハンドラを定義しています。

実行しようとすると、次のエラーが表示されます: System.Windows.Markup.XamlParseException was unhandled: Failed to create a 'Click' from the text 'MenuItem_Click'.

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

c# - C#コードでSilverlightDataTemplateを構築する

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

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

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

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

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

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