問題タブ [caliburn]
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 - Caliburn Micro:プログレスバーは変更された値をアクションに報告しません
プログレスバーとCaliburnMicro
こんにちは皆さん、
これはCaliburnを使用した最初のプロジェクトなので、何かが足りない可能性があります。
以下のxamlとviewmodelがあります。ビューには、100%まで塗りつぶされたプログレスバーが含まれ、メソッドProgressBarへの変更が報告されます。メソッドは期待どおりに起動されますが、そのValueパラメーターは常に0.0です。ソースコードに飛び込み、依存関係プロパティが正しく渡され、%(例:22.45546)が含まれていますが、何らかの理由でパラメーターが制限されていないことを理解していませんそして0.0のままです
Caliburnをよりよく知ることが私の最優先事項であるため、どんな助けでも大歓迎です。
XAML
C#
c# - MissingMethodException - カリバーン
Caliburn と .NET 4 を使用してプラグインを使用するプログラムを作成しました。
プラグインのインスタンスを作成すると、コンテナ、ウィンドウ マネージャ、およびビュー モデル ファクトリが caliburn の機能を使用して挿入されます。
ただし、挿入されたプロパティの 1 つの使用法を含むコードを実行すると、
MissingMethodException
. それは私を夢中にさせています。
また、プラグイン インスタンスに、Caliburn にデフォルトで登録されている、満たす必要のある依存関係 (IContainer や IWindowManager など) がある場合、IoC コンテナーにそのようなコンポーネントが見つからないというメッセージが表示されて作成に失敗します。
デバッグモードで確認したところ、すべてが登録されているため、どうすればよいかわかりません。
何が問題になると思いますか?
dependency-injection - Caliburn+Spring.NET-Bootstraperを構成する
Spring.NET for IoC、DI、AOP、CaliburnをMVVVMフレームワークとして使用したいと思います。
しかし、Spring.NET用にbootstraperを構成する方法のサンプルは見つかりません。
castle-windsor - カリバーン ビュー モデルのキャッスル ウィンザー インターセプター
Castle Windsor Interceptor で独自のアスペクトを作成し、View Model クラスに適用したいと考えています。
私が言ったように、私は Caliburn MVVM フレームワークを使用し、DI では Caste Windsor を使用しています。すべてがうまくいきます。
たとえば、単純なログ インターセプターを作成しました。
これは単純な View Model クラスです - それは「タブ項目」です:
Fluent API で IoC を構成するときに、このインターセプターを View Model クラスに適用したいと思います。
IoCからビューモデルを選択しようとしたとき:
私はこのメッセージを受け取りました:
Castle.Proxies.ITabViewModelProxy のデフォルト ビューが見つかりませんでした。次のビューが検索されます: Castle.Proxies.IITabViewModelProxy Castle.Proxies.ITabViewModelProxys.IDefault Castle.Proxies.ITabViewModelProxys.Default
また、インターセプターアプリケーションのためにこの方法を試しました。
わかりました、Caliburn フレームワークは、命名規則によってビューとビュー モデルを一致させることを知っています。
ITabViewModel の実装を選択しようとすると、ITabViewModelProxy が取得され、ITabViewModelProxy ではビューを登録しませんでした。
プロキシのターゲットはTabViewModelですが、名前の不一致が問題だと思います。
XML ファイルからプロキシを構成したいので、ViewModel の名前を変更したくありません。
では、正しい方法は何ですか?
ご協力ありがとう御座います
wpf - ItemsControlでContentControlをアニメーション化する方法
ItemsControlを使用してContentsControlsをホストするのが好きです。新しいContentsControlはそれぞれ、アイテムが追加されたときにそのコンテンツをアニメーション化し、各ContentControlは前のContentControlをオーバーレイします。ItemsControlおよびContentControlContentは、命名規則を使用してCaliburnMicroにバインドされます。
ContentControlは次のように定義されます。
さて、ついに私の質問です。実際のContentControlでは、コンテンツをアニメーション化するのが好きですが、アニメーションが作成される場所でOnContentChangeが呼び出されると、ContentControlのサイズは0になります。ContentControlがItemsControlでホストされている場合の呼び出しの順序は、次のとおりです。
- OnContentChanged(アニメーションは失敗します)
- OnApplyTemplate
- MeasureOverride
ContentControlが単独で実行される場合、順序は次のとおりです。
- OnApplyTemplate
- MeasureOverride
- OnContentChanged(アニメーションは機能します)
ここでの問題は、ItemsControlの新しいItemの完全なビジュアルサブツリーが0(DesiredSize、ActualSize = 0)であるため、アニメーションコードが失敗することです。私はそれが誰かに何らかの意味があることを願っています、どんな助けも素晴らしいでしょう、Thx、J
- - - - - - - - - - - - - - - リビジョン - - - - - - - - - -
OK、OnLoadedイベントハンドラーをDummyControlのコンストラクターに追加しました。呼び出しの順序は1です。OnContentChanged(すべてのサイズは0)2. OnApplyTemplate(すべてのサイズは0)3. MeasureOverride(ContentControlによってホストされているすべての子コントロールに対しておそらく数回呼び出されます)4。Loadedイベント(必要なサイズはすべて設定されます)他のサイズはまだ0です)
誰かが、ItemsControlによってContentControlホステットをアニメーション化する方法について推奨される方法を説明できますか?
c# - コントロールを動的に生成し、特定のカリバーンプロパティを与える方法は?
Caliburnフレームワークを介してViewModelsをViewsに接続します。
ListBox
次に、コードビハインドを介して動的に生成する必要があります。このようなもの:
現在ListBox
、Xamlでこれを明示的に宣言しています。ダイアログの配置にCaliburnを使用しているため、
この中でListBox
。これを生成する方法は?そして最も重要な質問:私はcaliburn:View.Model
財産を引き付けることができますか?私が?のWidth
プロパティでそれをしたように ListBox
これTransitioningContentControl
はのにネストされてDataTemplate
いListBoxItem
ます。コードビハインドを介してこれを生成することさえ可能ですか?
wpf - CaliburnFrameworkでビューとViewModelを整理する
CaliburnMVVMフレームワークでViewモデルを整理するための最良の方法を知りたいです。
ビューモデルがViewModelsという名前のフォルダーにある単純なクラスであり、ビューがViewsフォルダーにあるサンプルをたくさん見ました。
たとえば、プロジェクトの構造は次のとおりです。
多くの状況で、私はビューモデルを非常に複雑に表示しています。
私の意見では、ビューとビューモデルを単一のWpfControlLibraryに配置することをお勧めします。
しかし、これがMVVMデザインでWPFアプリを整理するための良い方法であるかどうかはわかりません。
Caliburnフレームワークは、ビューモデルがViewModelsという名前のフォルダー内のクラスではない状況でも機能すると思います。
だから私の質問は、Caliburnフレームワークを使用するWPFアプリでビューとビューモデルを整理するための正しい方法と賭け方です。
c# - OKアクションを含むCaliburn MVVM WPFダイアログ
Caliburn フレームワークを使用して、WPF でプロジェクトを書き直しています。私はC++の世界から来たので、最も単純なことでさえ理解するのが難しい...
だから、私が持っているとしましょう:MainView、MainViewModel、DialogView、DialogViewModel。
MainView.xaml: ...
... Caliburn はそれを MainViewModel のメソッドにバインドします。
正常に動作し、ダイアログがポップアップします。
さて、このダイアログには次のものがあります。
さらに、他のテキストボックス、チェックボックスなど。次に、[OK] ボタンと [キャンセル] ボタンがあります。
現在、それらは DialogViewModel の OK() および Cancel() メソッドにバインドされているため、DialogViewModel でそれらを処理する方法についての情報を見つけたり見つけたりすることはできません。
DialogResultsAction クラスが作成されたときの例を見つけました。OK/キャンセル ボタンをこのクラスのメソッドにバインドできますが、さらに先に進む方法がわかりません...
どの方向に進むべきかアドバイスしてもらえますか?
wpf - Caliburn Micro の WPF コンテキスト メニュー
ListBox ItemTemplate 内のコンテキスト メニューを取得して、親ビュー モデルのメソッドを呼び出し、クリックされた項目をパラメーターとして渡そうとしています。項目テンプレートの他のボタンではこれが機能していますが、コンテキスト メニューでは失敗しているようです。
次のxamlがあります(わかりやすくするために省略しています):
これは、ビジュアル ツリーが異なるという事実に関係していると感じているため、Caliburn はメソッドを確実に解決できません。これはよくある問題だと思います。オンラインで見つけたものをいくつか試しましたが、何も機能していないようです。
何か案は??
c# - View が Toolbar ItemsSource で解決されていない
ShellView のツールバーのボタンのリストとしてバインドされている場合、Caliburn Micro フレームワークが SinglePaintToolbarView を取得しているようには見えません。ボタンがツールバーに追加されたときに、ボタンのテキスト コンテンツを表示するだけにしたいと思います。しかし、代わりに私はこれを得ています:
ツールバーにクリック可能なボタンがないようです。リスト内のプラグインの 1 つを ContentControl としてバインドでき、ビューが表示されたため、プラグインが正常に読み込まれていることがわかりました。ツールバーでプラグインのリストをバインドしようとすると、うまくいかないようです。
ここに私が持っているものがあります:
ShellView.xaml
ShellViewModel.cs
SinglePaintToolbarView.xaml
SinglePaintToolViewModel.cs