問題タブ [resourcedictionary]

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

c# - WPF: Error using a custom control in the ItemTemplate of another custom control

I have a custom control library where I have several custom controls that I use in my main application. I have a simple custom control that lets the user select pen thickness values from a combobox. Now, I am creating a new custom control, based on a listbox, and I want to include the pen thickness combobox in the new custom control's ItemTemplate.

I am getting this error:

"Cannot create instance of "LineThicknessComboBox" defined in assembly CustomControls ... Exception has been thrown by the target of an invocation. Error at object "10_T" in markup file 'CustomControls;component/Themes/CustomListBox.General.xaml'.

Here is the XAML and code behind for the LineThicknessComboBox:

#xA;

and in LineThicknessCombobox.Generic.xaml:

#xA;

Here is the XAML and codebehind for my new CustomListBox:

#xA;

and in CustomListBox.Generic.xaml:

#xA;

And here is my Generix.xaml:

#xA;

I'm thinking I have some kind of reference problem, but can't figure out what is wrong. The program compiles and runs without any warnings/errors but when the CustomListBox is created in my main application, I get the error listed above. Without including the LineThicknessComboBox, the CustomListBox works fine.

Can anyone explain why I am getting this error? It is possible to include my custom control in another, even though they are in the same custom control library, correct?

Thanks!

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

wpf - リソース ディクショナリの DataTemplates は app.xaml スタイルから継承されませんか?

カスタムの名前付きスタイルを app.xaml に追加しました。

外部リソース ディクショナリを作成し (app.xaml のマージされたディクショナリに添付します)、リソース ディクショナリで上記のスタイルのいずれかを使用しようとすると、そのようなスタイルはないと表示されます。

また、デフォルトのスタイル (つまり、アプリケーション全体に適用される名前のないスタイル) は、テンプレート要素には適用されません。

注: テンプレートのビルド アクションは「ページ」です。


私のコードの書き方の例を次に示します。


これはデータ テンプレートの例です。

何か案は?別の方法で辞書をマージする必要がありますか?

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

wpf - ResourceDictionaryのValue属性と明示的なDataTrigger.Valueの違いは?

以下が機能しない理由を誰かに教えてもらえますか? Value= 構文と後者の明示的な使用法に注目してください。違いがわかりません。

上記は例外をスローしますが、以下は正常に動作します。

例外: DataTrigger の Binding と Value の両方を指定する必要があります。マークアップ ファイル ';component/ResourceDictionaries/LogStyles.xaml' 行 14 位置 15 のオブジェクト 'System.Windows.DataTrigger' でエラーが発生しました。

スタック トレース: System.Windows.Markup.XamlParseException.ThrowException (文字列メッセージ、例外 innerException、Int32 lineNumber、Int32 linePosition、Uri baseUri、

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

c# - アクセス システム:C# の文字列リソース ディクショナリ XAML

C# を使用してリソース ディクショナリの内容にアクセスするにはどうすればよいですか?

たとえば、XAML での私のコードは次のとおりです。

そして、C# でここにアクセスしたい:

C# で「新しいグループ」と入力する代わりに、それを置き換えて、XAML のリソース ディクショナリにアクセスしたいと考えています。そのため、コマンドはリソース ディクショナリにある Name を自動的に取得します。

次のようないくつかのソリューションを試しました。

など...しかし、それらは機能していないようです。

私は locbaml を使用してローカリゼーションを行っていますが、C# でテキスト/名前を解析しません (または方法がわかりません)。それが可能だと思った唯一の解決策でした。

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

wpf - フォルダ内のWPFリソースディクショナリの検索と一覧表示

ビルドシステムによって複数のスキンがブランド化されるWPFアプリケーションを作成しています。一部のビルドには1つから多数のスキンがあるため、アプリケーションで使用可能なスキンを一覧表示するのが理想的です。

実行時に、特定のフォルダー内のすべてのリソースディクショナリを列挙する方法はありますか?

これは状況の変化であるため、コードビハインドでXAMLファイル名をハードコーディングすることは避けたいと思います。

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

wpf - 実行時に MergedResources をロードするにはどうすればよいですか? コードが意図したとおりに機能しない

Web からリソースをロードするデスクトップ WPF アプリケーションがあります。これにより、必要に応じて、休日の前後にクリスマス テーマを追加するなど、さまざまなことができます。テーマをロードするには、Applications の現在のリソース ディクショナリを独自のリソース ディクショナリに置き換えます。

さて、すべてを含む 1 つの大きなリソース ファイルだけを使用するのではなく、一部のリソースを別のファイルに分けたいというところまで来ました。マージされたリソースを使用するだけで、これはかなり簡単になると思いました。上記のコードを簡単に変更するだけで機能すると思っていましたが、そうではありません。これは、私がしなければならないと思っていたことです。

アプリケーションを実行すると、通常のスタイルが使用されるだけで、追加したマージされたリソースは考慮されません。ここで何が間違っていますか?マージされたリソース (および複数のリソース) を実行時に動的に追加し、正しく動作させるにはどうすればよいですか?

ありがとう、カイル

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

wpf - ResourceDictionary にアクセスするにはどうすればよいですか?

プロジェクト内にCustomStyles.xamlという ResourceDictionary があります。これは RD というサブディレクトリにあるため、その場所はRD/CustomStyles.xamlです。

私の質問は次のとおりです。CustomGroupBox.vbというクラス専用ファイルがあり、New() で ResourceDictionary からリソースにアクセスしたいと考えています。

CustomGroupBox.vb に対応する XAML がないため、これを行うにはどうすればよいですか?

PS CustomStyles.xaml にはContentではなくResourceのBuildActionがあるため、プロジェクトと共にコンパイルされ、ビルド ディレクトリ (\bin) に出力されないことに注意してください。したがって、以下は機能しません...

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

c# - Silverlight クラス ライブラリの ResourceDictionary のパッケージ化

さまざまな Silverlight アプリケーションによって共有されるいくつかのユーザー コントロールを含む Silverlight クラス ライブラリ (トップレベル アプリケーションではない) があります。コントロールのいくつかのスタイルとブラシを調べて引き出し、リソース ディクショナリとして別の XAML ファイルに配置し、マージされたリソース ディクショナリとして各コントロールに取り込みました。現時点では、リソース ディクショナリを「リソース」ビルド アクションとして保持し、コントロールからその方法で参照する限り、これは私のトップレベル アプリケーションでうまく機能します。

私が実際にやりたいのは、このリソース ディクショナリ XAML ファイルを "コンテンツ" ビルド アクションとして使用し、最上位の XAP にコピーして、プロジェクトを再構築する必要なく XAP ファイルで XAML を交換できるようにすることです。これを設定しようとすると、XAML ファイルはクラス ライブラリ プロジェクトの出力ビンにコピーされますが、最上位の Silverlight アプリケーション プロジェクトの出力ディレクトリや最終的な XAP ファイルにはコピーされません。

これを達成するための最良の方法は何ですか?XAML リソース ディクショナリは基本的にクラス ライブラリの依存関係であり、(ユーザー コントロールの) クラス ライブラリは最上位の Silverlight アプリケーションの依存関係です。

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

c# - Silverlight アプリケーションのロード時にマージされたリソース ディクショナリを置き換える

トップレベル コントロールの XAML で MergedDictionary として読み込んでいる ResourceDictionary で定義されたスタイルとブラシのセットがあります。

XAP に独自の ResourceDictionary を持つ別の XAML ファイルが存在する場合、これらのスタイルとブラシの一部をオプションで置き換えようとしています。ユーザー コントロールで InitializeComponent() が呼び出される前に、実行時にこのディクショナリにマージしようとしています。これを行うために、次のコードを使用しています。

オプション ファイルのリソース ディクショナリは正常に読み込まれ、マージされますが、元のスタイル セットは常にこれをオーバーライドしているようです。XAML でマージされたディクショナリをコメント アウトし、実行時にそれらをロードして、完全に機能するようにすると、次のようになります。

このソリューションに関する私の問題は、XAML の既定のスタイルがないと、Blend でプロジェクトを開くことができないことです。デフォルトのスタイルを Blend に認識させたまま、動的に読み込まれたリソース ディクショナリを使用して実行時にオプションでオーバーライドできるようにするソリューションのアイデアはありますか? ありがとう!