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

【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/11/08(水) 10:43:18
あたらしいGUI FW、WPFについて語るすれ。

.NET3.0もリリースされて盛り上がってまいりますた。

WPF on MSDN
http://msdn2.microsoft.com/en-us/netframework/aa663326.aspx

.NET3.0
http://www.netfx3.com/blogs/news_and_announcements/archive/2006/11/06/.NET-Framework-3.0-has-been-released_2100_.aspx

WPF Mashup on YOUTUBE
http://www.youtube.com/watch?v=BUBOQFvh6yI

0352デフォルトの名無しさん2007/08/11(土) 01:19:20
>>351
Button の中にある Grid に Width, Height の指定がないから、
その中身の TextBlock も幅・高さ指定なしで、中身のテキストの幅ぴったりになる。

Grid は Page の幅いっぱいに、Grid 直下の Button は Grid の幅いっぱいになるけど、
Button の Content にはそういう機構は働かない。

Button の Content を Button の幅・高さに合わせたかったら、
Binding 使って Button.Width と Button.Height と結合させないと駄目だと思う。
0353デフォルトの名無しさん2007/08/11(土) 01:22:08
まあ、たぶん、
Button.TemplateBinding に Grid を書いて、
TemplateBinding 使って Width と Height をバインドさせるのがいいと思う。
0354デフォルトの名無しさん2007/08/11(土) 01:24:07
あっ、ミス。
○ Button.TemplateBinding
× Button.ContentTemplate
ちなみに、ContentTemplate は ContentControl から継承。
0355デフォルトの名無しさん2007/08/23(木) 16:59:40
umeume
0356デフォルトの名無しさん2007/08/23(木) 17:37:27
あげ
0357デフォルトの名無しさん2007/08/25(土) 14:01:47
うーん なんつーかこんなに重いもんはやらねえだろ
WinFormsだってもっさりしてるのに それ以上にorz
商業系アプリなら知らんけど
フリー、シェア系の軽量アプリなら嫌われるよなあ
自分用のアプリでも使いたくねえわ
別にボタン斜めにしたり アニメーションさせたりとかに意味を感じないし
0358デフォルトの名無しさん2007/08/25(土) 16:11:32
3D使わないのにWPFを使う理由はないよ。
グラフィックカードの性能に依存するから低スペックにWPFは地雷。
0359デフォルトの名無しさん2007/08/25(土) 16:19:59
WinFormかXMLで書ければいいのに
0360デフォルトの名無しさん2007/08/25(土) 16:40:53
XAMLってXMLだが。
0361デフォルトの名無しさん2007/08/25(土) 18:09:59
>>358
といってもGDIでもVistaでは3Dで描いてるんだし
GF7800GTSだけど
ネイティブGDIアプリとの差は歴然としてる
スペックがあっても環境なりに差がある
確かに3Dやアニメーション使う人じゃないと使う理由はないかもね
0362デフォルトの名無しさん2007/08/26(日) 11:33:40
使う側にとってはメリットがなあ・・・
0363デフォルトの名無しさん2007/08/26(日) 11:41:44
WinFormsと違って使う側にとってのメリットはあるだろ
見た目w
0364デフォルトの名無しさん2007/08/26(日) 11:45:33
3Dと描画ロジックがFormsと違って一括描画でコントロールの数に影響されないことと
XMLによるUIとロジックの分離。
0365デフォルトの名無しさん2007/08/26(日) 12:18:32
そのデザインとのコード分離っていうのだって
グループで開発してるならともかく
一人でしこしこ作ってる分には面倒な気もする
Expressionとかさらに投資する気もないし
0366デフォルトの名無しさん2007/08/26(日) 12:22:23
個人製作では敷居は高くなってるね。
XAMLのライブラリ覚えるのも結構大変だし、Expressionのツールを習得しなければいけない。
0367デフォルトの名無しさん2007/08/26(日) 12:26:49
>>365
もちろんグループ開発で分業しやすいってのもあるけど、
個人でやるにしても、GUI の設計って
プログラミング言語よりも XML みたいな階層構造もった言語の方が書きやすいと思う。

