問題タブ [contentpresenter]
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 - ComboBox の右上隅に小さな画像を配置します
私は通常のコンボボックスを持っています。
ここで、右上隅に小さな画像 16x16px を配置します。
私はこのコードを試しました:
ただし、コンボボックスではなく、画像のみが表示されます...
wpf - (WPF) ウィンドウ内の ContentPresenter に UserControl をロードするにはどうすればよいですか?
Viewbox を含むウィンドウがあります。その Viewbox には、既に UserControls として作成したいくつかのビューの 1 つが必要です。MVVM (Model View View-Model) デザイン パターンを使用しています。オンラインで約 1 時間検索しましたが、ContentPresenter
.
wpf - ContentPresenter に表示される UserControl のコンストラクターに ViewModel を渡すにはどうすればよいですか?
同じデータを表示する UserControls がいくつかあります。各 UserControl には、表示されるデータのレイアウトが異なります。ContentPresenter は、私のリソースで DataTemplate を使用し、Content を StyleViewModel にバインドすることにより、UserControls のいずれかにバインドできます。各 UserControl は、DataTemplate の DataType で定義されている ViewModel に関連付けられています。特定の UserControl に関連付けられた ViewModel はすべて、StyleViewModel から継承します。UserControls は、SettingsViewModel からデータを取得する必要があります。UserControls がメイン ウィンドウに表示されます。
問題は、SettingsViewModel のデータを UserControls にアクセス可能にする方法がわからないことです。
ContentPresenter を使用して表示されるこれらの UserControls のいずれかのコンストラクターに SettingsViewModel への参照を渡すことは可能ですか?
ContentPresenter を使用せずにデータ (つまり、私の UserControls) の異なるビューを簡単に切り替える別の方法はありますか? その場合、UserControls がデータにアクセスできるようにするにはどうすればよいですか?
以下は、SingleLineViewModel.cs のコードです。
他の ViewModel も同様です。これらは基本的に StyleViewModel から継承する空のクラスであるため、SettingsViewModel で StyleViewModel 型の Style プロパティにバインドできます。StyleViewModel も、ViewModelBase から継承する本質的に空のクラスです。
以下は、Resources.xaml のコードです。
以下は、SettingsViewModel.cs のコードです。
以下は、私の MainView.xaml のコードです。
wpf - ListViewItem カスタム テンプレート: ContentPresenter は空のまま
コードに次の ListView があります。views:GameCard
はカスタムUserControl
で、3 つのアイテムを持つ{Binding}
有効なDataContext
オブジェクトです。カスタムがなければ、ItemContainerStyle
すべてが完全に機能します。リストにはGameCards
正しい情報が 3 つ表示されます。ItemContainerStyle
部品を追加するとすぐに、3 つの「ABCD」しか表示されません。そのため、データは引き続き正しくロードされますが、UserControl
表示されなくなりました(データが存在するかどうかを確認するために「ABCD」を追加しただけで、そうでなければ空のボックスしか得られませんでした)。
私がオンラインで見つけることができるすべての情報はContentPresenter
、テンプレートに要素を配置するだけで機能することを示しているようですが、この場合はそうではないようです. 私は何が欠けていますか?
wpf - DataTemplate 内で ContentPresenter を使用しようとすると、UserControl コンテンツが空になる
UserControl を継承するメインの抽象コードのみのクラス BaseImpostorButton があります。xaml と分離コードを持つ子クラス ClickableImageButton があります。
ControlTemplate で次のスタイルを使用しています。
ListView で生の ListViewItem として使用すると、ClickableImageButton が正しく表示されます。
しかし: ItemTemplate DataTemplate を使用してリストビューで使用すると、ClickableImageButton が表示されなくなります... DataTemplate 内で Content が空であるかのように。
私が見つけた解決策は、BaseImpostorButton に DependencyProperty ButtonContent を記述し、xaml で明示的に設定することでした。
しかし、誰かがこの問題を説明できますか?
編集: ここに 2 つの異なる xaml があります。基になる画像を正しく表示しているもの (ClickableImage は画像です)
そして、機能していないもの
c# - WPF で選択したオプションに従ってコンテンツを変更する
いくつかのボタンを表示し、選択したボタンに応じてビューポートを変更するアプリの作成に興味があります。私のアプリのビューポートはContentControl
、ボタンがクリックされるたびにコンテンツを変更することを考えました。ただし、提示したい各ビューのViewModelを注入し、ContentControl
それらを使用してスタイルを設定することにより、より良いアプローチがあると思いますDataTemplates
(多くのコントロールを持つグリッドを避け、必要なVisibility
ときにいつでもそれらのプロパティを設定するだけであるため)特定のビューを表示します)。どちらのアプローチがあなたにとってより良いと思われますか? これには別のアプローチがありますか?
ビューは次のようになります。
ありがとう!
c# - テンプレートをパーソナライズするために ContentPresenter を使用する
templateButton を作成するための ressourceDictionnary を作成しました。このテンプレートを使用するときに png 画像を変更できるようにしたいのですが、ContentPresenter を使用する必要があると思いますが、理由がわかりません。
ここに私の RessourceDictionnary があります:
したがって、このボタン テンプレートを使用するときは、別の png 画像を渡して表示できるようにしたいと考えています。たとえば、xRtDiva_XWPF_TBR_PREMIER.PNG_IMAGES.png を MyPicture.png に置き換えたいと思います。
これをどのように行うのですか?contentPresenter で?
ありがとう :)
wpf - WPF MVVM コンテンツ プレゼンター
WPF でマスター詳細フォームを実装しようとしています。マスターは、レコード (オブジェクト) のリストを表示します。1 つを選択すると、詳細ビューが表示され、そのオブジェクトがレンダリングされ、フィールドが表示されます。
ただし、詳細ビューにコマンドを配置するにはどうすればよいですか?
IE ユーザーがレコードを更新した場合、それを保存するにはどうすればよいですか?
ビューはビューモデルではなくモデルタイプにバインドされているだけで、ビューモデルにバインドしてコマンドにアクセスする方法がわかりません。
c# - bmp を ContentPresenter にロードするにはどうすればよいですか?
ContentPresenter Content があり、ファイルから bmp をロードしました。bmp を ContentPresenter に表示して、ズーム機能を利用したいと考えています。
私が持っているコード (bmp ファイルのパスのみを表示する) は次のとおりです。