問題タブ [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.
wpf - MultiBinding で DynamicResource を使用することはまったく可能ですか?
この場合、Text
プロパティのバインディングの一部としてリソース ディクショナリで宣言された文字列を使用しようとしています。動的リソース文字列を 1 つだけバインドすることは問題ではありません。
ただし、動的テキストを挿入する必要があるか、複数の文字列を結合する必要があるため、 MultiBindingでStringFormatを使用する必要がある場合は、すぐに問題が発生します。たとえば、MultiBinding が次のようになっているとします。
string1
指定したリソース ファイルからバインドされたテキストに挿入できstring2
ますが、問題はありません。しかし、同じ方法で動的リソースから文字列を使用する方法が見つかりません。(私はこのメソッドを使用して、マージされたリソース ディクショナリから会社名と製品名をテキストに挿入しています)。
TextBlockを使用すると、TextBlock コンテンツに複数のRunアイテムを使用することで、この問題を回避できます (参照)。
ただし、動的リソースをWindow Titleプロパティにバインドする必要がある場合、これは役に立ちません。既存のマークアップ拡張機能 (など) を使用して (必要に応じて創造的に) これを達成する方法はありx:Static
ますか? それとも、これを実現するために独自のマークアップ拡張機能を作成する必要がありますか?
c# - トリガーの実行時にWPFリソースを再計算する方法は?
要するに:私は持っていStyle
ます。TemplateBinding
何度も何度も繰り返すのではなく、かなりの量を使用してパラメーター化します。ただし、そのスタイルのトリガーが使用され、リソースがそのトリガーのセッターで使用されると、それは表示されません! デフォルト値すら表示されません。この問題を再現する小さなプログラムを次に示します。
TestDictionary.xaml
MainWindow.xaml
MainWindow.xaml.cs
を使用する代わりにTemplateBinding
、これも試しました:
それでもうまくいきませんでした。私はおそらく何か間違ったことをしていることを知っていますが、問題は次のとおりです。それは何ですか?
c# - DynamicResource を DataGridColumn.CellStyle で使用できないのはなぜですか
たとえば、単純なモデルの MVVM WPF アプリケーションがあります。
3行を作成する単純なビューモデル:
ビューには、DataGrid
手動で定義された列と、設定した列ごとに がありますCellStyle
。Window.Resources
ブロックで定義された両方のスタイル。しかし、最初の列でStaticResource
は、2 番目の列では andを使用しますDynamicResource
XAML を表示:
問題は、2 番目の列で、リソースが列に適用されないことです。
c# - wpf - コンテキスト メニュー - 動的リソース内で静的リソースを再利用する
以下のようなリソースを持つユーザー コントロールがあります。
はDataTemplate
DevExpress 内で使用されますFlowLayoutControl
私のシナリオでは、FlowLayoutControl
. 1 つはテンプレートmergedDocDisplayGrid
を使用し、もう 1 つはテンプレートを使用してsingleDocDisplayGrid
テンプレートにデータが正しく表示され、マウス アクティビティやドラッグ ドロップなどの他の機能が正常に実装されました。
いずれかのアイテムでコンテキスト メニューを表示すると機能しますが、その後、もう一方のアイテムでコンテキスト メニューを再度表示しようとすると、次の例外が発生します。
内部例外は自明であり、コードビハインドで問題を修正できると確信していますが、メニュー項目の再利用が重要であるため、XAML でこれを正しく行うには離れている必要があると感じています。自分
どんな助けでも大歓迎です!ありがとう
wpf - ボーダー上の BorderBrush で DynamicResource の色が機能しない - バグ?
ビジュアル スタジオ 2010 | .NET/WPF 4.0
これは WPF のバグである可能性があると思いますが、それに関するバグ レポートが見つからないようです。明らかな何かが欠けている可能性をカバーするために、スタックオーバーフローに答えを求めます!
この xaml を検討してください (分離コードには何もありません):
デザイナーでは、期待どおりにレンダリングされます。外側の境界線には大きな青い境界線と赤い背景があり、内側の境界線には大きな青い境界線があります。偉大な。
コードを実行すると、外側の境界線に境界線がありません。ロードされていないように見えます。背景は正しく赤に設定されています。一方、内側の境界線は青い境界線を正しくロードします。
「DynamicResource」をすべて「StaticResource」に変更すると、実行時に正しくレンダリングされます。この矛盾が本当に頭を悩ませているのですが、理解できません.\
そう:
- BorderBrush で DynamicResource が機能しないのはなぜですか?
- #1を考えると、なぜバックグラウンドで機能するのですか?
- リソースで単色ブラシを明示的に定義すると問題が解決するように見えるのはなぜですか?
編集:
MS が修正しないことを決定したのはバグのようです (リンクについてはSheridanに感謝します): http://connect.microsoft.com/VisualStudio/feedback/details/589898/wpf-border-borderbrush-does-not-see-動的リソースの変更
wpf - DynamicResource を使用して色を塗りつぶす
xaml で次のようなことをしたいと思いますResourceDictionary
:
ただし、Color は #xxxxx などの値のみを受け入れます。
私の目標を達成するためのアイデアはありますか?
ありがとう!
c# - 色、wpfに基づいて画像を変更する
次のシナリオがあります。どこかにDynamicResource
ウィズカラーがあります。この色はウィンドウの背景を決定し、その色に基づいて、表示する適切なアイコン (明るいまたは暗い) を選択します。
次のシナリオを想像します。
- 色が変わる クラスチェンジのきっかけ
- 私のクラスは、どのアイコンセットを選択する必要があるかをチェックします
- これらのアイコンのすべてのユーザーにそれらの再読み込みを強制します。
これは、WPF メカニズムを使用して実行できるはずです。問題は、そのような処理を行うアーキテクチャを構築する方法がよくわからないことです。
- 色の変化を捉えます。
DependencyProperty
と呼ばれるクラスを記述し、BackgroundColor
その色をDynamicResource
. このようにして、 を使用して色の変化をキャプチャできPropertyChangedCallback
ます。 - 内部処理が容易です。
DynamicResource
メカニズムを介してアタッチできるように、アイコンを公開する必要があります。どのように?ある種のコレクションで?それぞれ独自の DependencyProperty によるものですか?- これらのアイコンが変更されたことをすべてのユーザーに通知する必要があります。どのように?IObservableCollection で? アイコンを表す各プロパティで NotifyPropertyChanged を呼び出しますか? 多分他の方法で?
私が提示した目標を達成するためのより簡単な方法があれば、喜んで聞きます:)