ライブラリは、VS とか使うならの話だけど、
あんがいインテリセンスのお陰で覚えなくても使える。
0368デフォルトの名無しさん2007/08/26(日) 12:59:13
うーん、開発者側の意見w
0369デフォルトの名無しさん2007/08/26(日) 13:06:24
ユーザ側の意見で言うと、もっとスペック低くても動かないのか?
0370デフォルトの名無しさん2007/08/26(日) 15:14:27
ユーザーからすれば、中身がWPFだろうがVB6だろうがあんまり関係ないんだよねぇ・・・
0371デフォルトの名無しさん2007/08/26(日) 17:31:49
ユーザーは.NETを意味嫌ってると思われ
重い、ランタイムインスコがうざい

VB6のほうがマシ
0372デフォルトの名無しさん2007/08/26(日) 17:36:04
>>371
つClickOnce
0373デフォルトの名無しさん2007/08/26(日) 17:38:55
相手にされなくなったからこっちに来たかwww
0374デフォルトの名無しさん2007/08/26(日) 17:50:09
ユーザーの利点
・DPIに依存しない。
0375デフォルトの名無しさん2007/08/26(日) 18:01:55
だれか、XAMLでレンダリングできるLatex作ってくれよ。
0376デフォルトの名無しさん2007/08/26(日) 21:26:42
え?
0377デフォルトの名無しさん2007/08/26(日) 22:07:08
1、XAMLにListViewを追加
<ListView Grid.Column="1" x:Name="list"/>

2、ListViewに500個ぐらい項目を追加する
ObservableCollection<int> items = new ObservableCollection<int>();
for (int n = 0; n < 500; ++n)
 items.Add(n);
list.ItemsSource = items;

3、ListViewにフォーカスをあわせる
4、↓キーを押し続ける

上記の操作を行ってしばらくすると、50%ぐらいの確率で、
ListViewが上下にガクガクとスクロールして、止まらなくなってしまうのですが、
何か使い方に問題があるのでしょうか?
0378デフォルトの名無しさん2007/08/26(日) 22:09:52
なにか問題があるなら、対応策考えれば良いだろう。
リストアイテムを制御するプログラムを作るとか。
全部の項目を一気に追加するなんて初心者のやりかただぞ。
0379デフォルトの名無しさん2007/08/26(日) 22:11:17
>375
ttp://jeuclid.sourceforge.net/
微妙に違うがWPFを使うSwingでいけるってことでJavaで書かれたのを探せばいいんじゃないだろうか?
0380デフォルトの名無しさん2007/08/26(日) 23:54:47
しかし、WPFでなんで3Dなんか使わなきゃいかんのだ。
GUIに3DでWPFに何かアドバンテージがあるのかょ?

大体、WPFだってへたくそに使えばめちゃくちゃ重くなるしょ。
0381デフォルトの名無しさん2007/08/27(月) 00:21:26
>>380
3Dは今ではほとんど使われない技術だが、常にクライアントは進化を求めるものだから
いずれ必要になるときがくる。
PCがコマンドライン、GUIと進化したように2Dから3Dと進化しなければならなくなる。
0382デフォルトの名無しさん2007/08/27(月) 01:27:41
3Dっていうか、単にあまってるグラフィックカードの力を
有効に使用しましょうってことでしょ
0383デフォルトの名無しさん2007/08/27(月) 01:52:10
3Dを特別視しすぎだな。
0384デフォルトの名無しさん2007/08/27(月) 02:12:42
だが、3DGプログラミング出来る奴はほとんどいないけどな。
0385デフォルトの名無しさん2007/08/27(月) 10:39:10
3Dはうまく使えば有効だけど使いどころがムズカシス。
InformationGraphics以外の分野で有効なものあまり見たことないなぁ
0386デフォルトの名無しさん2007/08/27(月) 10:53:49
Direct3D使ってるっていうだけで別に3Dのためのライブラリじゃないし
0387デフォルトの名無しさん2007/08/27(月) 11:11:51
上手く使えば既存の2DのGUIより使いやすくなるんじゃね。
うまく使えばだけど。
0388デフォルトの名無しさん2007/08/27(月) 11:26:01
上手く使ってるのはMSよりAppleだったりするからな
0389デフォルトの名無しさん2007/08/27(月) 11:40:42
Appleのは2Dを3Dで実現してるだけだからなー
昔NTTの研究所でGooの検索結果を3Dで表示するってのやってたけど本とにセンスなかったな
0390デフォルトの名無しさん2007/08/27(月) 18:26:28
しっかりとした3Dインタフェースの指針が出てれば、安心して開発者は使えるんだがな。
テクノロジープレビューレベルで現場の開発者に投げても、使う気はせんよ。
0391デフォルトの名無しさん2007/08/27(月) 18:54:09
.NET3.0は確定してるけどね。
0392デフォルトの名無しさん2007/08/28(火) 08:36:48
.NET3.1で大幅変更

.NET3.5でプログラミングモデル変更

.NET4.0で氏滅
0393デフォルトの名無しさん2007/08/28(火) 13:56:29
.NET 4.0は自動並列化をサポートするけど
そのために中間言語自体に大幅な変更が加わって
.NET 2.0ベースのアプリは完全に動かなくなる
まあ両方のCLRがOSに標準搭載されるから無問題だが
0394デフォルトの名無しさん2007/08/28(火) 14:22:58
コンパイルしなおせばもうまんたい?
どう中間言語換わるか知らないんだけど、トランスレーターみたいの出るんじゃないんかね
0395デフォルトの名無しさん2007/08/28(火) 23:37:17
プロジェクトだったら、全部新しい環境に変換されるんじゃないのか?
0396デフォルトの名無しさん2007/08/29(水) 08:56:46
またスクラップ∩リビルドかお。
0397デフォルトの名無しさん2007/08/29(水) 09:54:31
自動並列化って何?
何を並列化するの?
0398デフォルトの名無しさん2007/08/29(水) 12:40:08
そもそも >>393 の信憑性は?

まあ、それが信憑性あるとしてもたいした問題とも思えないけど。
2.0 の CLR と 4.0 の CLR の混在 & どっちの上で動くべきか自動判定してくれるでしょ。
0399デフォルトの名無しさん2007/08/29(水) 13:05:51
>そもそも >>393 の信憑性は?

なんていうか、393の信憑性は0だが、











内容は現実にあってて信憑性高杉る。
0400デフォルトの名無しさん2007/08/29(水) 13:06:58
>2.0 の CLR と 4.0 の CLR の混在 & どっちの上で動くべきか自動判定してくれるでしょ。

ヒント:今までだってコンバートの嵐。コンバートエラーも嵐。
0401デフォルトの名無しさん2007/08/29(水) 13:08:05
性能が落ちるだけじゃなくてバイナリが保障されないドトネトなんてヤメテしまえYO!
0402デフォルトの名無しさん2007/08/29(水) 14:36:12
バージョンまたがって、バイナリ保障されてるランタイムなんてほとんど奇跡。
0403デフォルトの名無しさん2007/08/29(水) 21:38:18
2.0も4.0も入ってるならコンバートする必要はないだろ
ソースレベルでは互換性は保たれるだろうし
0404デフォルトの名無しさん2007/08/30(木) 08:42:29
>バイナリ保障されてるランタイム

実行バイナリの話なのか、実行ランタイムの話なのかハッキリしろよ。
何テンパッてるんだよ。

>ソースレベルでは互換性は保たれるだろうし

何そのM$では今までありえなかった話。
0405デフォルトの名無しさん2007/08/30(木) 11:53:28
>>404
ここ4・5年、それ以前のMSではありえなかった話が山ほど実現してる。
0406デフォルトの名無しさん2007/08/30(木) 11:56:18
件名:.NET1.1と.NET2.0の互換性について
ttp://www.atmarkit.co.jp/bbs/phpBB//viewtopic.php?topic=31486&forum=7&7
0407デフォルトの名無しさん2007/08/30(木) 12:02:27
.NET Framework 2.0 廃止予定の API 一覧
ttp://www.microsoft.com/japan/msdn/netframework/programming/obsoleteapi/

意味わかんないです(><)
ttp://www.microsoft.com/japan/msdn/netframework/programming/obsoleteapi/ObsByNamespace.aspx#System.Windows.Forms

System.Windows.Forms.Form
ApplyAutoScaling()
メッセージ : このメソッドは非推奨になりました。
代わりに、ApplyAutoScaling メソッドを使用してください。

 ( <●><●>)   ドトネト1.0〜2.0廃止なのは分かってます
  (U      )つ  
    u  u
