問題タブ [catel]

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 投票する
1 に答える
586 参照

c# - Catel 4.0: IMessageService はダイアログの結果を同期的に取得する

Catel 4.0 で IMessageService を使用してダイアログを表示し、その結果をすぐに (非同期ではなく) 取得するにはどうすればよいですか?

以前は、次のようにして可能でした:

Catel 4.0 のドキュメントには、「結果を待つために await または Task.ContinueWith を使用することが必要になりました」と記載されています。

私は非同期プログラミングに精通しておらず、多くのことを試しましたが、最終的には、実際のダイアログの結果を待つメソッドを取得できませんでした。

私はこのようなことをしました:

誰かが私が間違っていることを教えてください、および/または待機して結果を同期的に取得する方法の例を提供できますか?

前もって感謝します。

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

c# - MVVM、Catel、およびグラフィカル UI の相互作用

ここに画像の説明を入力

ユーザーがFrameworkElementsをクリックしてCanvas上でドラッグするグラフィックアプリケーションに取り組んでいます。コード ビハインドで動作しますが、Catel/MVVM で更新したいと考えています。

私の一般的な質問: このアプリでは、オブジェクトの位置を更新するために "LayourRoot" に対する MousePosition を知る必要があるため、ViewModel は View について "知る" 必要があります。これは MVVM パターンに反します。コード ビハインドですべての Mouse/FrameworkElement インタラクションを処理し、MVVM プロパティを使用して任意の data/FrameworkElement を処理する方がよいでしょうか。(data/FrameworkElement とは、Canvas.Top、Canvas.Left、Fill などの特定のプロパティ値をデータストアに保存することを意味します。)

一般的なアプローチに関するアドバイスはありますか?

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

catel - NuGet パッケージ マネージャーを使用する場合、テンプレートとコードニペットは Catel パッケージと共にインストールされるはずではありませんか?

プロジェクトに Catel.Core 3.7、Catel.MVVM 3.7、および Catel.Extensions.Controls 3.7 を追加しましたが、コードスニペットがありません。調べましたがC:\Users\NNUser\Documents\Visual Studio 2013\Code Snippets\Visual C#\My Code Snippets、Catel フォルダーはありません。テンプレートも見つかりません。

これらは自動的にインストールされるべきか、このスレッドの最後に示されているように手動でインストールする必要があるかという印象を受けました。ここで利用できるようですが、それらはバージョンに依存しませんか?

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

catel - 渡されたView ModelをUIVisualizerに使用させる方法

UIVisualizer サービスによって呼び出される MessageBox の代替として機能するビュー/ビューモデルのペアを作成しようとしています。viewModel には 5 つの異なるコンストラクターがあり、1 つはデフォルトで、その他は MessageBox のさまざまな属性 (Type、Image、Message、Title など) を定義します。MessageBox をポップアップ表示するたびに、デフォルト以外の 4 つのコンストラクターのいずれかを使用して viewModel を作成します。組み込みの MessageService を使用するのではなく、これを行っているのは、アプリケーションにサード パーティのコントロールを使用しており、MessageBox のルック アンド フィールをアプリケーションの残りの部分と一致させたいからです。

私の問題は、viewModel を作成しているにもかかわらず、Catel が UIVisualizer に渡した viewModel を使用しておらず、デフォルトのコンストラクターから新しい viewModel を作成していることです。

この動作を停止する方法を知っている人はいますか。

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

c# - イベント ハンドラーをコレクション アイテムにアタッチする方法は?

こんにちは、フォームに消耗品リストがあり、クリック時の効果を拡張可能リスト内の項目にバインドしたいと考えています。ここまでは順調ですね。エキスパンドを正しく表示することはできましたが、ダブルクリックをバインドできません。私はMVVM Catelでプロジェクトを行っています。

私のXAML:

そしてModelViewクラスには次のものがあります: