問題タブ [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 - ViewModel 変更時のフェードアウト/フェードイン
私の WPF アプリケーションのメイン ウィンドウには、アプリケーションの存続期間中存続するタイトル バー/ナビゲーション領域があり、その後、ほとんどのユーザー操作が行われるワークスペース領域があります。(これはすべて MVVM パターンの精神でコーディングされており、コード ビハインドに対して過度の嫌悪感を抱いている可能性があります: ContentPresenter
/ ) 私のコードでは、このプロパティはfrom where を上げることで更新されます。MainWindowViewModel
ISomeArbitraryVMInterface
DomainEvent
以上のことをすべて述べた後、DomainEvent
が起動されて のコンテンツContentPresenter
が変更されたときにContentPresenter
、 の不透明度をアニメーションで変更したいと考えています。ユーザーの観点からは、現在のビューがフェードアウトするように見せたいのですが新しいでContentPresenter
更新され、ISomeArbitraryVMInterface
新しいビューに対応する新しいビューISomeArbitraryVMInterface
がフェードインします。
私が最初に考えたのは、Content プロパティが変更されるたびに ViewModel にイベントを発生させるDomainEvent
ことでした。その後、実装を既に行っていることに気付きましたが、View にイベントを「リッスン」させる方法が思いつきませんでした。その後、同期的にフェードアウト/更新/フェードインします。この種の問題を解決するための洞察をいただければ幸いです。洗練された解決策がある場合は、後世のためにいくつかのコード スニペットを投稿します。
wpf - Wpf DataGridのテンプレートを使用する方法は?
次のようなデータグリッドのテンプレートがあります。
次のように使用します。
テンプレート内のScrollViewerにデータグリッドを表示したいのですが、何も表示されません。どうしたの?
wpf - コンテンツにUserControlを含める
UserControlを作成しました。私はそれをこのコードに含めたいと思います:
それがUserControlです。
今私の問題に:
次のコードと統合すると、
結果としてそれを受け取ります:
それは私が望んでいることではありません。
しかし、それをこのコードと統合すると、望ましい結果が得られます。
私の最初の方法で何が問題になっていますか?
wpf - WPF ItemsControl -> ContentPresenter
誰かが私の問題で私を助けてくれることを願っていますItemsControl
:)
MVVM (およびセル コンテンツ) で追加/削除するためにItemsControl
aを使用しますが、これは正常に機能しますが、追加しようとするとスプリッターが表示されますが、機能しません。その理由は、アイテムごとに新しいものが追加されるためです...Grid
ItemsPanel
Column/RowDefinitions
GridSplitter
ItemsControl
ContentPresenter
children プロパティの項目の が typeof の場合、ContentPresenter
をGridSplitter
Control に置き換える方法はありますか??Type
SplitterVM
Splitters
また、Grid
を としてバインドしようとしていますが、に追加できないため、DependencyProperty
使用すると機能しません...ItemsPanel
Children
Panel
これが私のコードです:
wpf - ContentPresenterのUserControlへのXAMLバインディングプロパティ
コンテンツに基づいてさまざまな「エディター」(他のユーザーコントロール)を表示するEditorViewというUserControlがあります。
これは、FontEditorをTextBlockに置き換えたバインディングをテストするためのEditorViewです。
正しいテンプレートはEditorView.Contentに基づいて選択され、TextBlockの場合はバインディングは希望どおりに機能しますが、TextureEditorの場合はTextureNameプロパティは機能しません。
TextureEditorのスニペットは次のとおりです。
UserControlを使用しているので、何か特別なことはありますか?たぶん、異なる名前空間であることが問題ですか?
wpf - ComboBox コンテンツ プレゼンターのコンテンツ テンプレートの使用方法
次のファイルには、COMboBox - コントロール テンプレートの例があります。 http://msdn.microsoft.com/en-us/library/ms752094(v=vs.85).aspx
次の XAML を使用して、コンテンツ プレゼンター用のコンテンツ テンプレートを追加しようとしました。ただし、値「1」は「[1,1]」として表示されます。
selectedValue を textblock の tyext にバインドするにはどうすればよいですか?
c# - WPF - ContentPresenter のコントロールのプロパティを親コントロールにバインドできない
フォームで使用されるカスタム コントロールがあります。このコントロールは、ラベルとテキスト ボックスを組み合わせたものです。フォームが読み取り専用モードの場合、コントロールはテキスト ボックスの代わりにラベルを表示するように変更されます。これを行うために、次のように、コントロールのコンテンツ テンプレートを定義しました。
ReadOnlyContentPresenter
のコンテンツは、次のスタイルが適用されたラベルです。
これは約 80 個のコントロールに対しては正常に機能しますが、さらにコントロールをフォームに追加すると、ラベル スタイルのバインディングがソースを見つけられません (エラー 4):
コントロールの編集可能な部分に適用されたスタイルでも同じことが起こります。コントロール番号のコードを移動すると、問題は処理されているコントロールの量に関連していると思います。81(不合格) 管理番号の真上 80(稼働中)、管理番号のバインディング。81は現在動作していますが、制御されているものはありません。80 失敗します。いくつかのコントロールに対してこれを行いましたが、動作は一貫しています。
AdornerDecorator
正確にどのように機能するかについてはまだ明確ではありません。調査中に、アドナーレイヤーに144を超えるアドナーを持つ問題について言及しているこの質問AdornerDecorator
を見つけたので、コード内の 's を削除して、バインディングの問題を見つけました。それはコントロール番号に起こっていました。81 以上がすべてのFormFieldControl
's に発生しています。
最後に、コントロール テンプレートでContentControl
の代わりにを試してみることにしました。ContentPresenter
これは、フォーム内のすべてのコントロールに対して正常に機能します。ContentPresenter
これは の軽量な形式でContentControl
あり、それよりもコンテンツ テンプレート内で使用するのに適していることはわかっていContentControl
ます。ContentPresenter
ただし、を使用するとバインディングが失敗し、を使用するとバインディングが機能する理由がよくわかりませんContentControl
。
また、限られたセットのコントロールしか機能せず、AdornerDecorator を使用しない場合、いずれのコントロールもバインディング ソースを見つけられないことも奇妙に感じます。
誰かが似たようなものに出くわしましたか? 私が間違っていることはありContentPresenter
ますか?または、これが予想される動作である場合、誰かが何が起こっているのかを理解するのを手伝ってくれますか?
どんなアイデアでも大歓迎です。
c# - 設計時にコンテンツを表示しない拡張 Window クラスの ContentPresenter
現在、Window を拡張する Dialog クラス (lookless コントロール) を作成しており、XAML スタイルを使用してそのクラスに既定の ControlTemplate を割り当てています。
ダイアログ テンプレートの「ボタン」セクションを置き換え可能にしたいのですが、他に何も指定されていない場合は、既定のボタンのセットを事前に入力します。これが、クラスに呼び出される依存関係プロパティを追加した理由です。ButtonContent
(以下のDefaultButtons
XAML を参照)アプリケーションを実行すると正しくレンダリングされますが、Visual Studio 2010 のデザイン プレビューではコンテンツがレンダリングされません。なぜこれが起こらないのですか?
私のダイアログクラスは次のようになります。
これは私のXAMLです:
アプリを起動すると、次のように表示されます。
VS2010 デザイナーはこれをレンダリングします。
編集:コメントで説明されているように、App.xaml から含まれているリソース ディクショナリの代わりに、上記のスタイルを Themes\Generic.xaml に配置しても何も変わりません。
編集 2:このようにデフォルトを明示的にオーバーライドするButtonContent
と、デザイナーにも何も表示されません。実行時には、すべてが完全に機能します。
編集 3:ButtonContent
プロパティを拡張するクラスのUserControl
代わりにに追加すると、ユーザー コントロール内に正しく表示されます...また、VS2010 は上記で定義されたスタイルを class のウィンドウだけでなく、任意のウィンドウに適用するようですが、 TargetType を適切に設定しました...変です!Dialog
Window
ButtonContent
Dialog
wpf - ContentPresenter.Content を TemplatedParent にバインドする (WPF/Silverlight)
基本的に、たとえばTextBlock
overを(applied to this )Button
を使用してオーバーレイしたいのですが、デフォルトのテンプレートを削除したくありません。ControlTemplate
Button
例:
そして、Button
デフォルトのテンプレートが取り除かれます:
むしろ、次のようなものを受け取りたいです。
を使用して可能ControlTemplate
ですか?私はここのようにバインドしようとしてTemplatedParent
い ContentPresenter.Content
ました:
または他の組み合わせですが、機能させることができませんでした。
編集:
TextBlock
これをボタン (単なる例) だけでなく任意の にも適用できるようにしControl
たいので、すべてのControl
. また、私はUserControl
xaml を可能な限りきれいに保ちたいので (つまり、システム コントロールをTextBlock
使用して)、 を作成しないことを好みControlTemplate
ます。.
.net - Trigger 内にある TabItem ContentPresenter のスタイルを設定するにはどうすればよいですか?
TabItem のスタイルを変更していますが、TabItem ヘッダーの背景、前景、およびテキストの色を、選択されているかどうかによって異なるようにしたいと考えています。ControlTemplate.Triggers の外部で ContentPresenter の TextBlock を正常に変更できますが、Trigger 内から「取得」する方法がわかりません。
ここに私のXAMLがあります: