問題タブ [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.
xaml - Silverlight - XamlParseException タイプ 'Type' が見つかりませんでした
タイプ 'Type' が見つかりませんでした。[ライン: 7 ポジション: 21]
データテンプレートを動的に生成しようとしています。正常に動作しますが、この属性を含めると、上記の例外が発生します。
そして完全な方法:
wpf - ユーザーが指定したカスタム XAML の属性値を検証するにはどうすればよいですか?
私のアプリでは、ユーザーがカスタム XAML マークアップをテキスト ボックスに入れることができます。アプリが読み込まれると、XamlReader.Parse を使用してツリーを読み込みます。次に、MergedDictionaries の一部のリソースをこれらのカスタム リソースで上書きします。
これはうまく機能し、ユーザーが無効な Xaml を入力したときに XamlParseException をキャッチできます。問題は、ユーザーが境界線の色などの誤った属性値を入力した場合に発生します。グレーではなくグレーと入力すると、例外はなく、UI は表示されません。実際、アプリがフリーズしたように見えます。
この問題は、VS デザイナでも再現できます。間違った Color 値を入力するだけです (Intellisense は無視してください)。VS では警告は表示されません。
この誤った属性値をキャッチする方法はありますか?
xamlreader - XAMLReader を使用してコントローラーでテキストブロックを作成する方法
XAML コードを使用してコントローラーにテキストブロックを作成したいと考えています。これを行うことは可能ですか?他のアイデアはありますか?
wpf - 動的に読み込まれたコントロールのデータ バインディングが壊れるのはなぜですか?
現在、データバインディングを使用してXamlテンプレートファイルからレポートを作成できるアプリケーションを設計しています(aを含むFlowDocument
)。
アイデアは、BlockUIContainer を介して動的に読み込まれたコントロールを単純に変換して、FlowDocument で印刷できるようにすることでした。
FrameworkElement
ファイル全体を単一のファイルにロードしてプロパティを設定する限りDataContext
、データ バインディングは魅力的に機能します。
GetOrderControl()
メソッドが行うことはすべて、FileStream
を介してコンテンツを解析することXamlReader.Load()
です。ファイルは次のように構成されています。
BlockUIContainer
これで、アプリケーションはデータセットに従って s を動的に追加する必要があります。レポートが 1 ページよりも長くなる可能性があるため、カスタム ページネーションを実装するにはコード ビハインドで行う必要があります。
必要なテンプレート ファイルは 1 つだけなので、ヘッダー、フッター、およびグループ化コントロールをすべて、次のように 1 つの xaml ファイルにまとめました。
BlockUIContainer という名前の "Element" 内の<Grid ... />
コントロールは、まさに前の例で使用された Grid コントロールです。
これで、BlockUIContainer の子を取得し、それを文字列に保存してから に戻しFrameworkElement
、DataContext
.
ただし、ここではデータバインディングは評価されていません。を設定UpdateLayout()
した後、 でメソッドを呼び出してみました。それは、いくつかの子コントロールの可視性を設定する要素の少なくともいくつかのバインディングを評価しますが、評価されないようなバインディングはありません。FrameworkElement
DataContext
<DataTrigger Binding="{Binding Path=DangerousGoods}" />
<Style>
<TextBlock Text="{Binding Path=Country}" />
私はここで途方に暮れています。解析後に残りのバインディングを再び機能させるにはどうすればよいですか? 1 つのドキュメントに対して複数のファイルを作成したくありません。