タグ付けされた質問 「wpf」

WPFは、Windowsベースのアプリケーションでユーザーインターフェイスをレンダリングするためのグラフィカルサブシステムです。

5
なぜユーザー/手書きコードが最小限で、XAMLですべてを行うのですか?
MVVMコミュニティは、90年代のOOプログラマーのように熱心になったように感じます。MVVMはコードのない同義語です。私の閉じたStackOverflow質問から: 多くの場合、コードビハインドではなくXAMLで同等のことをしようとしている人についての投稿に出くわします。彼らの唯一の理由は、コードを「クリーン」に保つことです。私が間違っている場合は修正しますが、そうではありません: XAMLも-BAMLにコンパイルされます-その後、実行時にコードを解析する必要があります。XAMLは、コンパイル時にコンパイラによって検出されないため、より多くの実行時バグを潜在的に持つ可能性があります-誤ったスペルから、これらのバグもデバッグが困難です。すでにコードビハインドがあります-似ているか、InitializeComponent(); 実行する必要があり、その中の.gicsファイルには多くのコードが含まれていますが、非表示になっている場合があります。純粋に心理的ですか?ウェブのバックグラウンドから来て、コードではなくマークアップが好きなのは開発者だと思います。 編集:私はXAMLの代わりにコードビハインドを提案しません-両方を使用します-私はXAMLでもバインディングを行うことを好みます-私はWPFアプリでespの背後にコードを書くことを避けるためにあらゆる努力をすることに反対です-それはの融合でなければなりません両方を最大限に活用します。 更新:マイクロソフトのアイデアでさえありません。MSDNのすべての例は、両方でそれを行う方法を示しています。
12 c#  wpf 

1
C#の知識がなくても深刻なF#プロジェクトにアプローチするにはどうすればよいですか?
したがって、基本的に私が着手したいプロジェクトはSVGエディターです。アプリケーションレイアウトにXAMLを活用できるため、WPFを使用することをお勧めします(デザイナーは気の利いたものです)。残念ながら、私は.NETフレームワークをほんの数か月しか使用していませんが、ほとんどのクラス名にはまだ馴染みがありません。 F#は関数型プログラミング言語であり、F#の再帰と素晴らしいリスト操作とタプルを組み合わせることで、F#を使用することが目標でした。そして、目標は、使用可能なドキュメント化されたクラスの膨大なライブラリとサンプルを備えた.NETを使用することです。 私はすでにこの質問を見ました。/software/3129/is-there-a-canonical-book-on-f しかし、答えは一般にF#に対するものであり、すでにC#を知っていると仮定しています。 。 上記の質問に対する答えとしてのトップブックは、実世界の関数型プログラミング:F#およびC#の例を使用したものでした。ただし、この本のAmazonの3つ星レビューは、かなり厳しく、おそらく誇張されているものの、私の問題を正しく示しています。 関数型プログラミングに興味があるが、F#を学習しようとしているC#ではない場合は、この本を安全にスキップできます。 私はオンラインでWPF F#の例を探しましたが、あちこちにさまざまなコードスニペットがありますが、単一のファイルスクリプト.fsxの外で使用されていることや、それが実際にエンタープライズレベルまたは少なくともプロフェッショナルレベルでさえ使用されていないことを示しています。 そのため、Microsoftでさえ、F#で.NETを実行する方法について多くの例がありません。私が見つけた例は通常、F#に固有の機能のみです。F#の基本セクションと高度なセクションを見てください。構文を教えているだけで有罪であることがわかります。たとえば、LineクラスのWPFのMSDNには、F#のコード例はありません。 F#のコードサンプルタブを下にスクロールすると、 No code example is currently available or this language may not be supported. 使用可能なコード例が非常に少ないため、このプロジェクトに着手するのは難しいと感じています。 私の質問 は、C#があまりよくわからないときにF#を使用してこのプロジェクトに取り組む方法を理解するのに役立ちます。
11 wpf  f# 