0408デフォルトの名無しさん2007/08/30(木) 12:04:41
.NET2.0と.NET1.1が混在するクライアント環境でのノータッチデプロイメントの挙動について

ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=798587&SiteID=7

.NETの売り文句である、「自動的に適切なランタイムを選択しバージョンを気にせず使える」という話を信じて安心していたのですが、
このような自体になってしまい、書き換えるにしても時間が無い絶望的な状況だったりします。
0409デフォルトの名無しさん2007/08/30(木) 12:48:20
APIが廃止されても大丈夫だからSide by Side実行なのだよ
0410デフォルトの名無しさん2007/08/30(木) 12:51:52
>>409

つ 393
残念!
0411デフォルトの名無しさん2007/08/30(木) 13:21:26
しかしObsoleteが来て廃止されたら
結局ソースレベルでは互換性がなくなるんだな
旧バージョンのCLRがあれば動くは動くんだろうけど
0412デフォルトの名無しさん2007/09/07(金) 23:17:33
Visual Studio 2008ではTarget Frameworkとして複数の.NEt Frameworkの
中から一つの.NET Frameworkを選択することが出来ます。

HILOG on Hatena - Visual Studio 2008 Beta2 Available
http://d.hatena.ne.jp/InoHiro/20070728/p3

なんとなく思うに、しばらくはこのまま2.0, 3.0, 3.5で平行して
走らせてくつもりなのね。。。
0413デフォルトの名無しさん2007/09/10(月) 10:58:52
バージョンを並行して使うのは、元々そういうつもりなんじゃなかったっけ。
0414デフォルトの名無しさん2007/09/10(月) 18:24:18
Visual Studio のバージョンは .NET Framework のバージョンと密接に〜
とか言ってたのにな

2005 → 2008 の間に 3.0 と 3.5 を出す事になると
そうも言ってられないってことだな
0415デフォルトの名無しさん2007/09/10(月) 18:37:11
0$のバージョンの上にドトネトバージョンが乗っかるって、





それって何てブビランタイム?
0416デフォルトの名無しさん2007/09/14(金) 16:52:38
hoshu
0417デフォルトの名無しさん2007/09/14(金) 21:29:51
結局のところ.NETの利点はなに?
Javaは他OSで動くからまだいいんだが…
0418デフォルトの名無しさん2007/09/14(金) 21:57:55
開発が楽になる
0419デフォルトの名無しさん2007/09/14(金) 22:17:45
Microsoft的にはx86, x86-64, IA64間での
マルチプラットフォームの実現。
0420デフォルトの名無しさん2007/09/14(金) 22:25:32
>>417
出版社と開発ツール屋と開発系コンサルが当分ネタに困らない。
0421デフォルトの名無しさん2007/09/15(土) 01:00:48
JavaがWindowsじゃ役に立たないから、その穴埋め。
0422デフォルトの名無しさん2007/09/15(土) 01:35:38
>421
それだ。
Javaの苦手なWindows上のGUI部分を埋めるのが.NET(WPF)の役割だな。
0423デフォルトの名無しさん2007/09/15(土) 06:47:56
>>421
良回答10pt
0424デフォルトの名無しさん2007/09/15(土) 09:19:09
たしかに、昔JavaのGUIアプリ仕事を引き継いで完成させたら、
客からは「操作がWinでもMacでもなく糞すぎ」と散々言われたなあ
最終的にWin挙動に似せるように、ちまちまプログラム追加していった
あれ以来Javaでプログラムはやってない。
0425デフォルトの名無しさん2007/09/15(土) 19:24:54
Javaはどこでも動くがどこで動かしても中途半端
0426デフォルトの名無しさん2007/09/15(土) 20:02:42
どこでも動くだけましだろ
Windows限定の中途半端なものに比べたら
0427デフォルトの名無しさん2007/09/15(土) 20:18:17
どこでも動くのはWebアプリで結構
0428デフォルトの名無しさん2007/09/16(日) 02:12:16
つーか市販のJavaアプリなんて見たことないけどw
0429デフォルトの名無しさん2007/09/16(日) 02:19:40
Run Anywhere は幻想というのがよく分かるのが Java
0430デフォルトの名無しさん2007/09/16(日) 02:32:33
電子政府がTrouble Anywhereって印象しかない < JVM
0431デフォルトの名無しさん2007/09/16(日) 09:47:05
JavaでGUIプログラムとか(笑)
0432デフォルトの名無しさん2007/09/16(日) 12:54:35
Web ブラウザ前提のアプリの場合、
GUI アプリじゃないのかどうか悩んでしまうな
0433デフォルトの名無しさん2007/09/16(日) 15:45:51
見事な廃れっぷりだな。

