問題タブ [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 投票する
0 に答える
63 参照

catel - Catel 4 (プレリリース)、ReSharper 8.2、.NET 4.5

ReSharper 8.2 は、.NET 4.5 をターゲットにすると、VS 2012 Update 4 の Catel 4 ビューモデルで多くのエラーを示します。Catel 4.0.0-unstable0463 がインストールされています。

ViewModelBase から派生したすべての VM で、Re# は、GetValue、SetValue、および RegisterProperty が発生するたびに「シンボルを解決できません」と表示します。WindowLogic.PropertyChanged を参照しようとすると、同じエラーが発生します。

.NET 4.5.1 を選択すると、Re# エラーがなくなります。

プロジェクトは 4.5 用に作成され、パッケージのインストールには NuGet が使用されました。

適切なバージョンの Catel を再インストールすると、.NET 4.0 もクリーンになります。

ありがとう。

-ライリー。

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

catel - Catel 4を使用したWPFツリービュー

Catel 4 と WPF TreeView コントロールの使用方法を教えてもらえますか? VS ソリューション エクスプローラーのようなものを作成しようとしています。ツリーの各レベルにモデルと VM を作成しました。

階層データ テンプレート (HDT) を追加し、VM の種類を DataType パラメーターに使用すると、最上位のコレクション メンバーの種類を示すツリーが表示されます。つまり、WPF は ItemsSource コレクションの型を HDT に一致させることができませんでした。モデル タイプを使用するように HDT を変更すると、TreeView は適切に動作しますが、VM は使用されません。

ありがとう。

-ライリー。

0 投票する
0 に答える
205 参照

catel - StackGrid WPF デザイナーの問題

catels StackGrid を使用すると、デザイナーはすべてのコンテンツを最初のセルに表示します。
プロジェクトをコンパイルすると、デザイナー内でグリッドが適切にレンダリングされます。
再コンパイルせずに wpf デザイナーを強制的に更新する他の方法はありますか?

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

catel - Memento のやり直し操作を削除しますか?

私のアプリケーションでは、ユーザーは行を DataGrid に追加し、各行のプロパティを変更できます。ユーザーは行を削除することもできます。これらのアクションを元に戻したりやり直したりすることは問題なく機能しますが、ユーザーが行を追加した場合、たとえば 3 行を追加し、いくつかの値を変更してから元に戻し、行が 1 つしかない場所に戻し、新しい行を追加すると、元に戻すことができるのは非論理的です (最後に追加された行の後に新しい行が表示されます)。したがって、ユーザーが新しい行を追加すると、すべてのやり直しが削除されます。

RedoBatches を使用してすべてのやり直しの列挙を取得し、それぞれに対して Clear を実行してそれらを削除しようとしましたが、[やり直し] ボタンはまだアクティブであり、押すとこれらのアクションをやり直します。

これはこれを達成しようとする適切な方法ですか、それとも不可能ですか、それとも別の方法で行う必要がありますか?

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

catel - Catelで元に戻す/やり直しをサポートする状態変更ダイアログをどのように実装する必要がありますか?

ダイアログを使用すると、元に戻すとやり直しが正しく動作しません。

ダイアログを介して変更できるオブジェクト ( runningpaused、 )の状態を示すプロパティを持つ単純なモデルがあります。stopped何が起こるかというと、元に戻すキューで何もしていないように見えるアクションを取得したり、元に戻したりすると、オブジェクトが中間状態に復元されます。

モデル オブジェクトは、コンストラクターで memento に登録されます。ダイアログには、3 つの異なる状態のいずれかを表す 3 つのラジオ ボタンがあります。各ラジオ ボタンは、それぞれコマンドにバインドされます。各コマンドはプロパティの変更を実行します。各コマンドがオブジェクトにプロパティを直接設定するか、各コマンドが呼び出されたときにビュー モデルのインスタンス変数を設定し、Saving イベントを使用してオブジェクトを変更します。

最初のアプローチを使用する場合、ユーザーがダイアログで [OK] をクリックする前に複数のラジオボタンをクリックすると、各プロパティの変更が元に戻すキューに入れられます。ダイアログ全体をバッチにラップすることで解決しようとしましたが、その結果、状態の変更が元に戻り、オブジェクトは最終的な状態になる前の状態に復元されます。つまりstopped、ダイアログが開く前にプロパティが設定されていて、ユーザーがラジオボタンを一時停止してから開始し、最後に[OK]を元に戻すと、プロパティがpaused期待されるのではなくに設定されstoppedます。

2 番目のアプローチを使用してユーザーがダイアログを開いた場合、状態を に変更し、ダイアログpausedで [OK] をクリックします。元に戻す/やり直しは期待どおりに動作しますが、ダイアログを再度開いて [キャンセル] を選択すると、元に戻すキューにもう 1 つのアクションが追加されます。ユーザーは、元の状態に戻すために [元に戻す] を 2 回クリックする必要がありますstopped

したがって、私の質問は、期待される動作を得るためにこれをどのように正しく実装する必要があるかです。ダイアログ内のすべてのインタラクションではなく、各ダイアログのインタラクションを元に戻すことができるということですか?

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

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

entity-framework - EFエンティティモデルを使用したViewModelのCatel自動作成でのSerializationException

Catel がビューに属する ViewModel クラスのインスタンスを自動作成しようとすると、System.Data.Entity.DynamicProxies が予期されていないことを訴える SerializationException が発生します。モデルは EF 6.1 エンティティ (ModelBase から継承) で、私は Catel 3.9 を使用しています。これを防ぐにはどうすればよいですか?

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

catel - アプリケーションの開始時にエラーをアサート: ReflectionTypeLoad_LoadFailed

アプリケーションを起動すると、ときどき (ほとんどの場合、コンパイル後初めて)、次のエラーが表示されます。
ほとんどの場合、アプリケーションを再起動すると問題が解決します。
根本的な原因を見つけるにはどうすればよいですか?

エラー メッセージとスタック トレース以外に、原因に関する情報はありません。
Visual Studio から、デバッグ用のソース情報が利用できないと表示されます。
スレッド情報ウィンドウから、メイン スレッドが Catel.Reflection.ReflectionExtensions.GetTypesEx() にあることがわかりません。

ApplicationName.vshost.exe - Assert Failure
Expression: [mscorlib recursive resource lookup bug]
説明: mscorlib 内のリソース検索中の無限再帰。
これは、mscorlib のバグであるか、アセンブリ解決イベントや CultureInfo 名などの特定の拡張ポイントのバグである可能性があります。
リソース名: ReflectionTypeLoad_LoadFailed

完全なスタック トレースは、私の onedriveで利用できます。
最初の数行は次のとおりです。

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

wpf - System.Windows.Markup.XamlParseException でクラッシュする Catel の例

WPF の例を実行できず、アプリケーション エラー ログに System.Windows.Markup.XamlParseException が表示されています。

クリーンアップと再構築を行いましたが、それでもエラーが発生します。これは、すべての WPF の例で発生しているため、基本的なものであると想定しています。何か案は?

乾杯ジェフ

インストールした最新バージョンと以前のバージョンとの間に不一致があるようです。わからない。

Visual Studio 2013 を終了し、以前のバージョン (3.9) の例を読み込んで、NuGet 参照を更新するように求められました。いくつかの例を実行しました。VSを終了しました。

NuGet スクリプトを再実行すると、すべてが最新であることがわかりました。VS で最新の例を再度開き、最終的に読み込まれる Catel.Examples.WPF.MasterDetail を実行しましたが、デバッガーを一時停止してから「続行」した場合のみです。

ビルドから以前または最新のサンプルを実行すると、クラッシュします。

最も独特です。

また、ログに 2 つのエラーがあることも発見しました。1 つは、前述の .Net ランタイム エラーです。2つ目はアプリケーションエラー

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

catel - Catelですべての子ビューモデルがいつ初期化されるかを知る方法は?

Catel (v4 のビルド 508) で利用可能な最新のオーバーライドを見ると、メソッド GetChildViewModels() がビューの子ビューモデルを返す場所が見つかりません。サブビューがバインドされている依存関係プロパティの更新を開始するときに、すべての子モデルがロードされていることを確認する必要があります。現在、ネストされたコントロールが、依存関係プロパティに新しい変更をトリガーするインターフェイスで選択を開始するまで、バインドされているデータを表示しないという問題があります。親ビューのプロパティが実際に正しいデータを持っていることを確認しました。問題 (私が思うに) は、ネストされたコントロール (子ビュー) がまだロードされていないため、ネストされたビューに空のグリッドが表示されることです。

あるネストされたビューにツリーがあり、別のネストされたビューにリストがあります。親ビューには両方が含まれ、2 つのサブビューがバインドされているプロパティがあります。親ビューがロードされると、ツリービューは最後に選択されたノードを自動的にロードします。これは機能します。ノードが選択されると、メッセージが送信され、選択されたノードに対して必要なことは何でも行う必要があることを他のすべてのコンポーネントに通知します。親コンポーネントはこのメッセージに応答し、他の子ビューがバインドされているリストを更新します。確認しましたが、リストは更新されていますが、サブビューにデータが表示されていません。別のノードをクリックしたときにのみ、他のサブビューがそのリストに項目を表示し始めます。これを引き起こすと私が考えることができる唯一のことは、親コンポーネントが変更を実行するときに他のサブビューがまだ完全にバインドされていない場合です。

私はこれについて間違った方法で進んでいますか?

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

c# - Catel を使用してビューを表示する方法

私は Catel で簡単なアプリを開発しています。以前に ReactiveUI を使用したことがありますが、Catel を使い始めるのに少し問題があります。私は基本的な MainWindow を持っています。そこには、いくつかのボタンを備えたツールバーがあります。ボタンが選択されたら、アプリケーションの下部ペインにユーザー コントロールを表示したいと思います (選択内容に基づいて)。これまでのところ、リストビューとその背後にあるビューモデルを持つ基本的なビューが 1 つあります。ボタンが選択されたときにそのビューを表示する方法を理解するのに助けが必要です。ご協力ありがとうございました。これが私がこれまでに持っているものです。ご覧のとおり、mainviewmodel の 'ExecutePlayersButtonCommand' が実行されると、プレイヤー ビューが表示されるようにします。これを取得する方法がわかりません。ポップアップで表示させることはできますが、それは私が望むものではありません。reactui では、 Router.Navigate 関数でそれを行うことができます。