WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part8
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/12/05(日) 22:08:33.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/
0121デフォルトの名無しさん
2010/12/07(火) 19:56:20そうやって摩り替えないと擁護できないの?
0122デフォルトの名無しさん
2010/12/07(火) 19:57:301000行なら良い嘘になったのにもったいないなー
0123デフォルトの名無しさん
2010/12/07(火) 20:00:22Expression Web4よりかは軽いよ
Win7の話で悪いけど
0124デフォルトの名無しさん
2010/12/07(火) 20:01:59だとしたら10万行も有りだと思うんだ
0125デフォルトの名無しさん
2010/12/07(火) 20:04:42縦も横も仮想化を有効にする。EnableColumnVirtualizationとEnableRowVirtualizationをtrueで。
デフォルトでは横の仮想化が有効じゃないんだよ。
これでセルの中に無茶なものを突っ込まない限りはそこそこ実用的な速度で動くようになるはずだしデータ量に依存しない速度になる。
グループ化は仮想化が無効になるので使っちゃ駄目。
それでも遅いなら列の幅などのレイアウトが自動調整されるときのコストがかなり掛かるので
なるべく固定サイズになるようにしておく。
サイズに影響しない要素なら多少多くても速度にはあまり影響しないので。
Bindingはなるべくシンプルに動作するようにしないと若干遅くなるけど無茶やらなければあまり影響ないかな。
0126デフォルトの名無しさん
2010/12/07(火) 20:19:38それはやってなかったな
デフォルトのオート調整になってる
まあ、それやったところでそんなに変わらないだろうし
試す気にもならない
たった10行と5列のデータなのにあれだけ重いんだから
PC変えてからWinformはそこそこ快適になったが、
WPFはまだだめだな
こんな遅いの作って配布なんて考えられない
Win7でどんな挙動になるかは知らないが
XPユーザーじゃ使う気にならない
0127デフォルトの名無しさん
2010/12/07(火) 20:21:180128デフォルトの名無しさん
2010/12/07(火) 20:39:21それ書いても10万行君は理解出来てないと思うよ
概念とかどうしてそれで軽くなるとかそういう根本的なところがさ
0129デフォルトの名無しさん
2010/12/07(火) 22:04:110130デフォルトの名無しさん
2010/12/07(火) 22:35:500131デフォルトの名無しさん
2010/12/07(火) 22:40:4522万行でもまだVPCでXP動かしてるより軽いわ
0132デフォルトの名無しさん
2010/12/07(火) 22:45:47WPFのGPU依存度はかなり高いし、じっさいVAIO ZでGPUを切り替えた時、体感が劇的に変化する
0133デフォルトの名無しさん
2010/12/07(火) 22:47:240134デフォルトの名無しさん
2010/12/07(火) 22:47:560135デフォルトの名無しさん
2010/12/07(火) 23:31:44無効にした方が速いとか意味がないことも起こるし。
0136デフォルトの名無しさん
2010/12/07(火) 23:37:48XPでWPFが相性が悪いっていう原因の大半がGPUのドライバのせいだと思うよ。
特にIntelのオンボードはちゃんと動くものを見たことがない。
0137デフォルトの名無しさん
2010/12/07(火) 23:51:550138デフォルトの名無しさん
2010/12/08(水) 00:59:012chの片隅でどんなに叩いても大勢には何一つ影響ないのによくやるもんだww
0139デフォルトの名無しさん
2010/12/08(水) 01:16:47Part1では4カ月かかったのがたった2日…。
0140デフォルトの名無しさん
2010/12/08(水) 01:21:191 .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しかしCore iシリーズのHD GraphicsのコンパネはWPFで作られている・・・
0142デフォルトの名無しさん
2010/12/08(水) 01:41:17設定画面はWPFなのにWPFのアプリが落ちたりする不具合を抱えてる。
設定画面はちゃんと動いてるだけになんでWPFアプリが動かないのか悩んだよ。
0143デフォルトの名無しさん
2010/12/08(水) 02:38:350144デフォルトの名無しさん
2010/12/08(水) 03:13:470145デフォルトの名無しさん
2010/12/08(水) 03:44:54趣味グラマは数万円もするようなツールは買いたがらないからな。
昔に比べてだいぶ流行ってきたとはいえ、まだまだだろう。
フリーのExpression Brendでもでればいいのだが。
0146デフォルトの名無しさん
2010/12/08(水) 04:41:47そこから踏み込むならBlendがあるに越したことはない。
無料版出せとは言わないまでも、単品パッケージの復活ぐらいはやってほしいね。Express可のUPGが15kぐらいだっけ?
0147デフォルトの名無しさん
2010/12/08(水) 08:37:49こんなのが作れたのかってな感じで
0148デフォルトの名無しさん
2010/12/08(水) 11:10:12ウィンドウを拡大縮小したときの文字列の並び替えが
すごく滑らかだ
同じソースなのにlive2chだとカクカクする
どうして?
0149デフォルトの名無しさん
2010/12/08(水) 11:37:160150デフォルトの名無しさん
2010/12/08(水) 12:56:38900スレ取り込んだら激重いw
WPF使えねーな
0151デフォルトの名無しさん
2010/12/08(水) 13:09:030152デフォルトの名無しさん
2010/12/08(水) 13:37:47live2chで1000レスあるスレをhtmlで書き出して
コピペしたWebBrowserのソースに割り当てただけ
読み込み自体はまだ許容範囲だが(それでもJaneStyleより遥かに遅い)
ウィンドウを拡大縮小するともっさもさ
Delphiやれっつーことか
でも、今更やりたくないな
0153デフォルトの名無しさん
2010/12/08(水) 13:46:070154デフォルトの名無しさん
2010/12/08(水) 13:47:390155デフォルトの名無しさん
2010/12/08(水) 13:53:37http://kamome.2ch.net/test/read.cgi/mnewsplus/1291782924/
0156デフォルトの名無しさん
2010/12/08(水) 14:00:24なんでWPF叩いてるのってこんな奴ばっかりなんだろ…。
WebBrowserが重いって馬鹿だろ。そんな作り方じゃDelphiで書いても糞重いわ。
0157デフォルトの名無しさん
2010/12/08(水) 14:02:450158デフォルトの名無しさん
2010/12/08(水) 14:10:36正しいやり方教えろよ
0159デフォルトの名無しさん
2010/12/08(水) 14:20:510160デフォルトの名無しさん
2010/12/08(水) 14:22:150161デフォルトの名無しさん
2010/12/08(水) 14:23:080162デフォルトの名無しさん
2010/12/08(水) 14:40:50みたいな書き方にしないで、素直に
<setter Background="Black"/>
みたいにかけるようにすればよかったのにね。
いちいちPropetyだのvaluだの余計な単語つけないといけなくてめんどい
0163デフォルトの名無しさん
2010/12/08(水) 14:54:410164デフォルトの名無しさん
2010/12/08(水) 16:47:33Backgroundプロパティを持ってるわけではないのでそんな書き方は無理。
0165デフォルトの名無しさん
2010/12/08(水) 17:34:100166デフォルトの名無しさん
2010/12/08(水) 17:38:22実際にはコードでクラスでほげほげされてるしね。
0167152
2010/12/08(水) 17:43:420168デフォルトの名無しさん
2010/12/08(水) 17:53:440169デフォルトの名無しさん
2010/12/08(水) 18:10:550170デフォルトの名無しさん
2010/12/08(水) 18:13:35timeBeginPeriod(1)でも呼んどけばいいんじゃない?
0171170
2010/12/08(水) 18:32:28そんなの自前でレンダリングしろ。
0172152
2010/12/08(水) 19:56:14言うと思ったw
live2chと比べているのに
レンダリングしろってそりゃないですよw
そんな解決法しか思いつかないのにえらそうに
「そんな作り方はダメ」なんて言ってたの?
ユーザーがスキンを自由にカスタマイズできるように
WebBrowser使っているのにさ、まったく理解してないね
じゃあ、自由にカスタマイズできるようにしろって?
そういうことするのは無能と言っていいでしょ
0173デフォルトの名無しさん
2010/12/08(水) 19:58:030174デフォルトの名無しさん
2010/12/08(水) 20:10:28WPFスレとしては自分でレンダリングしろと言うしかないでしょう
スレ違いだ
0175デフォルトの名無しさん
2010/12/08(水) 20:22:400176デフォルトの名無しさん
2010/12/08(水) 20:23:51なんか、レス数が増えると重くなるって言ってる様
に受け取れるんだが、WebBrowserコントロール
って表示はlive2chと同じ仕組みが用いられてんだか
ら中で表示するhtmlのサイズは関係ないと思うのだ
が、WebBrowserコントロールをどんな使い方して
んのさ。
作り直しが面倒な程作り込んでるなら別の部分に
問題があるじゃない?さっきの10行10万列の野郎
みたいにリサイズの度に10万個のひろゆき画像を
三次元に回転させるとかだったらそれは重いと
思うよ。
後、知ってると思うがもし仮にXP上で動かして
いたならこれは諦めた方が良いでしょ
0177デフォルトの名無しさん
2010/12/08(水) 20:27:18ネイティブのウィンドウを重ねてActiveXコントロール貼ってるだけだから
0178152
2010/12/08(水) 20:28:26作りこむも何もWebBrowser貼り付けただけのものだよ
XPだとなぜ諦めないといけないの?
.Net入ってたら同じ環境になるんじゃないの?
0179152
2010/12/08(水) 20:29:470180デフォルトの名無しさん
2010/12/08(水) 20:32:07OSの影響が無いし、ActiveX丸出しじゃなくてもうちょっとちゃんとしたWebBrowserが使えるよ
0181デフォルトの名無しさん
2010/12/08(水) 20:32:520182デフォルトの名無しさん
2010/12/08(水) 20:41:05極端な話、枠を消したウィンドウにActiveXコントロールを貼ってWPFのウィンドウ上に重ねてるだけ。
だからXP上のレンダリングの問題とかの話は適用できないの。
0183152
2010/12/08(水) 20:56:55sourceにバインドしようと思ったらよくわからないオブジェクトのプロパティを
使わないといけないみたいで、あれみて一気にやる気失せた
0184デフォルトの名無しさん
2010/12/08(水) 21:00:28単なるActiveXコントロール。WPFとは全く関係ない。スレ違い。
0185デフォルトの名無しさん
2010/12/08(水) 23:14:52チェックしてダメだったら元のとこに戻したいってだけなのに.focusで無限ループ
どうしましょ
0186デフォルトの名無しさん
2010/12/08(水) 23:36:590187デフォルトの名無しさん
2010/12/08(水) 23:37:56> このイベントはバブル ルーティングを使用するため、フォーカスを失う要素は、
> イベント ハンドラが実際にアタッチされている要素ではなく、子要素である可能性があります。
> イベント データの Source をチェックして、フォーカスを取得した実際の要素を確認してください。
0188デフォルトの名無しさん
2010/12/09(木) 00:23:28ああ、それならキャンセル持ってるですね。試してみます。
>>187
ちょこちょこsenderに移動先のコントロールが紛れ込んでくるんですが、
その辺が関係してるかもしれないですね。
複数のコントロールをまとめて一つのlostfocusにsetterEventで飛ばしてるんですが、
何かバラにした方が良さげな気がしてきました。
どうもです。
0189デフォルトの名無しさん
2010/12/09(木) 01:59:00RectangleはFillなんだ
Rectangle Background="Red"ってやってもエラーでるから何事かと15秒くらい考えてしまったじゃないか。
Microsoftはどっちかに統一しろよクソめ
0190デフォルトの名無しさん
2010/12/09(木) 02:12:500191デフォルトの名無しさん
2010/12/09(木) 02:22:07なにもおかしい所はない。
他のビジュアル要素を内包するコントロールの背景がBackgroundで前景がForegroundなのも当たり前。
PenがBrushで、BorderがBorderBrushとBackgroundで、PanelがBackgroundになるのも当然の結果。
言葉の意味考えずに、単語だけでプログラミングやってんの?
こういう奴って見るだけで頭痛になりそうな痛い変数名・関数名を量産してそう。
0192デフォルトの名無しさん
2010/12/09(木) 02:23:03そういう基本的な図形はShapeなので区別は付くはずだよ。
0193デフォルトの名無しさん
2010/12/09(木) 02:31:22Windows Formのコントロールなら
FormもLabelもButtonもTextBoxも全部Textプロパティだったのに。
WPFはWindows Formのクラス群でTextプロパティだったのがいろいろ分かれてる。
いちいち、このコントロールはTextがContentで、あっちはTextで、別のなにかはさらに違ってって全部いちいち暗記しなきゃならないのか。めんどくせーな。
0194デフォルトの名無しさん
2010/12/09(木) 02:39:100195デフォルトの名無しさん
2010/12/09(木) 02:40:36暗記しなきゃならないって馬鹿か。
中に何が入るか考えれば暗記する必要などない。
0196デフォルトの名無しさん
2010/12/09(木) 02:46:59Contentは文字に限らずいろんな要素を入れられるしContentTemplateなど表示のカスタマイズができる。
そんな感じに使い分けられてるから結構解りやすいと思うよ。
0197デフォルトの名無しさん
2010/12/09(木) 02:47:45http://msdn.microsoft.com/ja-jp/library/system.windows.controls.contentcontrol.aspx
の構文と継承を1時間ほど見つめ続けろ
0198デフォルトの名無しさん
2010/12/09(木) 02:53:16Buttonとかの背景がBackColorっていう名前のプロパティだったのに
WPFになるとBackgroundとか、意味も無く名前変わってるし。
なんなのこれは。Formから移ってきた人がうっかり前と同じようにコード書いてエラーおこさせるための嫌がらせか?
0199デフォルトの名無しさん
2010/12/09(木) 02:56:28Buttonクラスの継承調べろカス
0200デフォルトの名無しさん
2010/12/09(木) 03:01:52http://msdn.microsoft.com/ja-jp/library/ms751565.aspx
0201デフォルトの名無しさん
2010/12/09(木) 03:01:59>意味も無く名前変わってる
お前、無能だとよく馬鹿にされてるだろ。
Backgroundに入るのがColorだけだとでも思っているのか?www
ちょっとぐらい調べてから喋れクソめ
0202デフォルトの名無しさん
2010/12/09(木) 03:02:28BackColor とかどう見ても失敗。
ImageBrush とかも使えるし。
0203デフォルトの名無しさん
2010/12/09(木) 03:04:25Windows Formでつちかった知識をいかせないなんてWPFはクソな仕様なんだな
0204デフォルトの名無しさん
2010/12/09(木) 03:05:120205デフォルトの名無しさん
2010/12/09(木) 03:07:48Button.Text="Click me!";
これでOKだったんだから
WPFでも全く同じコードで動くようにすべきだよ。
0206デフォルトの名無しさん
2010/12/09(木) 03:08:150207デフォルトの名無しさん
2010/12/09(木) 03:08:56こういう奴って、WinFormsの頃からバインディングがあった事すら知らないか、ろくに使いこなせてなかったんだろうな。
0208デフォルトの名無しさん
2010/12/09(木) 03:16:36WinFormsの良いとこも悪いとこもお前以上に理解した上で出した結論。
その中に飛び込んで言うことが「プロパティ名が気に食わない」だけかよw
0209デフォルトの名無しさん
2010/12/09(木) 11:36:46ScaleTransformでの縮小時に文字が読めなくなってしまうのと、
コントロール自体の縦横比率で、文字の縦横比率が変わってしまうので困る。
全体サイズと内部配置を変更して、文字サイズは固定する方法ってない?
0210デフォルトの名無しさん
2010/12/09(木) 11:40:38Grid で列幅、行高さを auto なり * なり指定すればいいのに。
0211デフォルトの名無しさん
2010/12/09(木) 11:46:14細かくコントロールの配置を整えないので、Gridは厳しいなあ。
地道にpoint計算して、Canvas.SetLeftすることにします。
ありがとう。
0212デフォルトの名無しさん
2010/12/09(木) 11:50:20固定でやってたら文面ちょこっと変えただけで再配置になるし。
0213デフォルトの名無しさん
2010/12/09(木) 11:51:15ViewBox ってのがあるよ。中身を自動サイズ調整。
0214デフォルトの名無しさん
2010/12/09(木) 11:59:39細かくコントロールの配置を整え"る"ので、の書き間違い・・・
ViewBox試してみます!
0215デフォルトの名無しさん
2010/12/09(木) 15:26:20TopやLeftとかを変えればいいだけだと思うんだがなんの意味があるんだろう。
0216デフォルトの名無しさん
2010/12/09(木) 15:36:25LayoutTransform と RenderTransform で挙動違うからねぇ。
Layout 相当の方は確かに Top/Left の変更で行けなくはないが、Render の方は無理。
アニメーションでぶるぶる震えるとかそういうことやるのは Transform の方がいいともう。
Top とか Left とかは Canvas 内にいないと使えないし。
Content の入れ子ができる WPF じゃ Top/Left はいまいち使えない。
0217デフォルトの名無しさん
2010/12/09(木) 15:39:05<RowDefinition/>
をいっぱい書くのめんどくさいなぁ
<RowDefinition*8/>
みたいな書き方できるようにしてくれよ
0218デフォルトの名無しさん
2010/12/09(木) 15:50:22特殊文法はどこかで破たんするからなぁ。
ツールとの連携を考えると、正規の XML の文法からそれない方が身のため。
RowDefinition とかは Visual Studio の UI デザイナー使うなぁ、
さすがに手書きめんどくさいんで。
0219デフォルトの名無しさん
2010/12/09(木) 16:02:32簡単なツールならVSで十分だが、出来ればBlendを買うのを勧める
0220デフォルトの名無しさん
2010/12/09(木) 16:08:59http://www.youtube.com/watch?v=lnHa6OZa0U4
これで何が不満なのか。
0221デフォルトの名無しさん
2010/12/10(金) 00:12:10<MenuItem Header="Exit" Command="Close"/>
だとメニューのExitがdisableなままでクリックできないし。
自前Command作ってもVMがVを持ってないから Close できないわけで。。。
どうすりゃいい?
■ このスレッドは過去ログ倉庫に格納されています