問題タブ [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.
c# - ContentPresenter.Styleを設定するときに「PreviousData」を参照する方法
次のコードでは、PreviousElementがnullかどうかを確認して、コレクションの最初のアイテムのスタイルを1つのテンプレートに設定し、残りを別のテンプレートに設定しようとしています。トリガー条件が常に真であるため、relativesourceが正しくないと思います。パスはどうあるべきですか?
wpf - ビュー モデル プロパティに基づいてアニメーションを実行しますか?
私は実際にMVVMパターンに準拠しようとしていますが、その結果、ビューモデルのプロパティが設定されるたびに(バインディングを介して)ビューでアニメーションを起動する方法を理解するのが困難です。
MainWindow.xaml には ContentPresenter があり、そのプレゼンターのコンテンツを、ユーザーに表示される現在のビューのビュー モデルにバインドしています。たとえば、ユーザーが最初にアプリケーションを実行すると、ContentPresenter は StartViewModel にバインドされます。次に、ユーザーが別の画面に移動するボタンをクリックしてスタディを実行する場合、たとえば、ContentPresenter を StudyViewModel にバインドして、StudyView 画面を表示できるようにする必要があります。次に、ユーザーが開始画面に戻りたい場合、その時点の ContentPresenter は、アプリケーションの起動時に作成された StartViewModel に再度バインドされます。次のようになります。
CurrentContentViewModel のタイプは「ViewModelBase」です。これは、INotifyPropertyChanged を実装するすべてのビュー モデル用に作成した基本クラスです。舞台裏で ViewModelBase の ObservableCollection を保持し、ユーザーを新しい画面に移動させるイベントが発生するたびに、そのコレクションで適切なビュー モデルを探し、そのビュー モデルに CurrentContentViewModel を設定します。コレクションにまだ存在しない場合は、最初にコレクションに追加してから、CurrentContentViewModel をそのビュー モデルに設定します。
私の質問は、ビューが表示されるたびにビューに「イントロ」アニメーションを実行させるにはどうすればよいですか? ビューが ContentPresenter 内に単に読み込まれるたびにストーリーボードを実行するように設定することはできません。これは、ユーザーがアプリケーションの有効期間中に既に読み込まれたビューに戻ったときにアニメーションを再度実行したいからです。その上、私のビューは「ダム」であり、MainWindow の ContentPresenter がビューではなくビュー モデルにバインドされているため、MainWindow に再び表示されていることを認識していません (そのため、VIEW MODEL がコンテンツ プレゼンターにバインドされるたびに何らかのイベントを発生させる必要があり、ビューはそのイベントに応答する必要があります)。
誰かが持っているかもしれないアイデアを事前に感謝し、この質問がすでに尋ねられている場合は申し訳ありません. 似たような投稿をいくつか見つけましたが、私がやりたいこととまったく同じものはありません。
更新 - 解決策が見つかりました
結局のところ (少なくとも私が現在持っている実装では)、これは私が思っていたよりもはるかに簡単に解決できる問題でした。データ テンプレート パターンを使用してビューを構築している場合 (つまり、リソース ディクショナリでビュー モデルごとにデータ テンプレートを定義し、そのリソース ディクショナリを app.xaml ファイルのリソース リストに追加する)、毎回ビューが再作成されます。コンテンツ コントロールから削除されます。私の場合、コンテンツ コントロールのコンテンツを以前のものとは異なるビュー モデルにバインドするたびに、そのビュー モデル用に「構築」されたビューが実際に破棄されます。次に、ビュー モデルが再びコンテンツ コントロールに再割り当てされると、ビューが最初から作成されます。したがって、画面のイントロ アニメーションをビューの Loaded イベントに入れることができます。
他の誰かが同様の問題に直面している場合に備えて、これを共有したかったのですが、データ テンプレートを使用してビュー モデルのビューを表示するこの種の動作を知りませんでした。
silverlight - 自動生成された ContentPresenter のプロパティを設定する
Windows Phone SL アプリケーションのビジュアル ツリーの次の部分を検討してください。
ご覧のとおり、PanoramaItem テンプレートには static への参照が含まれていますDataTemplateSelector
。これは、提供された Key に基づいてデータ テンプレートを動的にフィードし、 に提供されたさまざまなビュー モデルのさまざまなビューを表示する単純なクラスDataContext
ですPanoramaItem
。そのコードは次のとおりです。
問題は、ContentPresenter
上の画像で選択されているのを見ることができるの作成を制御できないことです。一貫したレイアウトを得るには、垂直方向の配置プロパティを設定できる必要があります。this を参照できないため、どうすればよいかわかりませんContentPresenter
。ContentPresenter のプロパティを設定するにはどうすればよいですか?
oracle - Oracle WebCenter Content Presenterテンプレート
コンテンツ プレゼンター テンプレートを作成し、それを webcenter に統合する必要があります。しかし、私はこの技術に不慣れです。誰でも、これらのことを学ぶことができる場所、ステップバイステップのチュートリアルから参照を与えることができますか. どんな情報もとても役に立ちます。
wpf - WindowsFormsHostコンテンツは、ContentPresenterに渡されたときに表示されません
WPF (Extended WPF Toolkit)WinForm
に配置したいコントロールがあります。コントロールをWindowsFormsHostに配置し、それがWindowsFormsHostに与えているものは機能しません。Winformsコントロールは表示されません。テンプレートでは、プロパティはです。DropDownButton
DropDownContent
DropDownContent
DropDownContent
ContentPresenter
StackPanel, Grid
このストーリー全体を一般的なコンテナ(など)で試してみたい場合は、問題なく動作します。
誰かが私がこれを解決する方法を知っていますか?
silverlight - SilverlightのContentPresenterで可能なTextBlockのForegroundプロパティを設定するにはどうすればよいですか?
Silverlightプロジェクトにボタンのカスタムスタイルがあり、ボタンのテキストの前景(およびその他のプロパティ)を設定したいと思います。しかし、私の考えはContentPresenter
、スタイルでを使用することです。このようにして、ボタンに好きなものを入れることができます。
ただし、コンテンツとしてテキストがある場合は、Foreground、FontFamily、FontSizeなどの特定のプロパティを設定できるようにしたいです。また、ホバーなどでこれらのプロパティを変更したいと思います。
これは私のスタイルです(簡略化):
私が見つけたすべての情報はTextBlock.Foreground="..."
、ContentPresenterに追加するように教えてください。
しかし、これは私にはうまくいきません。アタッチ可能なプロパティForegroundがTextBlockタイプで使用できないというエラーが表示されます。これは、そのソリューションがWPFでのみ機能するためであり、Silverlightでこのプロパティを設定するにはどうすればよいですか?
タグを使用してフォアグラウンドを設定できることはわかってい<Setter>
ますが、マウスオーバーでフォアグラウンドを変更するにはどうすればよいですか?ContentPresenterの前景を設定して、MouseOverVisualStateで変更できるようにします。
wpf - MenuItem HeaderTemplate 内で ContentPresenter を使用すると StackOverflowException が発生する
次のマークアップに注意してください。
このスタイルがアプリケーション マークアップ ファイルに追加されると、StackOverflowException
実行時に が発生します。
スタイルは、(または生成されたツリー コンテンツの後続の)ContextMenu
にアタッチされている のメニュー項目に適用されています。マウスの右ボタンが離され、コンテキスト メニューが開かれる予定である場合、例外がスローされます。TreeViewItem
DataTemplate
の使用例の 1 つを次に示しますContextMenu
。
<ContentPresenter />
例外は、ヘッダー テンプレート内のタグに分離されています。コメントアウトすると、例外がクリアされます。何が起きてる?
wpf - TabControl から ContentTemplate のインスタンス化された UIElement を取得する
を含むによって定義されるTabControl
があります。マッピングクラスは、特定の ViewModel タイプの によって定義されます。それは次のように機能します:ContentTemplate
DataTemplate
ContentPresenter
UIElement
DataTemplate
私の問題は、インスタンス化された UIElements のインスタンスが必要なことです。この場合、Diagramインスタンスです。どうすれば入手できますか?
silverlight - コントロールの CheckState に基づいて Silverlight のコンテンツを変更する (複数の ContentPresenter を切り替える)
現在の CheckState (checked、unchecked、indeterminate) に基づいてコントロールの内容を変更したいと考えています。可能であれば、XAML のみを使用し、コード ビハインドを必要としないソリューションを希望します。
どのコントロールを使用し、複数のコンテンツ セットを定義する方法を考えています。
例: チェックされた状態が Unchecked のときに UserControl1 を表示し、チェックされた状態が Checked のときに UserControl2 を表示する "ToggleContent" コントロール。
XAML は次のようになります。
wpf - カラー アニメーション ContentPresenter
アニメーションを作成したり、ContentPresenter (NormalTextDay) で色をカスタマイズしたりできません。XAML に次のエラーが表示されます。
'System.Windows.Media.Animation.ColorAnimation' アニメーション オブジェクトを使用してプロパティ 'Foreground' をアニメーション化することはできません。互換性のない型 'System.Windows.Media.Brush' が原因です。