問題タブ [dynamicresource]

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 投票する
3 に答える
6324 参照

wpf - StaticResourceではなくDynamicResourceにかなりのパフォーマンスコストがかかりますか?

私たちのデザイナーは、Blendを使用してWPFアプリケーションのスタイルを設定しています。彼がプロパティにローカルリソースを選択すると、Blendはそれらをの{DynamicResource}代わりに適用します{StaticResource}。私の推測では、Blendがこれを行うのは、アプリを再起動しなくても、実行時にアプリのテーマを変更できるためです。

私の質問は、この追加のルックアップにかなりのパフォーマンスコストがかかるかどうかです。設計者に戻って、それらのダイナミクスを静的に手動で変更するように依頼する必要がありますか?

タイプ間の違いを説明する素晴らしいSOの質問があります:WPFのStaticResourceとDynamicResourceの違いは何ですか?

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

c# - DynamicResources の構築方法とコンテキストメニューでの使用方法

動的リソースは本当に動的ですか? DynamicResource を定義すると、実行時までリソースに変換されない式が (どこで?) 作成されることに気付きます。

たとえば、動的リソースを介してコンテキスト メニューを作成する場合、アクセス時に実行時に作成されるメニュー項目は、バインドされていても静的ですか?

もしそうなら、どうすれば XAML で動的なコンテキスト メニューを作成できますか?

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

wpf - ストーリーボードの値がリソースまたはバインディングから取得されないのはなぜですか?

私は以下の構造を持っています、そしてそれは働きます:

次のような方法を試しても機能しないのはなぜですか。

はい、ストーリーボードの前にリソースを定義しました。そして、次のようなステートメントも機能しません。

はい、これはコードビハインドのパブリックプロパティであり、this.DataContextはthisに設定されています。

0 投票する
3 に答える
9086 参照

wpf - WPF StaticResource は機能しますが、DynamicResource は機能しません

