問題タブ [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.

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

c# - ウィンドウ(WPF)のコンテンツの変更

2つのWindowsを備えた単純なWPFアプリケーションを作成しました。ユーザーは最初のウィンドウにいくつかの情報を入力し、[OK]をクリックすると2番目のウィンドウに移動します。これは正常に機能していますが、両方のWindowsを1つのウィンドウに統合しようとしているため、コンテンツのみが変更されます。

ウィンドウの内容を変更したときに、このリソース管理を見つけることができました。これは私が求めているもののようです。ただし、ContentPresenterを検索しましたが、その使用方法について多くのヘルプを見つけることができませんでした。たとえば、ContentPresenterを使用する場合、2つのWindowsにある既存のXAML要素をどこに配置しますか?最初のウィンドウはContentPresenterに入ると思いますが、2番目のウィンドウは、スイッチを入れる必要があるときのためにどこかに配置する必要があります。

どんな助けでも素晴らしいでしょう。簡単な実例はさらに良いでしょう。

TIA

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

wpf - ContentPresenter の幅を動的コンテンツに制限する

コンテンツ コントロールのサイズを動的に調整できるようにしたいと考えています。

簡単な例を次に示します。

この例では、コンテンツ ContentPresenter の幅を、生成された子の最小幅と最大幅 (この場合は 80 ~ 200) 以内に収めたいと考えています。

明らかに、このような単純な例では、スライダーの範囲を変更するだけで済みますが、実際のシナリオはもっと複雑です。ポップアップ画面のサイズを生成されたコンテンツに制限しようとしています。コンテンツがどのようなものになるか事前にわからないため、ポップアップに明示的な範囲を設定することはできません。コンテンツはそれ自体を制限できる必要があります。

残念ながら、子の MaxWidth と MinWidth はほとんど無視されます。親が小さく設定されている場合、MinWidth はトリミングされます。MaxWidth を使用すると、多くの空きスペースが生じます。Width 値を動的に更新しているのと同じ場所に MaxWidth と MinWidth を設定する必要があるようです。

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

templates - ItemsPresenter のない ItemsControl (Silverlight)

ItemsControl を継承するコントロールを作成しましたが、作成したコントロールには、そのテンプレートの ItemsPresenter がありません。代わりに、グリッドがあります。次のようなリストを作りたいです。


(項目1)


(グリッドスプリッター)


(項目 2)


(グリッドスプリッター)


(項目3)


アイテム間に独自の GridSplitter を挿入する必要があるため、ItemsPresenter を使用して UI に入力させることはできません。

OnItemsChanged() メソッドをオーバーライドして、GridSplitter を追加/削除するロジックを記述できるようにします。ただし、ItemContainerGenerator クラスを使用して、Items の ItemTemplate を生成する必要があります。

しかし、コントロール テンプレートに ItemsPresenter がない場合、ItemContainerGenerator は機能していないようです。初めてアイテムを生成するために使用すると、DataTemplate を含む ContentPresenter が返されます。次に、私が持っているグリッドに挿入しました。ただし、画面にはアイテムが表示されません。別のアイテムを追加すると、グリッドに挿入するときにエラーがスローされ、そのアイテムが既にビジュアル ツリーにあるというメッセージが表示されます。それが、ItemContainerGenerator が ItemsPresenter なしでは機能しないと私が考える理由です。

そこで、Grid を ItemsPresenter に置き換えようとしました。今回は、下線ロジックを使用してアイテムを作成し、想定どおりに表示しました。しかし、それは私が望むものではありません。

ItemContainerGenerator を使用する理由は、Xaml で定義した ItemTemplate から UI 要素を作成する必要があるためです。

項目のコントロールの ItemTemplate を使用して UI を生成する方法はありますか?

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

wpf - WPF:ControlTemplateおよびContentPresenter.Resourcesを介してカスタムTabItemヘッダーにスタイルを適用する際の問題

TabItemヘッダー用に独自のコントロールテンプレートを作成しようとしていますが、基本的なレイアウトが機能するようになりましたが、テキストブロックのサイズやフォントを操作するなど、ヘッダーのコンテンツにスタイルを適用したいと思います。

これをテストするために、tabitemヘッダーに楕円を配置し、スタイリングを通じてその楕円をゴールドブラシで塗りつぶそうとしています。ただし、動作していません。楕円が存在し、コントロールテンプレートが適用されていますが、楕円の塗りつぶしはゴールドではありません。ContentPresenter.Resources内のスタイルは無視されています(そしてResharperはそれを証明するためにそれをグレー表示しています)。私が間違っていることについて何か考えはありますか?ありがとう。

コードは次のとおりです。

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

c# - WPF - ページのコンテンツを表示できません

(隔離された環境でバグを再現するために) wpf ウィンドウ内に wpf ページを表示しようとしていますが、ウィンドウ内にページが表示されません。

私のコードは非常に単純です:

MainWindow.xaml:

MainWindow.xaml.cs:

Page1.xaml:

MainWindow が空に見える理由はありますか?

ありがとう、リー

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

wpf - WPF-オブジェクトを視覚的なコンテンツにプログラムで具体化する方法は?

オブジェクトをコンテンツコントロールに割り当てると、割り当てられたオブジェクトに適したビジュアルが実現されます。同じ結果を達成するためのプログラム的な方法はありますか?オブジェクトを使用してWPFの関数を呼び出し、ビジュアルを取得します。ここでは、オブジェクトをコンテンツコントロールインスタンスに提供した場合と同じロジックがビジュアルの生成に適用されます。

たとえば、POCOオブジェクトがあり、それをContentコントロールに割り当て、適切なDataTemplateが定義されている場合、そのテンプレートをマテリアライズしてビジュアルを作成します。コードでPOCOオブジェクトを取得し、WPFtheVisualから取得できるようにしたいと思います。

何か案は?

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

wpf - TextBlockを使用したWPF DataGridCellテンプレート - バインディング?

のをに置き換えてContentPresenter、コンテンツに適したものを検索します。DataGridCellTemplateTextBlockBinding

通常の方法はText="{TemplateBinding Content}-TextBlock動作しません。またText="{Binding RelativeSource={RelativeSource TemplatedParent},Path=Content, Mode=TwoWay}"、正しく動作しません。

他のアイデアはありますか?

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

wpf - 不規則な領域を ContentPresenter として割り当てる方法は?

2 列 1 行のグリッドがある場合、このブログのようなものを作成できます。

しかし、2 列/2 行の場合 [つまり、メインの四角形が 4 つの小さな四角形に分割されている]...そして、行 1、列 0 の四角形のみがタブを含み、他の 3 つの小さな領域がコンテンツ プレゼンターである必要があります。 、そのために何をしますか?

助けてください。

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

wpf - 項目コントロールのように、データ型に基づいて自動 DataTemplate 選択を有効にするにはどうすればよいですか?

ItemsControlのようなより一般的なオブジェクトではなく、それぞれが異なるオブジェクト (貧乏人ContentPresenterのグリッドを考えてください) にバインドされていますListBox

anまたは anを明示的に指定しListBoxない場合は、純粋にデータ型に基づいてテンプレートを適用する内部セレクターがあるようです。しかし、私たちの はそれらを拾っていません。また、代わりに に切り替えようとしましたが、それもうまくいきませんでした。ItemTemplateItemTemplateSelectorContentPresenterContentControl

今、私はこれを行う独自のものを簡単に書くことができることを知っていますが、DataTypeTemplateSelectorその機能がすでにどこかで「焼き付けられている」かどうか疑問に思っています。論文...ItemsControlListBoxTreeViewComboBoxDataGrid

http://msdn.microsoft.com/en-us/library/ms742521.aspx

...デフォルトで動作するはずです! しかし、繰り返しますが、そうではありません。

これが私たちの(疑似)コードです...

では... 試してみたい人はいませんか?

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

xaml - ItemsSource を ContentPresenter.Content に設定します

私はこれを試しました:

スタックオーバーフローが発生します。ItemsControl の ItemsSource を ContentPresenter のコンテンツに設定するにはどうすればよいですか?

編集:

ItemsSource="ContentPresenter.Content"just に変更しましたItemsSource="{Binding}"が、まだスタック オーバーフローが発生しています。メインの ItemsControl の ItemsSource は次のように設定されnew List<List<string>> { new List<string> { "1", "2", "3", "4" }, new List<string> { "1", "2", "3" }, new List<string> { "1", "2" }, new List<string> { "1" } }; ています。これが私のコードのより大きな部分です。