問題タブ [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:「StaticResourceが解決されていません」例外を発生させないようにしますか?
私たちが知っているように、キーが見つからなかった場合、例外が発生します。しかし、これを防ぎ、コントロールの可視性を非表示に設定する方法はありますか?または、Binding のようにFallbackValueを指定しますか?
簡単な例:
<TextBlock Text="{StaticResource myKey}"/>
"myKey" が定義されていないため、デフォルトで例外が発生します。ただし、TextBlock の Visiblity を非表示に設定できるといいのですが:<TextBlock Text="nothing here" Visibilty="Hidden">
または:
<TextBlock Text="nothing here" FallbackValue="default value">
(注意: "FallbackValue" は実際には存在しません
)アプリケーションは続行できます。問題はありません。乾杯:)
wpf - DataContext から StaticResource を作成しますか?
全て、
DataContext のオブジェクトから StaticResource を作成することは可能ですか (コード ビハインドを追加せずに)? たとえば、UserControl の DependencyProperty を考えてみましょう。
IVMHeaderGeneric
このユーザー コントロールのコンシューマーによってクラスとしてインスタンス化されるインターフェイスです。
私がする必要があるのは、どういうわけか (できればコード ビハインドなしで)、これを UserControl のリソースに追加して、DataContext を継承しない UIElements でデータ バインディングを実行できるようにすることです (つまり、DataGridColumn が思い浮かびます)。
前もって感謝します。
wpf - WPF: null 値を静的リソースとして追加する
マークアップ要素の静的リソースとして null を追加することはできますか? {StaticResource myKey}
構文を使用して値を参照できるようにしたい。現時点では、参照する必要がある値は null ですが、将来的にはそうでなくなる可能性があります。マークアップの残りの部分で値への複数の参照があり、それらが ではなくリソース キーを参照するようにしたいと考えています{x:Null}
。
私はこれを行うことを期待していました:
...しかし、それは機能しません。コンパイルされますが、実行時に、リソース参照を解決できないことを示す XamlParseException が発生します。
wpf - 'StaticResource MyTemplate' は、Setter の 'System.Windows.Controls.Control.Template' プロパティの有効な値ではありません
DataTrigger を既存の要素に動的に追加するときに問題が発生します。
このように MainWindow.XAML でハードコーディングすると、正常に動作します。
App.Xaml で:
MainWindow.XAML で:
しかし、次のように分離コードで DataTrigger を作成すると:
バインド中に次のエラーが発生します (トリガーをテンプレートに追加してもエラーは発生せず、XamlWriter.Write(myDataTemplate) を使用すると DataTemplate に適切に追加されたことが示されます):
'StaticResource MyTemplate' は、Setter の 'System.Windows.Controls.Control.Template' プロパティの有効な値ではありません。
(triggerValue) は動的にロードされたプラグインから取得されるため、実行時にトリガーをロードする必要があります。ControlTemplate を StaticResource として参照するのではなく、Setter に直接追加しても問題なく動作しますが、必要なすべてのページ/ウィンドウに同じ ControlTemplate をロードする必要があるという考えは好きではありません。
コードビハインドからリソースを追加した場合、DataTrigger の Setter を取得してリソースを参照する方法について何か考えはありますか?