私は、テーマにたくさんのブラシを作成し、それらをカスタムコントロールで DynamicResource と一緒に使用するために、1日を無駄にしようとしました。私がしたことはこれです:

  • スタイルを含むテーマ generic.xaml を作成します (動作)
  • アプリケーションで使用されるブラシを含めるために、generic.xaml にマージする辞書を追加します (機能します)。
  • ブラシに ComponentResourceKey キーを持たせる (動作)
  • コントロールがブラシを静的リソースとして使用するようにします(機能)
  • コントロールが動的リソースとしてブラシを使用するようにします (DOESN'T WORK、リソース トレース ソースは次のように述べています: System.Windows.ResourceDictionary Warning: 9 : Resource not found; )
  • App.Resources に同じキーを持つブラシを動的に追加します (動的リソースで動作し、色を変更し、静的リソースでは動作しません)。

したがって、私の問題は、アプリケーションでプログラムで変更できるように、テーマでデフォルト値を定義する方法が見つからないことです。StaticResource はどのようにしてブラシを見つけ、DynamicResource は見つけられないのでしょうか?!

コンポーネント リソース キーをプロパティとして保持する静的クラスを作成し、それを xaml で {x:Static UI:ResourceScheme.ControlBackgroundKey} として使用することを追加する必要があります。私の問題はこれに似ているようです: ComponentResourceKey as DynamicResourceの問題は、静的プロパティキーをコンポーネントリソースキーのXAMLマークアップに置き換えても、まだ機能しません。

誰かがここで私を助けてくれますか? :(

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

visual-studio - 動的リソースとバインドしてパスを指定する方法

リソース (DynamicResource) にバインドし、そのリソースのプロパティにアクセスしたいのですが、それを行う方法はありますか?

(Visual Studio の xaml エディターでコンストラクターからの既定値を視覚化したいと考えています。これらは、DataContext を介してオブジェクトを参照したり、Window クラスに追加されたプロパティを介して参照したりするときに表示されません...)

xaml が動作しない: (composer では動作しますが、実行時には動作しません...)

クラス (おそらく INotifyPropertyChanged を実装する必要があります):

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

wpf - 「DynamicResource」を「StaticResource」に置き換えます

私のアプリケーションを実現するために、私は多くのBlend3を使用しました。Blend3がリソースを別のリソースにリンクする場合、リンクタイプ「DynamicResource」を何度も使用します。私が理解したように(しかし、よく理解できなかったかもしれませんが)、「動的」リンクは、実行時にリンクを変更したい場合にのみ意味があります。他の場合では、彼らは無駄により多くのメモリを使用します。実行時に何も変更したくない場合、質問は次のとおりです。すべてのアプリケーションで「DynamicResource」を「StaticResource」に置き換える意味がありますか?ありがとうございました!ピレッギ

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

c# - SQL、Wpf、Xaml、C#、データのバインド、動的リソース、非静的データへのアクセス、オブジェクトへの参照の取得

さて、私はWPFとXAMLにかなり慣れていませんが、検索したにもかかわらず、簡単な解決策を見つけることができず、すぐに答えを見つけることができないようです。

質問はとても単純です。WPFプロジェクトを作成し、SelectList.xamlにデータグリッドを作成しました。行を選択したら、選択した行をオブジェクトに保存します。このオブジェクトは「カテゴリ」と呼ばれます。これまでのところすべて問題ありませんが、他の場所temp.xamlからこのオブジェクトへの参照を取得する方法がわかりません。

どうもありがとうございましたどんな助けでも大歓迎です乾杯

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

wpf - 実行時に解決されないDataTemplatesの論理リソースへのWPF静的リソース参照

.net3.5から.net4へのステップアップで、システムの目標に反しているように見えるバグのある動作が見られるため、何かを見逃したことがありますか。

いくつかの例を使用して、作業用に単純なMVVMライブラリを作成しようとしています。私はいくつかの追加学習のためにTwitterクライアントアプリケーション内でそれを消費していて、大きな障害にぶつかりました。

シナリオはこれです。ルートViewModel(TwitterClientViewModel)オブジェクトには、表示用のDialogViewModelオブジェクトのインスタンスが与えられます。DialogViewModelがコレクションに追加され、boolHasDialogsがtrueに設定されます。PropertyChangedイベントは、必要に応じてコレクションとフラグに対して呼び出されます。この部分は見事に機能します。

TwitterClientViewModelのビューはTwitterClientTemplateと呼ばれ、VisibleをDialogViewTemplate(DialogViewModelのビュー)ホスティングのオーバーレイにします。ホスティングContentControlのテンプレートは、DynamicResource拡張機能を持つDialogViewTemplateを参照します。これは、デザイナーと実行時に優れた表示をします。

これは物事が奇妙になるところです。DialogViewTemplateの「本体」は、DialogViewModel.Content(タイプオブジェクト)にバインドされた追加のコンテンツコントロールを備えたダイアログコンテンツをホストします。TemplateSelector(私は素晴らしい宣言型のものを書きましたが、テスト目的でコメントアウトしました)を使用して、テキスト要素とインタラクティブ要素の両方を表示できることを期待していました。たとえば、Twitterアカウントを認証するときにユーザーに詳細を要求します。この場合、PIN番号。

この時点で、ダイアログ実装用に2つのネストされたコンテンツコントロールがあります。テストの目的で、DialogViewTemplateの本体のcontentcontrolは、staticresource拡張機能を使用してEnterPINDialogTemplate(EnterPINDialogViewModelのビュー)を取得します。EnterPINDialogTemplateとDialogViewTemplateはどちらも同じファイルにあります(前者はもちろん最初に定義されます)が、元々は別々でした。

実行時に、staticresource拡張機能はメッセージとともにXamlParseExceptionをスローします。'System.Windows.Markup.StaticResourceHolder'に値を指定すると例外がスローされました。

および内部例外メッセージ。

'EnterPINDialogTemplate'という名前のリソースが見つかりません。リソース名では大文字と小文字が区別されます」

dynamicresourceを使用すると、nullが返され、コンテンツコントロールにEnterPINDialogViewModelタイプのフルネームが表示されます。これは、リソースが解決されていない場合に予想されます。FrameWorkElement.FindResource()を呼び出すときにカスタムTemplateSelectorに侵入すると、同様の例外がスローされます(TryFindResourceはnullを返します)。

私が最初に考えたのは、データテンプレートが構築されるときに論理ツリーが分割されることであり、以前のプロジェクトでその領域の問題を思い出しました。ResourceDictionaryのMergeDictionariesプロパティを使用して、DataTemplate内からリソースディクショナリを使用できるようにしようとしましたが、デザイナーはその1ビットが気に入らなかったため、エラーについては次のように説明します: http ://connect.microsoft.com/VisualStudio/feedback/details / 498844 /wpf-designer-throws-invalidcastexception

そのアイデアをスクラッチします。アプリケーション、ウィンドウ、TwitterClientTemplateレベルで辞書をマージしようとしましたが、うまくいきませんでした。

以下はxamlファイルです。

DialogTemplates.xaml

TwitterClientDataTemplate.xaml

私のstackoverflowを助けてください、あなたは私の唯一の希望です!

編集:この問題についてさらに作業を行いました。両方のテンプレートが同じファイルにある場合、dynamicresourceおよびstaticresource拡張機能は両方とも問題なくリソースを解決します。それらが別々のファイルにある場合、辞書をマージする方法に関係なく、リソースは解決されません。各拡張子はnullを返します。

明らかに、解決策は両方のリソースを同じディクショナリにスローすることですが、私に関する限り、これはハックであり、論理リソースルックアップシステムの意図された動作ではありません。私は今、幸せなバニーではありません。これはかなり文書化されていないようです...

0 投票する
4 に答える
13266 参照

wpf - DynamicResourceでIValueConverterを使用しますか?

DynamicResource拡張機能を使用するときにコンバーターを定義する方法はありますか?の行の何か

残念ながら、これは私に次の例外を与えます:

タイプ「Binding」の「Source」プロパティに「DynamicResourceExtension」を設定することはできません。'DynamicResourceExtension'は、DependencyObjectのDependencyPropertyにのみ設定できます。

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

wpf - WPF スタイルは特定のプロパティには影響しません

の Resources セクションの一部としてStyle指定された forがあります。ParagraphFlowDocumentReader

my を含む .xaml ファイルがあり、次のように定義されFlowDocumentている s がいくつかあります。Paragraph

私が抱えている問題はForeground、テキストに適用されず (LightSteelBlue ではなく Black として表示される) 、プロパティが変更されFontSizeても変更されないことです。MyFontSize

コード ビハインドでプロパティ値を確認しましたが、設定されていますが、UI に変更はありません。

これは、実行時FlowDocumentにロードされた場合にのみ問題になるようです。FlowDocumentReaderXAML がFlowDocumentReader.xaml ファイルの内に明示的に配置されている場合、Foregroundは正しい色でありFontSize、プロパティの設定に基づいて変更されます。

アイデア?


解決済み:

以下の回答で書いたように、Styleブロックをリソースセクションに移動FlowDocumentすると、問題が解決します。