トップページtech
1001コメント283KB

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part8

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/12/05(日) 22:08:33
あたらしいユーザーインターフェースシステム、Windows Presentation Frameworkについて語るスレ。
.NET4 もリリースされて盛り上がってまいりますた。

Visual Studio 2010
http://www.microsoft.com/japan/msdn/vstudio/
Microsoft .NET Framework 4 (Web インストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=9CFB2D51-5FF4-4491-B0E5-B386F32C0992&displaylang=ja
Microsoft .NET Framework 4 (スタンドアロンインストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&displaylang=ja

前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part7
http://hibari.2ch.net/test/read.cgi/tech/1282479113/

関連スレ
Microsoft Silverlight その7
http://hibari.2ch.net/test/read.cgi/tech/1288613056/

過去スレ
Part6 http://hibari.2ch.net/test/read.cgi/tech/1274423236/
Part5 http://pc12.2ch.net/test/read.cgi/tech/1261879110/
Part4 http://pc12.2ch.net/test/read.cgi/tech/1245384489/
Part3 http://pc12.2ch.net/test/read.cgi/tech/1231506876/
Part2 http://pc11.2ch.net/test/read.cgi/tech/1211453941/
Part1 http://pc11.2ch.net/test/read.cgi/tech/1162950198/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
0087デフォルトの名無しさん2010/12/07(火) 19:09:27
>>83
コテハン君の頭は、こんなクソ重いWPFプログラマが増えることは、ユーザーが迷惑しプログラミング業界の衰退につながるから
なんとしてもWPFのクソさをアピールしなければならないらしい。
言ってわかるやつじゃないから君も相手にしないほうがいいよ。
0088デフォルトの名無しさん2010/12/07(火) 19:12:49
>>84
そんなPCもっているやつが世間でどれだけいると思っているんだよ
0089デフォルトの名無しさん2010/12/07(火) 19:14:13
そういえばDataGridって代替で何か無いの?
0090デフォルトの名無しさん2010/12/07(火) 19:14:32
うちのPCは2年前にFPSゲー用に買ったものだが
10行のdatagridでさえfpsは一桁だがな

これのどこが軽いんだ?
0091デフォルトの名無しさん2010/12/07(火) 19:16:30
列が10万行とかいう落ちはもう見飽きたから
0092デフォルトの名無しさん2010/12/07(火) 19:16:44
>>90
流石にそれは別の原因
0093デフォルトの名無しさん2010/12/07(火) 19:18:23
じゃあその原因を突き止めろ
0094デフォルトの名無しさん2010/12/07(火) 19:19:39
XPだとWPFは使い物にならないよ
80%いるXPユーザーがまともに使えない時点で糞
0095デフォルトの名無しさん2010/12/07(火) 19:22:12
お前のまともはdagagrid10万行だもんなwwww
0096デフォルトの名無しさん2010/12/07(火) 19:24:39
10行って言っているんですけど
日本語も通じないのか?
0097デフォルトの名無しさん2010/12/07(火) 19:30:17
うんそうだね
10行10万列だねwwwwwwwwwwww
0098デフォルトの名無しさん2010/12/07(火) 19:32:12
そう言わないと気が済まないのか?
こういうきちがいがいるからWPF嫌いなんだよ
0099デフォルトの名無しさん2010/12/07(火) 19:34:08
ハイスペックPCでサクサク動きますが何か?
なんて言ってるバカしかいないのか?
そんなに軽いならなぜWPFで3Dゲーム作らないんだ?
0100デフォルトの名無しさん2010/12/07(火) 19:34:54
また先週の
ゲーム作るならC++のほうがマシ
理論か
0101デフォルトの名無しさん2010/12/07(火) 19:35:31
軽いなら1万行で余裕でしょ?
早くWPFで作ってよ
0102デフォルトの名無しさん2010/12/07(火) 19:35:57
10万行野郎をあまり虐めてやるなよ…
0103デフォルトの名無しさん2010/12/07(火) 19:37:31
10万行君の名言

ゲーム作るならWPFよりC++のほうがいい!
1万行のデータグリッドのfps見れ
WPFはXAMLとC#の二つを覚えなきゃいけないからダメ
0104デフォルトの名無しさん2010/12/07(火) 19:37:47
全体のPCからいったら
俺の持ってるPCはミドルかそれ以上
そのPCでさえ、10行のdatagridがこんなにもっさりなのはなぜなんだ?
IDEもいちいち重いしデバッグ作業でイライラするわ
0105デフォルトの名無しさん2010/12/07(火) 19:38:37
10万行なんて一言も言っていないんだけど?
それ面白いと思ってんの?
0106デフォルトの名無しさん2010/12/07(火) 19:38:56
プログラム初心者:WPF遅い糞

みんな:遅くないよ?ちなみにどんな環境なの?

プログラム初心者:10万行のDataGridが遅すぎ

みんな:マァマァ(((ノ´ー`)ノ
0107デフォルトの名無しさん2010/12/07(火) 19:39:33
つまりゲームも作れない
Datagridもできない
IDE糞重い
小規模アプリだと生産性悪い

一体なにができるの?
オサレGUIしかできないじゃん
0108デフォルトの名無しさん2010/12/07(火) 19:39:57
10万行のGrid表示とかもうね…
これがゆとり教育の弊害か…
0109デフォルトの名無しさん2010/12/07(火) 19:40:55
10行でも重いっていってるだろ
プログラマってこういうネチネチしたやつばっかりなのか?
ずっと孤独な人生過ごしてきて人格歪んじゃってるんじゃないの?
0110デフォルトの名無しさん2010/12/07(火) 19:41:28
Win7+AthlonNEOシングルコアノートでもそれほど重いとは感じないが
0111デフォルトの名無しさん2010/12/07(火) 19:41:33
WPFでゲームで作るならXNAはなんなんだろう
0112デフォルトの名無しさん2010/12/07(火) 19:41:54
10万行を10行に言い直しても大人は騙されませんからねヽ(´ー`)ノ
0113デフォルトの名無しさん2010/12/07(火) 19:42:50
はいまた人格批判始まった!

そろそろうつ病になって自殺とか言い始めますよ
0114デフォルトの名無しさん2010/12/07(火) 19:43:21
10万行gridってさ、htmlでいえば一つのページに空divタグが1万あるのと同じレベルだよね
0115デフォルトの名無しさん2010/12/07(火) 19:44:55
ぱぇぽぃ2 ? Blog Archive ? XP on WPF
http://palepoli.skr.jp/wp/2008/06/11/xp-on-wpf/

ここのブログでも重いと書いている
0116デフォルトの名無しさん2010/12/07(火) 19:46:19
( ´д)ヒソ(´д`)ヒソ(д` )(ソースは個人執筆の2008年だって・・・)
( ´д)ヒソ(´д`)ヒソ(д` )(10万行はやっぱり違うわね)
0117デフォルトの名無しさん2010/12/07(火) 19:51:13
たった2年で高速になるとでも思っているのか?
0118デフォルトの名無しさん2010/12/07(火) 19:53:00
10万行がサクサクになるには後20年は必要なんじゃないかなぁ
0119デフォルトの名無しさん2010/12/07(火) 19:53:18
2010なんていれるんじゃなかったわ
2008でも重かったがより一層重い
画面の切り替えも遅いし
ちょっと最小化してたら、開くまでに時間がかかる
0120デフォルトの名無しさん2010/12/07(火) 19:54:04
そりゃ10万行かいたソースを10ファイル開けば重いだろ…
0121デフォルトの名無しさん2010/12/07(火) 19:56:20
10行でも重いけどね
そうやって摩り替えないと擁護できないの?
0122デフォルトの名無しさん2010/12/07(火) 19:57:30
10万行を10行と言い直すのはあまりに説得力がないのよねー
1000行なら良い嘘になったのにもったいないなー
0123デフォルトの名無しさん2010/12/07(火) 20:00:22
他のソース参照するときとかにVS2010を3つくらい起動することあるけど
Expression Web4よりかは軽いよ



Win7の話で悪いけど
0124デフォルトの名無しさん2010/12/07(火) 20:01:59
俺、思ったんだけど10万行はUHDTVを100枚あわせたモニタでみてるんじゃないかな?
だとしたら10万行も有りだと思うんだ
0125デフォルトの名無しさん2010/12/07(火) 20:04:42
>>81
縦も横も仮想化を有効にする。EnableColumnVirtualizationとEnableRowVirtualizationをtrueで。
デフォルトでは横の仮想化が有効じゃないんだよ。
これでセルの中に無茶なものを突っ込まない限りはそこそこ実用的な速度で動くようになるはずだしデータ量に依存しない速度になる。
グループ化は仮想化が無効になるので使っちゃ駄目。
それでも遅いなら列の幅などのレイアウトが自動調整されるときのコストがかなり掛かるので
なるべく固定サイズになるようにしておく。
サイズに影響しない要素なら多少多くても速度にはあまり影響しないので。
Bindingはなるべくシンプルに動作するようにしないと若干遅くなるけど無茶やらなければあまり影響ないかな。
0126デフォルトの名無しさん2010/12/07(火) 20:19:38
>>125
それはやってなかったな
デフォルトのオート調整になってる
まあ、それやったところでそんなに変わらないだろうし
試す気にもならない
たった10行と5列のデータなのにあれだけ重いんだから
PC変えてからWinformはそこそこ快適になったが、
WPFはまだだめだな
こんな遅いの作って配布なんて考えられない

Win7でどんな挙動になるかは知らないが
XPユーザーじゃ使う気にならない
0127デフォルトの名無しさん2010/12/07(火) 20:21:18
使わなくていいです
0128デフォルトの名無しさん2010/12/07(火) 20:39:21
>>125
それ書いても10万行君は理解出来てないと思うよ
概念とかどうしてそれで軽くなるとかそういう根本的なところがさ
0129デフォルトの名無しさん2010/12/07(火) 22:04:11
そんな事よりMVVMだっ!!
0130デフォルトの名無しさん2010/12/07(火) 22:35:50
FPSってどうやって計るのん
0131デフォルトの名無しさん2010/12/07(火) 22:40:45
http://www.dotup.org/uploda/www.dotup.org1288654.png
22万行でもまだVPCでXP動かしてるより軽いわ
0132デフォルトの名無しさん2010/12/07(火) 22:45:47
VPCはGPUパワーがないからだろ。
WPFのGPU依存度はかなり高いし、じっさいVAIO ZでGPUを切り替えた時、体感が劇的に変化する
0133デフォルトの名無しさん2010/12/07(火) 22:47:24
VAIO Zって何?オモチャ?
0134デフォルトの名無しさん2010/12/07(火) 22:47:56
そういえば5750買ったばっかりだった
0135デフォルトの名無しさん2010/12/07(火) 23:31:44
WPFでGPUのアクセラレータは言うほど効果がない割にバグが多いので無効にするのが無難。
無効にした方が速いとか意味がないことも起こるし。
0136デフォルトの名無しさん2010/12/07(火) 23:37:48
バグってのはドライバのね。
XPでWPFが相性が悪いっていう原因の大半がGPUのドライバのせいだと思うよ。
特にIntelのオンボードはちゃんと動くものを見たことがない。
0137デフォルトの名無しさん2010/12/07(火) 23:51:55
なにこのスレ速度w
0138デフォルトの名無しさん2010/12/08(水) 00:59:01
アンチが必死になって叩かないといけなくなるほどの人気w
2chの片隅でどんなに叩いても大勢には何一つ影響ないのによくやるもんだww
0139デフォルトの名無しさん2010/12/08(水) 01:16:47
>>137
Part1では4カ月かかったのがたった2日…。
0140デフォルトの名無しさん2010/12/08(水) 01:21:19
前スレより

1 .NET3.0もリリースされて盛り上がってまいりますた。
2 .NET3.5 SP1 Betaもリリースされて盛り上がってまいりますた。
3 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。
4 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。
5 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。
6 .NET4.0もリリースされたけど別に盛り上がってはいないよね…。
7 パワフルで柔軟すぎるのが敗因か? 正直ついていけないよね…。
8 .NET4 もリリースされて盛り上がってまいりますた。

Part1 2006/11/08-2008/05/24 563日
Part2 2008/05/22-2009/01/11 234日
Part3 2009/01/09-2009/06/20 162日
Part4 2009/06/19-2009/12/27 191日
Part5 2009/12/27-2010/05/21 145日
Part6 2010/05/21-2010/08/28 99日
Part7 2010/08/22-2010/12/06 106日
Part8 2010/12/05-2011/?

盛り上がってまいりますた!
0141デフォルトの名無しさん2010/12/08(水) 01:21:19
>>136
しかしCore iシリーズのHD GraphicsのコンパネはWPFで作られている・・・
0142デフォルトの名無しさん2010/12/08(水) 01:41:17
そうなんだよね。
設定画面はWPFなのにWPFのアプリが落ちたりする不具合を抱えてる。
設定画面はちゃんと動いてるだけになんでWPFアプリが動かないのか悩んだよ。
0143デフォルトの名無しさん2010/12/08(水) 02:38:35
一気にスレ進むと読む気無くすな
0144デフォルトの名無しさん2010/12/08(水) 03:13:47
読む価値ないからいいよ
0145デフォルトの名無しさん2010/12/08(水) 03:44:54
WPFはVisual Studioのデザイナ部分が使いづらい。Expression Brendあれば非常に良いけどなかったら使いづらいんだが
趣味グラマは数万円もするようなツールは買いたがらないからな。
昔に比べてだいぶ流行ってきたとはいえ、まだまだだろう。
フリーのExpression Brendでもでればいいのだが。
0146デフォルトの名無しさん2010/12/08(水) 04:41:47
WinFormsレベルでテンプレートをちょっと書き換えて使う程度ならVSのデザイナでも十分。

そこから踏み込むならBlendがあるに越したことはない。
無料版出せとは言わないまでも、単品パッケージの復活ぐらいはやってほしいね。Express可のUPGが15kぐらいだっけ?
0147デフォルトの名無しさん2010/12/08(水) 08:37:49
無料のBlendがあれば起爆剤になるかもな
こんなのが作れたのかってな感じで
0148デフォルトの名無しさん2010/12/08(水) 11:10:12
WebBrowserは物凄く処理が速いね
ウィンドウを拡大縮小したときの文字列の並び替えが
すごく滑らかだ
同じソースなのにlive2chだとカクカクする

どうして?
0149デフォルトの名無しさん2010/12/08(水) 11:37:16
知らんがな (´・ω・`)
0150デフォルトの名無しさん2010/12/08(水) 12:56:38
あ、やっぱ糞重いわ
900スレ取り込んだら激重いw
WPF使えねーな
0151デフォルトの名無しさん2010/12/08(水) 13:09:03
ソースコードぐらい出せよ
0152デフォルトの名無しさん2010/12/08(水) 13:37:47
ソースコード出すほどでもない
live2chで1000レスあるスレをhtmlで書き出して
コピペしたWebBrowserのソースに割り当てただけ

読み込み自体はまだ許容範囲だが(それでもJaneStyleより遥かに遅い)
ウィンドウを拡大縮小するともっさもさ

Delphiやれっつーことか
でも、今更やりたくないな
0153デフォルトの名無しさん2010/12/08(水) 13:46:07
それ笑うとこ?
0154デフォルトの名無しさん2010/12/08(水) 13:47:39
どこが?
0155デフォルトの名無しさん2010/12/08(水) 13:53:37
国連WPF協会がロッテの渡辺俊介投手に感謝状
http://kamome.2ch.net/test/read.cgi/mnewsplus/1291782924/
0156デフォルトの名無しさん2010/12/08(水) 14:00:24
>>148>>150>>152
なんでWPF叩いてるのってこんな奴ばっかりなんだろ…。
WebBrowserが重いって馬鹿だろ。そんな作り方じゃDelphiで書いても糞重いわ。
0157デフォルトの名無しさん2010/12/08(水) 14:02:45
ウンコ
0158デフォルトの名無しさん2010/12/08(水) 14:10:36
そんな煽りいらないから
正しいやり方教えろよ
0159デフォルトの名無しさん2010/12/08(水) 14:20:51
最初から煽ったりせず素直に聞いてりゃよかったのに
0160デフォルトの名無しさん2010/12/08(水) 14:22:15
素直に聞いて答える奴なんていない
0161デフォルトの名無しさん2010/12/08(水) 14:23:08
WPFはIntelのオンボードグラボと相性最悪だったのか。
0162デフォルトの名無しさん2010/12/08(水) 14:40:50
<setter property="Background" value="Black"/>
みたいな書き方にしないで、素直に
<setter Background="Black"/>

みたいにかけるようにすればよかったのにね。
いちいちPropetyだのvaluだの余計な単語つけないといけなくてめんどい
0163デフォルトの名無しさん2010/12/08(水) 14:54:41
setter要素のBackground属性にしか見えない。
0164デフォルトの名無しさん2010/12/08(水) 16:47:33
Setterクラスのpropertyプロパティとvalueプロパティを設定しているだけだから。
Backgroundプロパティを持ってるわけではないのでそんな書き方は無理。
0165デフォルトの名無しさん2010/12/08(水) 17:34:10
プロパティのsetアセセサみたいに使いたいってことじゃないの
0166デフォルトの名無しさん2010/12/08(水) 17:38:22
言いたいことはわかるけど、ちょっと無理だねぇ。
実際にはコードでクラスでほげほげされてるしね。
01671522010/12/08(水) 17:43:42
そろそろ答えが知りたいです
0168デフォルトの名無しさん2010/12/08(水) 17:53:44
そもそも専ブラのレンダリングとWebBrowserのレンダリングを比べてる時点で何かおかしい
0169デフォルトの名無しさん2010/12/08(水) 18:10:55
WebBrowser使わずに自分でレンダリングしないと
0170デフォルトの名無しさん2010/12/08(水) 18:13:35
両方IEコンポーネントだから単に使い方が悪いんじゃ?
timeBeginPeriod(1)でも呼んどけばいいんじゃない?
01711702010/12/08(水) 18:32:28
勘違いしてた。live2chじゃなくてJaneが比較相手か。
そんなの自前でレンダリングしろ。
01721522010/12/08(水) 19:56:14
レンダリング・・・
言うと思ったw

live2chと比べているのに
レンダリングしろってそりゃないですよw
そんな解決法しか思いつかないのにえらそうに
「そんな作り方はダメ」なんて言ってたの?
ユーザーがスキンを自由にカスタマイズできるように
WebBrowser使っているのにさ、まったく理解してないね

じゃあ、自由にカスタマイズできるようにしろって?
そういうことするのは無能と言っていいでしょ
0173デフォルトの名無しさん2010/12/08(水) 19:58:03
煽りたいなら他所でやれ。
0174デフォルトの名無しさん2010/12/08(水) 20:10:28
WebBrowserを使う限りはIEコンポだけの問題であってWPFは全く関係ないから
WPFスレとしては自分でレンダリングしろと言うしかないでしょう
スレ違いだ
0175デフォルトの名無しさん2010/12/08(水) 20:22:40
上でjaneと比べてんだろ痴呆
0176デフォルトの名無しさん2010/12/08(水) 20:23:51
>>152
なんか、レス数が増えると重くなるって言ってる様
に受け取れるんだが、WebBrowserコントロール
って表示はlive2chと同じ仕組みが用いられてんだか
ら中で表示するhtmlのサイズは関係ないと思うのだ
が、WebBrowserコントロールをどんな使い方して
んのさ。

作り直しが面倒な程作り込んでるなら別の部分に
問題があるじゃない?さっきの10行10万列の野郎
みたいにリサイズの度に10万個のひろゆき画像を
三次元に回転させるとかだったらそれは重いと
思うよ。
後、知ってると思うがもし仮にXP上で動かして
いたならこれは諦めた方が良いでしょ
0177デフォルトの名無しさん2010/12/08(水) 20:27:18
WebBrowserの場合はXPでも関係ないよ
ネイティブのウィンドウを重ねてActiveXコントロール貼ってるだけだから
01781522010/12/08(水) 20:28:26
WPF版のWebBrowserはVB6の頃から変わってないってこと?

作りこむも何もWebBrowser貼り付けただけのものだよ

XPだとなぜ諦めないといけないの?
.Net入ってたら同じ環境になるんじゃないの?
01791522010/12/08(水) 20:29:47
Win7にするとエロゲできなくなるから嫌なんだよ
0180デフォルトの名無しさん2010/12/08(水) 20:32:07
SilverlightのOOB使えば?
OSの影響が無いし、ActiveX丸出しじゃなくてもうちょっとちゃんとしたWebBrowserが使えるよ
0181デフォルトの名無しさん2010/12/08(水) 20:32:52
よっぽどのことがない限り出来る
0182デフォルトの名無しさん2010/12/08(水) 20:41:05
WebBrowserは独立した空域を持ってるからWPFのレンダリングとは全く関係ないんだよ。
極端な話、枠を消したウィンドウにActiveXコントロールを貼ってWPFのウィンドウ上に重ねてるだけ。
だからXP上のレンダリングの問題とかの話は適用できないの。
01831522010/12/08(水) 20:56:55
だったら、FormsのWebBrowser呼び出して使った方がよくないか?
sourceにバインドしようと思ったらよくわからないオブジェクトのプロパティを
使わないといけないみたいで、あれみて一気にやる気失せた
0184デフォルトの名無しさん2010/12/08(水) 21:00:28
だから同じなんだよWinFormsだろうがC++でラッパー書こうが。
単なるActiveXコントロール。WPFとは全く関係ない。スレ違い。
0185デフォルトの名無しさん2010/12/08(水) 23:14:52
なんでlostfocus2回走ってしまうん?
チェックしてダメだったら元のとこに戻したいってだけなのに.focusで無限ループ
どうしましょ
0186デフォルトの名無しさん2010/12/08(水) 23:36:59
PreviewLostKeyBoardFocusとかでチェックしてキャンセルした方が余計なイベントが走らなくて素直に動いてくれると思うよ。
0187デフォルトの名無しさん2010/12/08(水) 23:37:56
この辺じゃね
> このイベントはバブル ルーティングを使用するため、フォーカスを失う要素は、
> イベント ハンドラが実際にアタッチされている要素ではなく、子要素である可能性があります。
> イベント データの Source をチェックして、フォーカスを取得した実際の要素を確認してください。
■ このスレッドは過去ログ倉庫に格納されています