2
MVVMでは、ViewModelまたはViewが新しいビューの作成を担当する必要がありますか?
私のWPFアプリケーションで、新しいビューを作成します。ViewModelまたはModelのどこでそれを行うべきですか? アプリケーションは(今のところ非常にシンプルです)、1つの「送信」ボタンを備えた1ウィンドウフォームのようなツールです。チェックボックスの1つが選択されている場合、同じViewModelを使用する新しいウィンドウがポップアップし、追加の詳細をユーザーに尋ねます。この質問の目的のために、表示/非表示のパネルなどの別のアプローチを考慮せずに、新しいウィンドウのアプローチのみを検討してみましょう。 理想的には、Viewにはコードがないはずです。さらに、Viewにはロジックが含まれていないため、VMは最初に新しいビューの作成が必要かどうかを確認する必要があり、必要な場合はこの責任をViewに戻して、コードの膨張につながります。 一方、ViewModelで新しいビューを作成すると、ViewModelがViewについて何も認識してはならないという原則に違反します。 では、ViewまたはViewModelで新しいビューを作成する方が良いでしょうか?
11 c#  design  wpf  mvvm 

3
MVVMまたはMVC?WPFとASP.NETに同じクラスのセットを使用したい
私はデザインパターンの初心者です。新しい話題のMVVMを聞いているとき、MVCの学習を始めました。 古い在庫を再設計して、クライアント用に開発したアプリケーションに請求書を発行することで、これら両方の洞察を学びたいと思います。WindowsベースのWPFアプリケーションとWebベースのバージョンの両方を書きたいのですが。できれば同じクラスのセットを使用したいと思いますが、そうでない場合は、少なくとも少しの変更を加えてください。 私はいくつかの記事を読みましたが、そこで議論されている.NET 3.5&4のアーキテクチャと高レベルの概念に従っていません。実際のプロジェクトで本当に必要なものだけを設計することで、段階的に移行したいと考えています。 MVVMへの簡単な段階的な参照はありますか?MVVMはMVCのスーパーセットですか、サブセットですか?最新のパターンと、アプリケーションのWindowsバージョンとWebバージョンのどちらを選択する必要がありますか? ビューに接続する必要がほとんどない特定のクラスがあります。その場合、MVVMの方法で同じクラスを設計することは、追加の労力であることがわかります。
10 mvc  wpf  asp.net-mvc-3  mvvm 

3
silverlight / silverlight out-of-browser / wpfの決定についてサポートが必要です
私は書き換えプロジェクトの最初の計画段階にあり、silverlight / silverlight oob / wpfを決定しています。最後にTL; DR。 これは、見込み客/顧客/予定カレンダーを処理するLOBアプリです。複雑すぎない。私は他の場所でこれらのオプションを独自に調査していますが、私は質問したいと思いました。大まかな初期要件/予測可能な問題は次のとおりです。 コマンドライン引数(SIP電話)を使用して、システム上のexeを呼び出せるようにする必要があります。 SLを問題にする ユーザーベースが分散されているため、ネットワークを通過するトラフィックをできるだけ制限し、厄介な同時実行の問題を回避したい WPFを使用してこれが問題であることがわかります ソフトウェアの導入/更新は非常にシンプルでなければなりません。一部のユーザーは非常に技術的ではありません(参照:70歳、初めてコンピューターを使用) これは、現在交換しているClickOnceアプリでは大きな問題ではなく、使用するマシンを制御できます。ただし、ユーザーがクリックして[インストール]ボタンをクリックする必要がない場合は、ユーザーにとってはより簡単です。これがSilverlight OOBでどのように処理されるのかわかりません。 同社はハードウェアの導入を迅速/簡単にする必要があるため、12か月でハード拡張を計画しています。新しい場所でインターネット接続を取得し、一部のコンピューターを接続して、専用のIT担当者やサーバーのセットアップを必要とせずに作業できるようにするという考えです。 SLを魅力的にする 他のサービス(金融ソフトウェア、asterixサーバー)との統合は当面の目標ではありませんが、システムの一部となることは最終的な目標です。単一のサービスがそれらのセカンダリサービスと統合するように設定されていて、そのすべてのデータをネットワーク経由で転送する必要がない場合、これははるかに単純/効率的になります SLを魅力的にする 複数の「バージョン」を作成することは不可能です。Silverlight + Silverlight Oobバージョンを維持するのがどのようなものかわからない(問題がある場合でも) WPFをより良いオプションにするかもしれません。 TL; DR:私の視点から見ると、Silverlightアプリは90%のユーザーに最適です。他の10%は、exeを実行する必要があるため、それを使用できません。Silverlight OOBは良い中間点かもしれませんが、現時点ではそれの実行モデルがどのようなものかわかりません(まだサーバー側コードの概念はありますか?そうであれば、それは理想的でしょう)と私はしません展開/更新がどのように機能するかを知っている。
10 wpf  silverlight 

