問題タブ [staticresource]
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 - WPFリストボックスItemsSource静的リソース/バインディングの質問
次のコードが与えられます:
この例では、
「CollectionViewSource」オブジェクトにバインドできないというエラーが表示されます。
しかし、他のリストボックス:
完全にうまくバインドします。
だから私の質問は、なぜ一方が機能し、もう一方が機能しないのかということです。最後に、両方のItenSourceが同じ「CollectionViewSource」オブジェクトに設定されていませんか?
ありがとうございました。
wpf - DynamicResource は機能しませんが、StaticResource は機能しますか?
シナリオは次のとおりです。
1) Visual Studio 2008 を開き、新しいプロジェクトを作成します...
2) プロジェクト タイプとして WPF カスタム コントロール ライブラリを選択します。
3) Themes フォルダーにある Generic.xaml リソース ディクショナリを開きます。
4) 次のような単純なブラシを追加します。
< SolidColorBrush x:Key="BackgroundBrush" Color="Yellow" / >
5) ネストされた Borer Control の Background プロパティを
Background="{TemplateBinding 背景}"
に
Background="{DynamicResource BackgroundBrush}"
このコントロールをコンパイルしてプロジェクトで使用すると、背景は黄色になりません。ただし、background プロパティを StaticResource に変更すると、
Background="{StaticResource BackgroundBrush}"
...それが動作します。どうしてこれなの?StaticResource は機能するのに DynamicResource が機能しないのはなぜですか?
wpf - StaticResources がある場合、その型を介して WPF 要素をインスタンス化するにはどうすればよいですか?
デザイナーのリフレクションを介して WPF 型 (UserControl や Page など) をインスタンス化する必要があります。私が抱えている問題は、Activator.CreateInstance を使用してこれらをインスタンス化しようとすると、最終的にStaticResourceマークアップ拡張によってスローされた例外をラップするTargetInvocationExceptionを取得することです。
明確化: 型は、実行時に読み込まれる別のアセンブリにあります。
どうやら、型の定義で静的リソースが定義されている場合でも、 Activator.CreateInstanceは{StaticResource XXX}マークアップ拡張を使用する型をインスタンス化できないようです。
したがって、次のタイプの定義 (タイプ + xaml ファイル) しかない場合:
実行時にこれをどのようにスピンアップしますか?
ところで、代わりに DynamicResource を使用することを要求することは受け入れられません。Visual Studio はこれを必要としますか? それでも、VS は WPF フレームワーク要素のコピーをスピンアップしてデザイナーに貼り付けることができます。
この問題を示すサンプル アプリケーション (ベータ 2、申し訳ありません) を次に示します。
http://cid-f8be9de57b85cc35.skydrive.live.com/self.aspx/Public/ResourcesGoKaboom.zip
アプリは、リソース ディクショナリに描画されたページを読み込もうとします。Application.LoadComponentとActivator.CreateInstanceを使用して動的にロードしようとすると、両方とも失敗します。
さて、上記の例は問題なく動作します。問題は、要素内で定義されたリソースを参照する要素の属性内で StaticResource を使用していたことです。
私を投げていたのは、これがビジュアルスタジオ内で機能することでした。 そのため、デザイナーではすべてが大丈夫に見えましたが、IRL ではすべて洋ナシの形をしていました。私見、これはバグであり、そのように報告しました:
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=519244
VS の失敗が失敗したのか、それとも StaticResource 拡張機能が VS では機能していたが IRL では機能していなかったのかは不明です。
silverlight - ResourceDictionary を使用しようとしていますが、その中のスタイルが見つかりません
MyClassLibrary という Silverlight クラス ライブラリがあります。
その中に、MyControl というユーザー コントロールがあります。
コントロール内で、ユーザー リソースを定義します。
コントロールは、次のようなスタイルを使用します。
これはすべて完全に機能し、ComboBox は適切なスタイルを提供するので、スタイルが正しく記述されていることがわかります。
私が本当に望んでいるのは、スタイルをリソース ディクショナリに配置して、このアセンブリ内の複数の異なるコントロールで使用できるようにすることです。そこで、SAME アセンブリ内にリソース ディクショナリを作成します。これを ResourceDictionary.xaml と呼びます。
スタイル定義をユーザー コントロールからリソース ディクショナリに移動します。
したがって、リソース ディクショナリは次のようになります。
コントロールのユーザー リソースは次のようになります。
また、コントロールは以前とまったく同じ方法でスタイルを使用します。
「Source」属性をNonExistentFile.xamlに変更しようとしたため、ResourceDictionary.xamlファイルが見つかっていることがわかりましたが、ファイルが見つからないと不平を言いました。ResourceDictionary.xaml ではそのような不満は出ないので、見つけていると思います。
ただし、アプリを実行すると、「名前/キー ComboBoxStyle のリソースが見つかりません」というエラーが表示されます。
私は何を間違っていますか?これはとても単純なようで、うまくいきません。
あなたが私に与えることができる助けを前もって感謝します。
wpf - StaticResourceではなくDynamicResourceにかなりのパフォーマンスコストがかかりますか?
私たちのデザイナーは、Blendを使用してWPFアプリケーションのスタイルを設定しています。彼がプロパティにローカルリソースを選択すると、Blendはそれらをの{DynamicResource}
代わりに適用します{StaticResource}
。私の推測では、Blendがこれを行うのは、アプリを再起動しなくても、実行時にアプリのテーマを変更できるためです。
私の質問は、この追加のルックアップにかなりのパフォーマンスコストがかかるかどうかです。設計者に戻って、それらのダイナミクスを静的に手動で変更するように依頼する必要がありますか?
タイプ間の違いを説明する素晴らしいSOの質問があります:WPFのStaticResourceとDynamicResourceの違いは何ですか?
wpf - WPFの静的リソースに型コンバーターを提供することは可能ですか?
初心者のWPFに関する質問があります。
私のユーザーコントロールに次のような名前空間宣言があると想像してください。
そして、私はこのようなユーザーコントロールのためのリソースを持っています:
そして、私のユーザーコントロールのどこかにこれがあります:
は整数リソースとして定義されているため、これによりエラーが発生しますToday
が、Textプロパティは文字列を想定しています。この例は考案されたものですが、うまくいけば質問を説明します。
問題は、リソースタイプをプロパティタイプと完全に一致させる以外に、リソースのコンバーターを提供する方法はありますか?バインディング用のIValueConverterや型コンバーターのようなもの。
ありがとうございました!
.net - リソースを解決できませんでした(VS 2010 RC)
子コントロールでスタイルを共有する多数のUserControlを備えたWPF4アプリがあります。そのため、App.xamlでいくつかのスタイルを作成しています。例えば:
次に、UserControlsで、StaticResourceを使用してそれらを参照します。次に例を示します。
これはすべて正常に機能します。問題は、Visual Studio 2010 RCがStaticResource参照の下に青い波線を表示し、次のように言っていることです。リソース「ViewTitle」を解決できませんでした。
どうしたの?これはVisualStudioの問題ですか、それとも何か問題がありますか?
wpf - WPF - ItemsSource がバインドされている場合、ListBox はスタイルを無視します
チェックボックスリストとしてレンダリングされるように、WPF でスタイル設定された ListBox を作成しました。
ListBox の項目を手動で入力すると、スタイリングは完全に機能します。ただし、代わりに ListBox の ItemsSource を静的リソース (必要な項目を含む ItemsControl) にバインドすると、スタイリングが完全に削除されます。
スタイルは次のとおりです。
スタイルを正しく表示する ListBox のコードは次のとおりです。
スタイルを無視する ListBox のコードは次のとおりです。
誰かが助けてくれることを願って-私はこれらすべてにかなり慣れていないので、考えられることはすべて試しましたが、読んだすべてのことから、ItemsSource を設定するとアイテムを手動で設定するのと同じ結果になるはずだと思うので、できます。これが機能しない理由がわかりません。
ありがとう、
で
wpf - コントロールのプロパティを xaml の関数のアドレスに設定するにはどうすればよいですか?
コントロールのコンテンツをフィルタリングする方法を定義する関数を期待する「Filter」プロパティを持つコントロールがあります。これまでのところ、コードビハインドでフィルターを次のように設定しています:
MyControl.Filter = AddressOf Filters.MyFilter
この例では、MyFilter は次のシグネチャを持つ Filters クラスの共有関数です。
Public Shared Function MyFilter(ByVal obj As Object, ByVal text As String) As Boolean
これをxamlに設定したいと思います。Filters.MyFilter を静的リソースとして設定し、そのように設定することを考えていました:
...Filter="{StaticResource myFilter}"/>
しかし、Filters.MyFilter を静的リソースとして設定することはできません。これを達成する方法についてのアイデアはありますか?
ありがとう、
wpf - WPF DataGrid:行ごとのリソース?
すべての列からアクセスする DataGrid の行ごとに StaticResource を xamly に設定する方法はありますか?
更新
私の目的は、3 つの ComboBox 列を持つことですが、実際には最後の列のみが行項目にバインドされます。
たとえば、DataGrid はアイテムのリストを表します。私は Category->Vendor->Style->Finish ComboBoxes を持っていますが、これらはナビゲーション支援のためだけのものです。実際、Item クラスには 'Finish' 関係しかありません。したがって、行ごとに StaticResource が存在する可能性がある場合、ComboBox の ItemsSource および IsSynchronizedWithCurrentItem 小道具を設定でき、これは自動的に機能します。
どうもありがとう。