WPF始まる前から終了の予感がしてきた。
0434デフォルトの名無しさん2007/09/16(日) 15:49:53
VS2008の今のベータ版でもWPF関連の開発が一番遅れてる感じだな。
Linq/Dlinqの方がよほど安定してるよ。
WPFの普及は開発ツールにかかってると思うが今のところ前途多難。
0435デフォルトの名無しさん2007/09/16(日) 15:50:14
でっていう
0436デフォルトの名無しさん2007/09/16(日) 16:38:13
>>433
おいしいところ全部Silverlight 1.1に持って行かれたからな。仕方がない。
0437デフォルトの名無しさん2007/09/16(日) 17:25:55
Sliverlightだって…
0438デフォルトの名無しさん2007/09/16(日) 17:41:08
PowerShellばんざぁい
0439デフォルトの名無しさん2007/09/18(火) 13:46:23
>>436
そうでもない。
XBAP は終わってるかも知れんけど、
WinアプリはWPF使うだろうし。

Silverlight は、リソースとかイベントトリガとかバインディングの辺りで制限多い。
使えるエレメントも限られてるし。
0440デフォルトの名無しさん2007/09/18(火) 16:58:49
HTMLの代わりに使えばいいんじゃね>XAML
0441デフォルトの名無しさん2007/09/19(水) 14:49:44
Loose XAML のことかな。
IE + .NET Framework 3.0 の環境だけがターゲットになるのがつらいよなぁ。
0442デフォルトの名無しさん2007/09/24(月) 23:22:17
C#使いは当然XAMLも勉強するよな?
0443デフォルトの名無しさん2007/09/24(月) 23:23:51
しょーもないことで上げるなボケェ
0444デフォルトの名無しさん2007/09/25(火) 11:05:19
なんかWPF触ってるとC#の堅物さに嫌気がさしてくる
0445デフォルトの名無しさん2007/09/25(火) 11:34:39
WPFの方もIronPythonとかサポートしてくれないものか。
0446デフォルトの名無しさん2007/09/25(火) 19:13:26
むしろ IronPython は WPF のサンプルとともにデビューしたんだけど...
0447デフォルトの名無しさん2007/09/25(火) 20:26:55
WPFでのIronPythonサポートって何がしたいの?
0448デフォルトの名無しさん2007/09/26(水) 12:57:12
Windows GUI アプリ開発で LL 使いたいってことかな。
俺としては、規模大きいアプリの開発に LL 使うのは否定派なんだが。
0449デフォルトの名無しさん2007/09/26(水) 13:04:37
>>447
WPFがDependencyPropertyみたいなプロパティシステムを再実装したのは
GUIのコントロールツリーと.NETのプロパティが相性悪かったからってことでしょ。
.NETのプロパティは堅物過ぎたから
自前でフレームワークを作らないといけなかったとというわけで。

いくつかの軽量言語が組み込みで持っている型システムなら
そのまま流用できた可能性はある。

IronPythonの型システムとDependencyPropertyをどうくっつけるかみたいな話は
結構あちこちで行われてると思うよ。
0450デフォルトの名無しさん2007/09/26(水) 20:32:55
>>449
プロパティシステムを再実装したのは、Attached Propertiesのようなものが必要だったからでしょ。
(Visual Treeにおける親子間のデータ引き継ぎ)

だけど、それが軽量言語の型システム流用で解決できるとはとても思えないんだけど・・・。
0451デフォルトの名無しさん2007/09/26(水) 21:04:56
で、C##が誕生するのか
0452デフォルトの名無しさん2007/09/27(木) 01:30:33
>>450
実行時にプロパティを付けたり外したりってまさにLL言語の十八番だと思うけど。
■ このスレッドは過去ログ倉庫に格納されています