問題タブ [viewmodel]
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# - ViewPageのTModelとしてNullable<>
System.Web.Mvc.ViewPage <TModel>ジェネリックのTModelパラメーターとしてNullable<>型を渡すことが許可されていない理由として考えられるものは何ですか?これは時々便利かもしれません。
ASP.NET MVCソースでは、どのTModelをクラスにするかを定義しました。
ただし、Null許容型は値型です。たぶん、定義はそれほど制限的ではないかもしれません...
.net - MVVM では、UserControls がビューであるため、DataTemplates はビューと見なされますか?
MVVM では、すべてのビューに ViewModel があります。ビューは、ビューがデータを取得するViewModelをアタッチできるウィンドウ、ページ、またはユーザーコントロールであると理解しています。
ただし、DataTemplateは ViewModel のデータをレンダリングすることもできます。
したがって、DataTemplate が別の「ビュー」であると理解していますが、違いがあるようです。たとえば、Windows、Pages、および UserControls は独自の .dll を定義できます。一方のタイプは、テンプレートをアタッチすることで DataContect にバインドされ、Windows、Pages 、 UserControls は、 ServiceLocator/Containerなどによって ViewModels に動的にアタッチできます。
UI で ViewModel のデータをレンダリングする場合、DataTemplates は Windows/Pages/UserControls とどのように異なりますか? また、これら 4 つ以外の「ビュー」の種類はありますか?
asp.net-mvc - ASP.NET MVC で表示する必要があるこの階層データの ViewModel をどのように構築すればよいですか?
次のようなビューがあります。
このビューの ViewModel をどのように表現すべきかを理解しようとしています。各「エージェンシー」は複数の「ビジネス ユニット」を持つことができ、各「ビジネス ユニット」は複数の「クライアント」を持つことができます。
データベースでは、これをマッピング テーブルと、Agency、BusinessUnit、および Client テーブルの外部キーで簡単に表現できます。
ただし、今度は LINQ を使用してデータベースからこのデータをクエリし、このツリーのような構造を表す ViewModel オブジェクトを構築して、View がレンダリングできるようにする必要があります。
どのデータ構造を使用すべきか、または C# コードのこの階層構造で ViewModel がどのように見えるかについてのヒントを誰か教えてもらえますか? このビューに渡す ViewModel オブジェクトを作成する必要があります。
ViewModel を表現する方法に関する提案は大歓迎です!
asp.net-mvc - LINQ クエリと ASP.NET MVC に関するヘルプが必要ですか?
私のリポジトリはアカウントのリストを返します。
各アカウントには、日付と MoneySpent の小数値があります。アカウントのリストがあり、コントローラーでこのリストを少し処理しようとしています。
アカウント リスト内のすべての月の文字列名と、その月に費やされたすべての金額の合計を含むオブジェクトが必要です。
これが私が試したことです:
これは、monthlyTotals を計算する正しい方法のように思えますか?
また、ビューごとに ViewModels で厳密に型指定されたビューを使用してきましたが、ViewModel のフィールドとして追加してビューに渡すことができるように、monthlyTotals をどの型にする必要がありますか?
wpf - MVVM - コントロールとビュー
MVVM を使用せずに WPF でプロトタイプを作成しています。MVVM を使用するようにリファクタリングしている現在、このようなサイズになっています。
プロジェクトを開始したとき、私はすぐに飛び込んで、多くのことのために UserControls を作成しました。
私は今、ビューとビューモデルで物事を壊しています。しかし、私は UserControls を含むビューになってしまいます。UserControls には、現在モデル内のオブジェクトになっているものへのバインディングがあります。
では、MVVM では UserControls の概念はなくなったのでしょうか? つまり、過去 (WinForms、ASP.NET など) では、'Controls' というプロジェクトがあり、これらを再利用していました。MVVM の「ビュー」は、典型的な UserControl を直接置き換えるものですか?
silverlight - Silverlight 3 Beta、ViewModel の NavigationService
Silverlight 3 ベータ ナビゲーション アプリケーションを開発しているので、MVVM パターンのわずかなバリエーションを使用しました :) (オールインワン ビューモデル)、プリズムなどを使用します。
質問: ビューモデルで別の「NavigationPage」に移動するにはどうすればよいですか
簡単に言うと、ビューモデルはページ リソースとして宣言されます。
そして、ビューモデルですべてを結び付けるコマンドが使用されます
今、ビューモデルのどこにでも移動しようとすると
Navigationserviceはnullです。周りを見回して、ナビゲーションにヘリックス0.3を使用する方法について説明しているこの記事を見つけました。これは、ナビゲーションコントロールが存在しなかったsl2時代に構築されました。現在、ヘリックスのモデルはうまく機能し、INavigationAwareを実装することでビューモデルを使用すると、NavigationContext にアクセスできるようになり、必要なことは何でも実行できます。らせんを試してみましたが、動作します。
SL3 には組み込みのナビゲーション サポートが付属しており、いわば helix とまったく同じことを行います。そのため、サードパーティのフレームワークを使用したくありません。代わりに、組み込みの sl3 機能を使用することを好みます。
SL3 にヘリックスの INavigationAware インターフェイスをエミュレートするものはありますか?
wpf - ViewModel メソッドの呼び出し
私はWPFを初めて使用し、MVVMデザインパターンを使用しています。これを学習するために、単純なサイコロを振るアプリケーションを開発しています。
現在、Dice クラスと DiceViewModel クラスがあります。DiceViewModel の監視可能なコレクションを含む MainWindowViewModel クラスもあります。
ユーザーが「Roll」ボタンをクリックすると、コマンドが MainWindowViewModel に起動され、各 DiceViewModel で Roll が呼び出されます。
コード ビハインドを必要とせずに、コマンドが ModelView への GUI バインディングに使用されることを理解しています。
だから私の質問に。MainWindowViewModel が各 DiceViewModel で Roll を直接呼び出すのは適切な MVVM ですか、それとも Commands を使用してこれを行う必要がありますか?
または別の言い方をすれば、GUI によって直接バインドされていない場合、すべての (またはほとんどの) ビューモデル メソッドにコマンドを介してアクセスする必要がありますか?
c# - ListBox内のアイテムを更新しています
DiceViewModelの監視可能なコレクションにバインドされたListBoxがあります。ボタンをクリックして新しいアイテムを追加するたびに、リストボックスに期待どおりに新しいアイテムが表示されます。これまでのところすべてがうまく機能しています。
ただし、既存のすべてのサイコロを振る別のボタンがあります。ボックスにすでにリストされているアイテムは更新されません。MVVMデザインパターンを維持しながら、これを強制する方法がわかりません。
また、私のDiceViewModelはすでにINotifyPropertyChangedを実装しています。
助言がありますか?
silverlight - ViewModelへのSilverlightDataGrid.Celltemplateバインディング
MVVCパターンを実装している最中であり、データグリッド内のDataTemplate内からビューモデルのプロパティをバインドするのに問題があります。列のDataTemplateの外側にテキストブロックがある場合(UserConrolのデータコンテキスト、つまりVMを直接参照しているため)、正常に機能しますが、DataTemplate内からはプレーンテキストプロパティが返されません。ただし、繰り返されるIEnumerableアイテムからプロパティを返します。
無視しているDataTemplateに何らかの問題がありますか?「{BindingPath=DataContext.testText、ElementName = View}」は、DataTemplate内の要素を除くすべての要素で機能することに注意してください。(DGの外側の最初のTextblockはElementNameなどを必要としないことを知っていますが、それが正しいことを参照していることを自分自身に証明するために、この方法で実行しました)