3
XAMLマークアップの推奨されるコントロールの命名規則は何ですか?
WPFまたはSilverlightを使用する場合、コントロールの命名規則をどのように使用すればよいですか?XAMLマークアップでコントロールに名前を付けますか?"selectButton"や "btnSelect"などのコントロール名を持つcodeplexでのプロジェクトのサンプルを見てきました。あなたは何をお勧めします?
10 wpf  silverlight 

3
小規模なプロジェクトでのXMLとSQLの比較
ローカルアプリケーション(WPFおよびC#で開発)であるため、一度に1人のユーザーしか使用しない小さなプロジェクトに取り組んでいます。データを保存するには、XMLファイルを使用することを考えていましたが、これが最善の方法かどうか疑問に思っています。 データの目的: シェドル フォルダ内のファイルのライブラリ(アーティスト名、タイトル、HDD上の場所) おそらく、シェドゥルデータに基づく統計 ... ライブラリに関する情報は私が想像するXMLで十分でしょうが、残りのすべてについては私にはよくわかりません。また、LINQ to SQLは、LINQ to XMLよりも開発速度の点ではるかに収益性が高いようです。これは正しいですか、それとも間違っていますか?これをSOとここのどちらに投稿すればよいかわかりませんでしたが、こちらのほうが適切に思えました。 前もって感謝します
10 sql  wpf  xml 

3
Entity FrameworkのDataContextオブジェクトを作成して、各CRUDメソッドのusingブロックに配置しても問題ありませんか?
次の機能を実装するwpfアプリケーションを構築しています。 ユーザー入力を取得し、データベースからデータを読み取る それにいくつかの計算を行います 複数のタイプのビューでユーザーにそれを紹介し、変更をデータベースに書き込みます 提案されたアーキテクチャ:データベース->エンティティフレームワーク->リポジトリ->ビジネスロジック->データサービス-> ViewModel このアーキテクチャを使用する理由:アプリケーション(複数のビュー)と複数のデータベースに存在する複数のシナリオ。したがって、私は抽象化のために真ん中にリポジトリを使用する用意があります。 注意点の1つは、リポジトリが実装されている場合、コンテキストは長期間有効であることです。これを克服するために、コンテキストを作成し、それらを各クラッドメソッドのusing()ブロックに配置しても問題ありませんか? 別のアプローチを提案すること自由に感じなさい。
10 c#  design  architecture  wpf 

3
Entity Frameworkデータベースコンテキスト(モデル)をMVVM WPFのViewModelに接続する最良の方法は何ですか?
上記の質問のように:Entity Frameworkデータベースモデル(コンテキスト)をMVVM(WPF)のviewModelに接続する最良の方法は何ですか? 私はWPFでMVVMパターンを学習しています。多くの例は、viewModelにモデルを実装する方法を示していますが、その例のモデルは単なる単純なクラスであり、エンティティフレームワークモデル(ベースファーストアプローチ)と一緒にMVVMを使用したいと思います。モデルをviewModelにワイヤリングする最良の方法は何ですか。 回答ありがとうございます。 //ctor of ViewModel public ViewModel() { db = new PackageShipmentDBEntities(); // Entity Framework generated class ListaZBazy = new ObservableCollection<Pack>(db.Packs.Where(w => w.IsSent == false)); } これは私のViewModelの通常の俳優です。もっと良い方法があると思います。リポジトリパターンについて読んでいましたが、これをWPF MVVMに適応できるかどうかわかりません

1
基幹業務アプリケーションにおけるMVVMの価値(および現在の開発手法の現状)
2年経った今でも、実用的なソフトウェアを作成する実用的な方法としてMVVMに取り組んでいます。素晴らしい場合もあります。私は、MVVMの概念がなければナイトメアであった小さな組み立てラインを制御するマルチスレッドアプリケーションを実行しました。物理的な組み立てラインからの抽象化は、ほとんど簡単なことではありませんでした。 ただし、私のキャリアのほとんどは、ビジネスアプリケーションの内部ラインを中心に展開します-ビジネスの運用を形式化および最適化します。このようなアプリには、一般にCRUDと複合操作を中心に展開するビジネスティアーがあります。LOBでは、私のビューモデルはビジネスクラスメソッドの1行のラッパー関数の非常に単純なコレクションになり、最終的にはメッセージボックスの表示やウィンドウのオープンなどの最も単純なタスクが複雑になるだけです。何十年も前から存在しているWindow.ShowDialogの呼び出しについて、「依存性注入」と「メッセージングプロバイダー」の長い説明を読むと、奇妙に感じる人はいますか?winformsで非常に単純なタスクのアドバイスを求めるスタックオーバーフローに関する他の質問はいくつありますか? 誤解しないでください-MVVMがあり、シュリンクラップされて販売されているソフトウェアパッケージの水平開発を行っている大規模なチームにとって、これは非常に貴重です。ビューモデルのユニットテストでは、RTMのバグを回避することで数百万ドルを節約でき、専用のUI開発者が豊かなエクスペリエンスを提供できます。しかし、再導入のコストが最小限で、ビジネスで支払うすべてがシンプルなソフトウェアである場合、ビジネスロジックがすでにユニットテストされているのに、なぜ単純な「ラッパー」VMのユニットテストに時間を費やす必要があるのでしょうか。キュートなアニメーションと配色にビジネスが費やす時間はどれくらいですか?後輩開発者がやるべきことはありますか(以前は「Save_Click」を見ていた保存機能のバグを追跡し、 確かに、私はWPFのデータバインディングが本当に好きです。これを利用するために、データコンテキストをウィンドウ自体に設定します。ウィンドウは、ビジネスクラスやその他の監視可能なプロパティにアクセスできます。そうすることで、ほぼすべてのMVVMの「ルール」を破ります。しかし、少なくとも、読みやすいシンプルなイベントドリブンコードがあり、新しいデータバインディングと検証を利用できます。問題はデザイナーにあります-私はあまり使いませんが、2012年に統合されるようになったことを願っています-デザイナーは、ウィンドウとその基本クラスが持つ数百のプロパティを表示します。 関連性のある人のために、リソース、本、またはこれを飲み込みやすくする視点の変更にさえ私を向けることができます。MVVMをもう一度試してみますが、前回、依存関係の注入について心配していて、VMからのメッセージボックスを表示するだけでかなり愚かだったので、単体テストの意図はありませんでした。単体テストを行ったとしても、恐ろしい「密結合」アプリケーションのコンパイル時エラーとランタイムテストを交換することで、本当に品質が向上しますか? 1つの答えは、winformsにとどまることです。しかし、WebFormsの最後のサポーターの1人として(私はWeb開発の傾向について同じ批評を多く持っています)、Microsoft認定トラックにWebFormsが残っていないことに気付いたときのように、少し恐竜のように感じました。私が気に入らなくても、前進することが唯一の選択肢です。
9 wpf  mvvm 

3
これらのユーザーコントロールが1回しか使用されない場合でも、ユーザーコントロールを使用してWPFフォームを構造化することは良い習慣ですか?
私はMVVMを使用してWPFアプリケーションを開発していて、最善の方法を学んでいます。 セレクター付きのWPFフォーム、検索フィールド付きの2つのリスト、およびその他の要素があります。現在、すべてが1つの形式になっており、機能します。しかし、今ではそのフォームのVMは800行を超えており、まだ完成していません。 このフォームとコードをよりよく構成したいと思います。リージョン、部分クラスを含むファイル、ユーザーコントロールについて考えました。ユーザーコントロールは、いくつかのコントロールとロジックをカプセル化しているため、最適だと思います。ユーザーコントロールを使用すると、そのウィンドウとVMのコード量が大幅に削減されます。 これを正しく行うために、「Pro WPF 4.5 In C#4th Edition」という本の第18章-カスタム要素とColorPickerUserControlサンプルに取り組みます。サンプルは、3つのスライダーを備えたカラーピッカーに関するもので、150行のコードが含まれています。 私はそれがどのように機能するか理解していると思いますが、そのサンプルのように機能が非常に制限されていても、ユーザーコントロールを作成するのは大変な作業だと思います。これらのコントロールを数回使用する場合、これを行うのが理にかなっていることを理解しています。しかし、コントロールを1回だけ使用し、これをフォームの構造化のみに使用する場合、これはほとんど利益を得るために多くの作業と思われます。 私の質問は次のとおりです。これらのユーザーコントロールが1回だけ使用される場合でも、ユーザーコントロールを使用してフォームを構造化することは良い習慣ですか?そうでない場合、より良い代替手段はありますか? 編集(読む必要はありませんが、詳細情報のみ):原則について学びたかったので、これまで詳細は書きませんでしたが、26の興味深い答えの17を読んだ後、ここにいくつかの詳細があります:このフォームは、音楽のタイトルを選択するためのものです。 グループA:(可能なユーザーコントロールA)は、アーティストまたはアルバムによる選択、ビデオの有無にかかわらず、おそらく発行年など、選択のタイプについてです。 グループB:このリストには、Aの基準に従ってフィルタリングされたアーティスト名が含まれています。ユーザーはリストをフィルタリングできます。つまり、「トップ」を含むアーティスト名のみを表示できます。 グループC:このリストには、Aの基準(オーディオまたはビデオ)を使用して、Bで選択したアーティストのタイトルが表示されます。Bと同様にフィルタリングできます。つまり、「あなた」を含むタイトルのみです。 ほとんどのロジックはVM(フォームのDataContext)で発生します。AとBのリストはデータベースからのものです。リストはフィルタリングされ、プレゼンテーション用に準備されます(つまり、同じ名前であるが異なるアルバムにある複数のタイトル)。ユーザーは、ダブルクリックしてCリストのタイトルを選択するか、別のWPFフォームにドラッグアンドドロップします。 必要なもの:簡単に修正できるように、読み取り可能なコードが必要です。別のフィルターを追加する場合、つまり女性アーティストのみを表示する場合は、ユーザーコントロールAに移動して、男性および/または女性アーティストのチェックボックスを追加するだけでよいとしましょう。 現在の形式のXAMLは問題なく、適切に構造化されています。ただし、VMには上記すべてのコードが含まれています。コンストラクター、コマンドセクション、プロパティ、バッキングフィールドにいくつかあります。私は今でも物事を見つけることができますが、コードがより構造化されていればもっと良いと思います。これがユーザーコントロールについて考える理由です。 MVVMの背後にあるロジックは非常に理にかなっていると思うので、MVVMをフォローしようとしています。しかし、私は理論的な実践の熱狂的な信者ではありません。つまり、VMで5行のCodeBehindまたは50行で何かを実行できる場合、CodeBehindで実行する可能性があります。私の質問は、WPFで構造化フォームを作成する方法の原則についてです。上記で説明したフォームは良い例ですが、答えはこの1つのフォームに集中するのではなく、WPFフォームを構成する方法、つまりユーザーコントロールを使用する(または使用しない)方法に集中する必要があります。 ユーザーコントロールが多くの作業を必要とする理由について:依存関係プロパティ、ルーティングイベントなどがあります。これはすべて、バッキングフィールドとINotifyを使用した「通常の」プロパティよりもはるかに複雑に思えます。しかし、依存関係プロパティ、ルーティングイベントなどに慣れる必要があるだけかもしれません。
8 c#  wpf  user-control 

2
適切に設計されたオープンソースWPFアプリケーション[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 6年前休業。 WPFを使用してうまく設計された.NETオープンソースアプリケーションについて誰かが知っているかどうか疑問に思っていますか? すでにGitHubやSourceforgeなどの通常のサイトで検索を試みましたが、結果にはまったく満足していませんでした。 実際、私はMVVMやデータバインディングなどの比較的大きなソフトウェアのコンテキストでの適切な使用法に興味があります(少なくとも、サンプルコードの数行よりも多く、多くの場合、チュートリアルや書籍を見つけることができます)。また、NHibernateとのORMが私の主な関心事です。 現在、私はWPFがあまり広く使用されていないという全体的な印象も持っていますが、それでよろしいですか?どのクローズドソース(商用)ソフトウェア製品があり、それを使用していますか?
8 c#  .net  software  wpf 

1
WPFとフリーコントロールの将来 [閉まっている]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張ディスカッションを誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私は、一般にリリースしたい個人的なプロジェクトに取り組んでいきます。私はSilverlightを使用しており、XAMLはフルタイムの仕事なので経験があります。 BlendとXAMLでUIを作成するのは楽しいです。私もC#言語の大ファンです。今、LINQなしで何ができるかわかりません。 とにかく、私の個人的なプロジェクトでWPFを使用することを検討していました。Web上の多くのコントロールはアイテムの支払いであるようです。かなりの数の無料コントロールがあることがわかった唯一の場所は、codeplex上のWPF拡張フレームワークです。 財務アプリケーションを作成したいのですが、トランザクションデータを入力できる強力なデータグリッドタイプのコントロールが必要です。私はそのようなコントロールを無料でネットで見つけられませんでした。Microsoft製品用の無料のコミュニティライブラリ/コントロールがあまりないようです。 それで、WPFが私にとって正しい道なのかと思っていました。Windows 8でのWPFの使用に関する情報が見つかりませんでした。このテクノロジに対するMicrosoftの計画は知りません。 WPFの代わりにUIに別のものを使用する方が良いでしょうか?
8 c#  .net  microsoft  wpf  ui 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.