- 1 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 15:27:16 ]
- 一向に普及しないユーザーインターフェースシステム
Windows Presentation Frameworkについて語るスレ。 .NET4.0もリリースされたけど別に盛り上がってはいないよね…。 Visual Studio 2010 ttp://www.microsoft.com/japan/msdn/vstudio/ Microsoft .NET Framework 4 (Web インストーラー) www.microsoft.com/downloads/details.aspx?familyid=9CFB2D51-5FF4-4491-B0E5-B386F32C0992&displaylang=ja Microsoft .NET Framework 4 (スタンドアロンインストーラー) www.microsoft.com/downloads/details.aspx?familyid=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&displaylang=ja 関連スレ Microsoft Silverlight その6 ttp://pc12.2ch.net/test/read.cgi/tech/1271580489/ 過去スレ WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5 pc12.2ch.net/test/read.cgi/tech/1261879110/ WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3 ttp://pc12.2ch.net/test/read.cgi/tech/1245384489/ WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3 ttp://pc12.2ch.net/test/read.cgi/tech/1231506876/ WPF(XAML,XBAP,.NET3.5)GUIプログラミング ttp://pc11.2ch.net/test/read.cgi/tech/1211453941/ 【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】 ttp://pc11.2ch.net/test/read.cgi/tech/1162950198/ コードを貼る場合は以下のサイトの利用をお勧め。 run codeのチェックは外しておきましょう。 ideone.com/
- 185 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 11:07:39 ]
- そんなことがボトルネックになるようなアホなつくりにはしないだろ
やってることがもともと非常に複雑だから仕方ない 仕様にハードの性能が追いついてないんだよ
- 186 名前:163 mailto:sage [2010/06/08(火) 11:24:31 ]
- >>180
どもです、やっぱりValidationRuleでやったほうがよいのですね。 もでるについてはMVVMでググって見ます。 ありがとうございました。
- 187 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 12:38:17 ]
- >>185
ハードを蔑ろにした糞仕様ってこと?
- 188 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 12:40:39 ]
- まあDirectXとかは先に仕様ができてからハードがついてくるしなあ
- 189 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 18:24:12 ]
- グラフィックレンダリングに関しては、今後のハードウェアの性能が上がれば描画も早くなろうが・・。
ただ、バインディングやらレイアウト処理やらのマネージドコードで書かれた内部メカニズムに関してはCPUのコア性能があがらんことには どうしようもない。WPFのViewレイヤーを担当する部分は(基本的には)分散できずにシングルスレッドで走らすしかないから CPUのコア数があがってもどれほどの向上が見込めるのやら・・・。
- 190 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 18:28:22 ]
- 今の実装がシングルスレッドだからって、将来にわたりマルチスレッドで走らないなんて事はないだろ。
- 191 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 18:41:39 ]
- いや、WPF開発チームは当初マルチスレッドも許容するようなGUIライブラリに組むことを考えて設計したけど
あまりに複雑になりすぎたので断念した、という経緯がある。
- 192 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 19:12:01 ]
- またそのうちチャレンジするだろ。
- 193 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 20:10:43 ]
- COMとの連携なんかでSTAThreadにせざるを得なかったとか書いてあった希ガス
- 194 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 21:44:19 ]
- yet another doomed libraryてことにならんことを祈る。
- 195 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 22:57:33 ]
- さわってておもしろいけど、おもしろいでおわっちゃう
- 196 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 23:40:28 ]
- FlowDocumentって作成したスレッドからしか触れないんだな。
別のスレッドのオブジェクトを操作するには、BeginInvoke使えとか言ってるけど、 ビューアーコントロールはそんなもん使ってくれないし。 データーを裏でロードしたり、構築したりしたい事って結構あると思うんだけどな。 ググったら、MemoryStream使って渡す例があったけど、 実際にやってみたら遅くて本末転倒だった。
- 197 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 23:52:53 ]
- CPUコア数の増加に進んだ Intel が悪い。
本当なら今頃 16GHz のCPUが出ている筈なのに。
- 198 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 23:57:39 ]
- どこのCPUメーカーもそうなんじゃない?結局技術的に頭打ちになってるんじゃなかろうか・・・。
- 199 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 00:11:52 ]
- ネタにマジレスされても困るが、並列プログラミングの難易度の問題から
コア数増えてもクロック数あがらないとあまり効果でないってのは分かりきったことで このままコア数増え続けていっても有効活用できないだろうし、CPU以外の 部分に足ひっぱられるだろうしで、何かしらの打開策はいるんじゃなかろーか。
- 200 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 01:43:08 ]
- WPFもCOMコンポーネントを捨てればマルチスレッド許容できたが
現実問題として捨てられないから妥協した、みたいな書き方だったよね マルチコアに進んだからシングルコアの性能が上がらないんじゃなくて 逆じゃないっけ。 シングルコア性能向上の限界が見えたからマルチコアに進んでるんじゃないの
- 201 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 07:46:11 ]
- そのうちCPUは太陽表面並の温度になるってギャグがあったなあ
- 202 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 11:31:16 ]
- 単位面積あたりの発熱量が原子炉を越えたじゃなかったかな?
- 203 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 12:03:25 ]
- Prismでアプリケーション設定やユーザー設定を、モジュール間でやりとりするのってどんな方法がありますか?
Unityコンテナに登録して、各モジュールでインスタンスを取り出すとかかなって考えてますが、いいやり方ってありますか?
- 204 名前:デフォルトの名無しさん [2010/06/09(水) 23:38:58 ]
- メインのウィンドウから、別の Window を ShowDialog() で呼び出し、
モーダルとして表示しています。 当然、そのWindowの×ボタンをクリックすればWindowは消せるのですが、 Windowの外の領域をクリックすることでもそのWindowを消したいです。 WPF用デバッグツール snoop なども使ってみましたが、 領域の外をクリックしたことを取得する方法は分かりませんでした。 可能でしたら、手段をお教えください。
- 205 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 23:47:00 ]
- フォーカスがなくなったよイベントでCloseじゃだめかのう。
- 206 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 23:48:11 ]
- >>204
カーソルをキャプチャするんだよ
- 207 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 23:48:34 ]
- 最前面じゃなくなったよイベントがあったようななかったような
- 208 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 23:50:01 ]
- モーダルっつってんだろクソどもが!
- 209 名前:204 mailto:sage [2010/06/09(水) 23:56:02 ]
- >>205
私も同じことを考えたのですが、 モーダルの場合はフォーカスを失ったとは見なさないようです。 >>206 調べてみます。ありがとうございます。 >>207 最前面かどうかの判定では難しそうです。
- 210 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 00:05:38 ]
- モーダルの場合でそのような挙動をするダイアログボックスはあまりみたこがありませんが・・・
モードレスへの変更を検討すべきではないかと思います。
- 211 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 00:14:37 ]
- 非アクティブになったら消えるウィンドウがモードレスかモーダルかなんて
利用者から見て違いあるかな?
- 212 名前:204 mailto:sage [2010/06/10(木) 00:15:59 ]
- >>210
アドバイスありがとうございます。 現在、以下のようなストーリーを考えているのですが、 モードレスでも記述かのうでしょうか? ・メインウィンドウから他のWindowを表示 ・メインウィンドウは Window が閉じられるまで操作停止 ・Windowには OK と Cancel があり、DialogResult でいずれかを受け取る ・OK or Cancel により、メインウィンドウにてその後の動作を変える よろしくお願いします。
- 213 名前:204 mailto:sage [2010/06/10(木) 00:17:25 ]
- すみません、追記です。
Window の外をクリックした場合も、(例えば)Cancel であると見なしたいです。
- 214 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 01:31:53 ]
- ユーザーエクスペリエンスの破壊を目的とするわけか
- 215 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 01:38:32 ]
- WPFで簡単なもぐら叩きを作っているのだが、
1分間Gridがクリックされなかったらメッセージボックスを 表示することってできる
- 216 名前:デフォルトの名無しさん [2010/06/10(木) 01:53:52 ]
- >>215
スタートしたあと1分間のカウントアップでもカウントダウンでもはじめて クリックがあればカウントターをリセットすればいいだけちゃうの?
- 217 名前:215 mailto:sage [2010/06/10(木) 02:12:26 ]
- >>216
あぁ、なるほど。ありがと。
- 218 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 02:19:20 ]
- カウンターリセットとかどうやんの?
WPFのタイマーっつーと DispatcherTimer を思い出すのだが、 この Completed で MessageBox呼ぶようにしても Intervalのキャンセルなんてできるの?
- 219 名前:デフォルトの名無しさん [2010/06/10(木) 02:25:49 ]
- >>218
WPFのタイマーはよくしらんが標準のタイマーをうまくコントロールできないなら タイマーから一定サイクルで呼び出される関数で自分の用意したカウンター を+(もしくは-)にしてってやればいいだけちゃうの? タイマーとしてみるよりは一定サイクルを刻むクロックとみなして・・・
- 220 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 02:49:14 ]
- >>218
カウンタっつーか普通にタイマを一度止めて再開すれば良いんじゃね?
- 221 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:05:20 ]
- みなさん、WPFをどうやって勉強してます?MVVMとか。
やっぱり、CodeProjectかCodePlex?
- 222 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:07:38 ]
- このスレ見て
- 223 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:22:06 ]
- 3割質問、1割回答、6割がただの煽りのスレで勉強とな
- 224 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:23:26 ]
- ヘルプ見りゃ大体判る
- 225 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:24:15 ]
- でも、WPFって大規模開発でしか使われてないのかも。
数人で作るんだったら、フォームで作っても問題無いような 仕様(それか予算)しか出てこないでしょ。 このスレでも出てきたPrismとか、そんな感じ。
- 226 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:52:24 ]
- WPFのTextBlockやListViewが使いたくなるような要求は結構出てくるよ
「WinFormsだと結構手間がかかるんですよねー」 「でも、WPFで1から作る予算はありませんねー」 で、結局仕様には盛り込まれず、WPFは使われないんだけど。
- 227 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:54:44 ]
- しかし、この先GPUによるアクセラレートはWPFでしか行われなくなりそうなのに、
いつまでもFormってのもなあ。
- 228 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:55:31 ]
- 今度、1から作るプロジェクトが始まるんで、WPFで作ろうかと調査中。
MVVMとか、他人に分かるんだろうか‥‥
- 229 名前:デフォルトの名無しさん [2010/06/10(木) 10:58:14 ]
- >>228
推し進めるくらいなら布教してまわればいいじゃんw それができないならwinformでやるしかないような
- 230 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:01:29 ]
- >>229
布教とかめんどくさいじゃん。 欲しいのは金と技術であって、正直、他人のことに興味無い。
- 231 名前:デフォルトの名無しさん [2010/06/10(木) 11:03:40 ]
- このスレの状態とネットで検索した状態を見ればおおよそ回りの力量とか状態は把握できそうな物だと思うが・・・
- 232 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:04:12 ]
- >>228
とりあえず採用する前に、パフォーマンスの評価だけはやっといた方がいいよ。 予想以上に遅いから。
- 233 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:05:39 ]
- このスレって、本職の人多いの?
4割が学生、4割がサンデープログラマー、1割がマイクロソフトの人、 1割が通りすがりの人、ぐらいにしか思ってないんだけれど‥‥。 うちみたいなフリーダムな場末の会社じゃないと、仕事で2chとか無理でしょ。
- 234 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:06:43 ]
- >>232
そんなに重いかなぁ。 SIだから、動作環境指定できるので大丈夫。
- 235 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:08:33 ]
- 表示されてるコントロールの量が多くなるとすんごくトロくなるね
- 236 名前:デフォルトの名無しさん [2010/06/10(木) 11:09:56 ]
- >>234
ああ糞SI様か 下に負担だけはかけないでください 新しいことやるならそれなりに予算をください
- 237 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:11:47 ]
- >>236
嫌なら下りてください。 代わりはいくらでも居るんだから〜。
- 238 名前:デフォルトの名無しさん [2010/06/10(木) 11:12:53 ]
- SIが目をつけるってことはWPFは糞でいいな
Javaなんかも実際そうなってしまったし
- 239 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:17:06 ]
- Javaはまだまだ使われてるだろ?
ベンダーロックイン出来ない公共系はJava指定ばかりだ。
- 240 名前:デフォルトの名無しさん [2010/06/10(木) 11:19:15 ]
- Javaは第2のCOBOLになりそうだな
- 241 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:23:12 ]
- それは、長い間、金になるってことでは?
- 242 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:23:47 ]
- VB6.0からの移行は.netじゃなくて、Javaにする例が結構多いみたいだな。
- 243 名前:デフォルトの名無しさん [2010/06/10(木) 11:25:12 ]
- >>241
金にもなるけど未だに使うのかよとやっかまれつつ
- 244 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:42:17 ]
- AndroidやiPhoneでもXAMLが使えればなあ
- 245 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:43:15 ]
- html5でいいよ
- 246 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:44:29 ]
- AdobeがFlashのHTML5コンバーターだせばいいんじゃね?
- 247 名前:デフォルトの名無しさん [2010/06/10(木) 11:45:00 ]
- Flash以上に中身丸見えだけどな
- 248 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:01:45 ]
- WPFは単純に重いというより、何をすると重くなるのかが知られてないんだと思う
WinFromsだって、大量にコントロールを貼って、節操無くInvalidateしまくったら重いだろ WPFの場合、測定と配置の仕組みを理解していないと 再測定と再配置の嵐で遅くなる
- 249 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:08:55 ]
- >>248
そこんところをやさしく解説してください
- 250 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:22:15 ]
- SharedSizeGroup は重くて使えないよねぇ。下手すりゃ、整列してるのがアニメーションで見られるぐらい。
結局カスタムレイアウト使うことにしたが、何かコツあんの?>>248
- 251 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:27:26 ]
- >>234
端末200台あるような場合でも最新のハイスペック揃えってくれって言えるのはSIer様だけだよ、まったく。 TPOというか、コスト削減につなげるためにシステム入れるってことちょっとは弁えて欲しいぜ。
- 252 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:32:31 ]
- >>251
今時、WPFが軽く動く端末の金額なんて、人件費に比べれば誤差だろ。 そこでコスト削減とか訳のわからないこと言っている企業は、 潰れるべき、っていうか、もう延命しようとも詰まれてると見るべき。
- 253 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:35:19 ]
- いくらハイスペックにしても、シングルスレッド性能は上がらないから、
遅いままなんだけどなあ。 GPUもあんまり効果無いみたいだし。
- 254 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:35:24 ]
- >>248
よろしい 今すぐ纏めなさい
- 255 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:35:55 ]
- つーか、1から作るって書いてあるじゃん。
セキュアな状態が必要だから、ネットワークから敷き直すの。 だから、端末代なんて誤差。 別に、SSLでも良いと思うんだけれどね。
- 256 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:38:15 ]
- つーか、WPFが遅いって言っている人は、自分の技術の無さを自覚するべき。
駄目な奴は何を作っても駄目。いつの時代も遅いって言っている。
- 257 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:41:06 ]
- いつまでも他人のせいだよな
お互いにw
- 258 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:43:13 ]
- >>256
FlowDocumentが重いんですが、速くする方法を教えて下さい
- 259 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:43:36 ]
- >>250
再配置の連鎖が起きないように気をつけるだけだよ。 SharedSizeGroupなら、 動的にサイズが変わるコントロールや動的に生成されるコントロールを含む部分には SharedSizeGroupを適用しないように気をつける。 それと、カスタムレイアウトは別に悪くないんじゃない? どうせ簡単に作れるんだし。
- 260 名前:デフォルトの名無しさん [2010/06/10(木) 12:45:49 ]
- >>256
余計なこといわなきゃいいのに 駄目と切り捨てた以上はテクニックを披露していけよ そしたら認めてあげるわw
- 261 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:50:47 ]
- つーか、まず、その遅いというソースをうpするしかないと思うんだが‥‥。
- 262 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:56:25 ]
- MSDNや書籍を含めてろくなドキュメントが無いんだよな
どれもMSDNのチュートリアル止まり 残念なことに、 配置と測定に関してはMeasureOverride、ArrangeOverrideで検索して 断片的な情報を集めて行くのが一番早い
- 263 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:56:32 ]
- つーか、NDAとかでソースが出せないのだったら、
CodeProjectで参考にした記事でも良いよ。 そっから検討すれば良いから。
- 264 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 12:57:37 ]
- どうも、FlowDocumentのHyperlinkが、上をマウスカーソルが通過するだけで
全体の再配置が起きてるようで困ってる。 色変えや、アンダーバーがいけないのかと思って変わらないようにしてみたけど、効果なし。 継承してOnMouseEnterを潰してみたけど、効果なし。 カーソルがリンクの上を通過するたびに一秒くらい固まる。 同等な物をhtmlで表示した場合は何の問題も無いのになあ。
- 265 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:05:55 ]
- 怪しいコントロールがわかってるときは、
そのコントロールをカスタムレイアウトの中に入れて、 強引に配置動作をカスタマイズしてしまえばいい しかし、標準のTextBlockですら変な挙動を見せるので この手法が役に立つという始末 フレームワークのセンスはいいけど、 個々のコントロールに品質は悪すぎですよ・・・
- 266 名前:デフォルトの名無しさん [2010/06/10(木) 13:07:26 ]
- htmlなどをヒントに作ったであろうxamlがなぜここまでむごいのか
- 267 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 13:56:26 ]
- WPFは重くないって人は
・恵まれたハード環境でしか動かしていない。 ・ラベルとテキストボックス貼っただけのしょうもないものしか作ったことがない。 ・ただの煽り のどれかでしょ。>>248みたいに何かをすると重くなる、という言い方ならともかく、 ただ一言重くないなんてただの無知。
- 268 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:00:25 ]
- StackPanelにFlowDocumentを持つUserControlを100個近く表示させてるけど重くないよ
- 269 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:01:37 ]
- Atom270で開発しているおれに謝れwメモリは2GBだけど。
開発環境はおもたいけど、WPFアプリケーションはまあそこそこのレスポンスは発揮してますよ。 ぬるぬるはうごきませんが破綻しないレベルです。
- 270 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:06:13 ]
- まぁ、速度に鈍感というか寛容な人もいるよね。
- 271 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:06:33 ]
- 「恵まれたハード環境とWPFがあれば多少無茶をしても重くならない」
そう思っていた時期がありました 実際は明文化されていない作法みたいなのがあって、 それから外れるとどんなハードだろうと遅くなる
- 272 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:13:01 ]
- >>261
msdn.microsoft.com/ja-jp/magazine/dd483292.aspx の「期待外れのパフォーマンス」という項のサンプルコードをだな。
- 273 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:13:48 ]
- >>271
> 明文化されていない作法みたいなの これから改良される(変わる)可能性があるから明文化されてないんですかね?
- 274 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:14:47 ]
- 具体例を示して、この部分ハードウェアの性能に影響を受ける、と言うならともかく
単にハード云々を言っても説得力は無いわな
- 275 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:22:43 ]
- >>272
なんか極端すぎてあんまり参考にならない例だな
- 276 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:28:08 ]
- >>275
オーケー、マイブラザー。 リストボックスにたかだか10,000個のアイテムを追加しただけのコードだ。 <Window x:Class="WpfApplication1.Window1" xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Grid> <ListBox Name="_listBox" ItemsSource="{Binding}" ScrollViewer.CanContentScroll="False"/> </Grid> </Window> namespace WpfApplication1 { public partial class Window1 : Window { public Window1() { InitializeComponent(); this.DataContext = new int[10000]; } } }
- 277 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:29:35 ]
- MSのライブラリではいつもの事なんだけど、
シンプルな書き方と最良の書き方が一致してないんだよね シンプルな書き方 = 最良な書き方 って発想はRoR以降に広まったものだから 2001年から設計されたWPFに求めるのは酷かもしれないけどさ
- 278 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:34:23 ]
- リストボックスに単純に1万も項目追加したら、
WPFに関係無く重くなるんじゃね? そもそも、そんな設計してる時点でドキュソだろ。 新卒しかしないって。
- 279 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:37:32 ]
- >>278
ScrollViewer.CanContentScroll="False" を消せば1万行追加しても早いわ。 言い訳ばっかりしてないで包茎の皮切り取って来い、チンカス。
- 280 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:43:21 ]
- だいたい、過負荷テストぐらいしないのかよ。
テーブルに100件ぐらい追加して「パフォーマンスに問題なし」とかほざいて納入しては 数年後に100万件超になってきてパフォーマンス障害が出たので何とかしてくれ、なんてなきつくアホ多すぎ。 どうせSIer様は買い替えの時期です、とかDQNなこと言うんだろうが。
- 281 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:44:22 ]
- Formsでいう、SuspendLayoutがWPFに無いから、
無くても大丈夫なように設計されてるのかと思ったら、 全然そうじゃなかったという・・・
- 282 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:51:22 ]
- WPFは常時SuspendLayoutしてるようなものだよ。
ただし、WinFormsとは重くなる原因が異なるので WinFormsだと○○すれば軽かった みたいな経験は通用しない。
- 283 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 14:54:52 ]
- まぁ大抵の場合WPFを止めるという選択肢しか無いけどな。
- 284 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 15:02:07 ]
- >>280
そりゃ要件定義の段階でその程度の仕様要求する方が悪いぞ そんなところまで面倒見るわけねえだろ
- 285 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 15:03:33 ]
- 典型的なおいしい仕事とカモの客だな。
そういう所がもっと増えればよい。 無茶も言わなくなる。
|

|