トップページ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

0756デフォルトの名無しさん2008/01/28(月) 06:20:10
// ようやく規制解除…

>>755
でもそうするとWindowのプロパティの変更ができないと思うんですが。
Setter.TargetName もやっぱり使えないし。
0757デフォルトの名無しさん2008/01/28(月) 16:25:13
>>756
Style の TargetType を Window にして、トリガを DataTrigger にすりゃいいんじゃね?
<DataTrigger Binding="{Binding IsChecked,ElementName=Show}" Value="True">
ってな感じで
0758デフォルトの名無しさん2008/01/28(月) 16:45:31
>>757
おお、うまいこといけました。
ありがとうございます。
// 恥ずかしながらDataTriggerの存在自体知りませんでした……。
0759デフォルトの名無しさん2008/02/02(土) 19:10:00
MSはとっととWPFをMFCに移植するべき。
0760デフォルトの名無しさん2008/02/02(土) 19:17:08
そういや、SWTのWPF版ってC++/CLIだったんだな。
勝手にいろいろ期待してたんだが、ちょっと失望した。
0761デフォルトの名無しさん2008/02/02(土) 19:31:59
Javaから呼ぶならどういう方法をとったとしても結局どっかでC++/CLI使うしかないんじゃないの
0762デフォルトの名無しさん2008/02/05(火) 05:00:10
WPFのRichTextBoxの行間がデフォルトで二行分空いているようなんですが
一行にするにはどうしたらいいんでしょうか
0763デフォルトの名無しさん2008/02/05(火) 09:21:47
それは行間じゃなくて段落間じゃないか?
なら Pragraph.LineHeight 辺り
0764デフォルトの名無しさん2008/02/05(火) 16:51:27
XAMLってソースコードを自動生成するんじゃないの?
パーシャルクラスの片割れ見てもXAMLで書いたことがほとんど反映されてない
XAMLで書いたことをソースコードで実現するためにどうすればいいかってのは
自分でちゃんと調べるしかないのかな?
0765デフォルトの名無しさん2008/02/05(火) 19:08:32
>>764
ビルド後に、obj フォルダの中身を見てみ。
0766デフォルトの名無しさん2008/02/05(火) 21:57:03
>>765
どれ?
g.cs のこと?
これにはXAMLで書いた情報はほとんど入ってないよ
0767デフォルトの名無しさん2008/02/05(火) 22:12:30
ああ、XAML 相当の C# コードを知りたいって話だもんね。
それは生成されない。

.xaml から、.g.cs に
XAML 中の Name 付き要素に相当するメンバと、
XAML を実行時にロードするコードが自動生成される。

.xaml 自体は、バイナリ化(.baml)されて、リソースに格納される。
0768デフォルトの名無しさん2008/02/07(木) 09:17:55
マイクロソフト、新開発言語「D」を開発中
ttp://japan.cnet.com/news/ent/story/0,2000056022,20366701,00.htm
0769デフォルトの名無しさん2008/02/07(木) 09:28:28
>>768
それ、GUI には関係ないよ。
WF/WCF 系統の技術だし。
0770デフォルトの名無しさん2008/02/07(木) 11:48:02
Silverlightで初めてXAMLを触ったんだけどさっぱり分からない。

触る前に何となくイメージしてたのは、例えばムービーの一覧表示みたいな画面で、XAMLの
何かに項目数を指定してから、個々のコンテンツのサムネイル、名前、説明みたいなデータ
を流し込んで効果の実行を指示すると、凝った効果でコンテンツの一覧が表示されて、XAML
を入れ替えるだけでJavaScript側の変更なしに見た目がガラッと変わるみたいなものだった。

けど、実際やってみるとJavaScriptのソースに直接XAMLを書いておいて処理してから流し込む
ような事が多くて、XAML入れ替えただけじゃ済まない感じ。
これのどこがUI分離なのかさっぱり分からない。
XPathとかバインディングとかあるらしいけど、これを使えば状況が変わるんだろうか?
0771デフォルトの名無しさん2008/02/07(木) 11:51:17
>>770
WPF だとデータバインディング使って分離できるんだけど、
Silverlight だと WPF のサブセット取るときにデータバインディングが消えたのよね。
0772デフォルトの名無しさん2008/02/07(木) 12:36:26
>>771
そうなのか……。Javaだと思ってたらJavaScriptだったみたいな気分です。

ついでにお尋ねしますが、さっきの例で項目の雛型をXAMLの中で記述して、
それをJavaScriptでまとめて読み込んで、必要な数だけコピーして、変更が
必要な要素だけ変更してからXAMLに再度流すような事はできますでしょうか?
せめて、デザイン的な微調整はXAMLの編集だけで済むようにしたいと思って
いるのですが。我儘ですみません。
0773デフォルトの名無しさん2008/02/07(木) 12:50:41
やれないことはないと思うけど、
正直、Silverlight 2.0 を待った方がいいかもしれない。
DLR 搭載と同時に、WPF チックなコントロールが追加されるらしいんで。

1.0 は、TextBlock 以外は Shape 系の要素ばっかりだし。
WPF のウェブ版じゃなくて、Flash アニメみたいなのを描くツールにしかなってない。
0774デフォルトの名無しさん2008/02/07(木) 12:51:59
Downloader オブジェクトを使って、サーバ側のXAMLを取くるのならできるけど
0775デフォルトの名無しさん2008/02/07(木) 12:53:28
あとは取ってきた XAML を CreateFromXaml で Contents にロードすればいいお
0776デフォルトの名無しさん2008/02/07(木) 13:13:05
2.0はまだまだ先のようなので色々試してみます。
ありがとうございました。
0777デフォルトの名無しさん2008/02/08(金) 08:41:27
ttp://ufcpp.net/study/dotnet/index.html#wpf

ここ見れば基本的なことは全部書いてあるじゃん
すごく時間を無駄にしたよ
テンプレに入れといてくれよ
0778デフォルトの名無しさん2008/02/08(金) 09:15:28
本人の宣伝乙
0779デフォルトの名無しさん2008/02/08(金) 09:35:53
本人の宣伝じゃねーよ
くだらん
0780デフォルトの名無しさん2008/02/08(金) 09:39:45
本人の宣伝としてもありがとう
0781デフォルトの名無しさん2008/02/17(日) 21:35:27
WPFでDataGridView相当のを自作しようと思ったらXAML直書きしないと駄目なん?
VS2008のデザイナでそれはキツい……
その内プラグインとかで強化されるかなあデザイナ
0782デフォルトの名無しさん2008/02/17(日) 22:23:18
>>781
ListBox + ItemTemplate かなぁ。

でも、↓こんなのならある。
http://blogs.msdn.com/hiroyuk/archive/2007/01/26/xceed-datagrid-for-wpf.aspx
0783デフォルトの名無しさん2008/02/17(日) 22:26:38
>>781
3月のMIXで発表あると思うよ。

ttp://blogs.msdn.com/aonishi/archive/2008/01/28/scott-guthrie-2008-1-20.aspx
07847832008/02/17(日) 22:28:25
ああ、デザイナが強化されるって話じゃなくて今後追加される標準コントロールの話ね。
0785デフォルトの名無しさん2008/02/18(月) 10:35:52
>>783
WPF にリボン突っ込む宣言ktkr
07867812008/02/19(火) 21:58:24
>>782-783d
そもそもWPFのコントロールが足りねえのはアレかな、ブラウザとの絡みかねやっぱ
でも.NET1.1時代に逆戻りした感じ
>>782のコンポーネントはよさげであるけども、改造する必要が出て来た時に躊躇しちまいそう
やっぱ最初にVS2008に色々期待しすぎたかねえ
補完が強力なのは解るけども、それでもXAMLのTemplateとかごちゃごちゃ書きたくねえよ
オレみたいなお手軽プログラマ向けに、敢えてXAML排除したサンプルとか落ちてないものか
0787デフォルトの名無しさん2008/02/19(火) 22:04:21
XAML使わないと超面倒
0788デフォルトの名無しさん2008/02/20(水) 01:10:49
IE専用なのコレ?
0789デフォルトの名無しさん2008/02/20(水) 01:14:22
んなことない。単体アプリ作れる
0790デフォルトの名無しさん2008/02/20(水) 19:41:43
XBAP としても動く必要があるからなぁ
07917812008/02/20(水) 23:07:07
>>787
アレより面倒なのかよ!!!
つか折角C#3.0がスクリプト方面つーかイイ意味でいい加減になってきてるっつーのに
M$は開発を一体どうしたいんだ
0792デフォルトの名無しさん2008/02/20(水) 23:09:09
XAMLはポトペタより高度なことが出来るのは確か
しかし使いにくい
0793デフォルトの名無しさん2008/02/20(水) 23:33:26
BlendとVSのXAMLエディタの中間ぐらいのツールがあればいいんだな。
0794デフォルトの名無しさん2008/02/22(金) 02:45:38
むしろBlendがVS2008に吸収されるモンだと思ってた俺
てか言語仕様どうでもいいから普通に使う分には十分な設定が自動生成されて欲しい
それで足りない分は直いぢりも吝かではない
0795デフォルトの名無しさん2008/02/22(金) 16:30:57
htmlのいい部分の要素を取り入れようと設計したのなら、
直書きしても簡単でなければならない。
その目標は達成できなかったようだ。
0796デフォルトの名無しさん2008/02/22(金) 17:16:13
直書き自体は難しくないんだが
コントロールがデフォルトで真っ白で
枠を付けるにもBorderタグを直書きしなきゃいけないとか
なんかめんどい
拡張性を高めていろいろ出来るようにしたけど
結局複雑になりすぎてちょっとしたこともやりにくいみたいな感じだ
0797デフォルトの名無しさん2008/02/22(金) 17:43:39
MS的には自分でUIデザインまでやるなってことなんだろ。
コード書きの片手間にやるには複雑すぎる。
デフォルトで完成させたところで、XAML専門のXAMLerに投げられれば一番いいね。
0798デフォルトの名無しさん2008/02/22(金) 18:42:15
http://www.atmarkit.co.jp/fdotnet/basics/xaml02/xaml02_03.html

これは素晴らしい記事だな
これでXAMLとおさらばできそうだ
0799デフォルトの名無しさん2008/02/23(土) 00:29:32
すれば
0800デフォルトの名無しさん2008/02/23(土) 03:54:40
XAML を使わずに WPF アプリを作るのは
Windows Forms エディタなしで Windows Forms アプリを書くより
コード量的に辛そうなんだがw

いくら partial class で分離できるとはいえやりたくないな
0801デフォルトの名無しさん2008/02/23(土) 08:40:05
C# 3.0 なら、
new StackPanel {
 Children = new UIElementCollection {
  new Button { Content = "button 1" },
  new Label { Text = "label 1" },
 }};
みたいな書き方できて、XML と大差なかったりもする。
ただ、Binding みたいにマークアップ拡張使うものはこれだと書けない。
0802デフォルトの名無しさん2008/02/23(土) 12:37:00
いまさらな疑問だけど、
VS2008とExpression BlendはWPFで作られてるの?
0803デフォルトの名無しさん2008/02/23(土) 12:45:55
>>802
Expression BlendはWPFで作られてる。

VisualStudioは、
外側はC++ネイティブ、
プロジェクト設定の画面とかはWinForms、
WPFポトペタ製作画面はWPFという感じにキメラ。

Spy++で見てみると分かりやすい。
0804デフォルトの名無しさん2008/02/23(土) 14:01:54
>>803
サンクスです。
あれが作れると思うと勉強にハリが出る。
0805デフォルトの名無しさん2008/02/24(日) 15:13:35
MSはExpression Blendで得たノウハウを公開すべきだ
0806デフォルトの名無しさん2008/02/25(月) 13:48:53
しかし Expression Blend の
XAML ソースを公開されてもやたら辛いだろうなw
0807デフォルトの名無しさん2008/02/25(月) 16:58:55
>>781
3.5のアップデートで追加されるってさ
.NET 3.5 Client Product Roadmap - ScottGu's Blog
http://weblogs.asp.net/scottgu/archive/2008/02/19/net-3-5-client-product-roadmap.aspx
WPF Control Improvements
Later this year we are also planning to release a number of new controls for WPF.
Included in the list we are working on are DataGrid, Ribbon, and Calendar/DatePicker controls.
0808デフォルトの名無しさん2008/02/25(月) 17:01:05
ってすまん、Datagridviewの方だったか…
0809デフォルトの名無しさん2008/02/26(火) 19:39:11
kaxamlのエディタがあまりにも軽快に動いてくれるものだから
(しかもXAML補完付きで!)
WPFでもこんなにきびきび動くエディタつくれるのかーと感銘を受けていたら
WindowsFormsHostだったというオチ。

Blendのエディタはきびきび感が足りない用に思う。
3.5SP1でどれくらい改善されるやら。
0810デフォルトの名無しさん2008/02/26(火) 21:06:35
Windows Formsでキビキビ動くエディタなんて作れるのか?w
0811デフォルトの名無しさん2008/02/29(金) 20:05:32
WindowsFormsHostの中身をWindows.Formsで書かないといけないわけはないじゃあないか
0812デフォルトの名無しさん2008/03/02(日) 23:15:18
そうだね。俺も書いて気づいた。
でもたとえば、ActiveXコントロールをホストするのに
間にWinFormsのクラスが挟まるのは気持ち悪い。
0813デフォルトの名無しさん2008/03/05(水) 17:30:18
開発環境ってVista?
XPでやるとテンプレートで作った時点でVS落ちるんだけど何かミスってる?
0814デフォルトの名無しさん2008/03/05(水) 17:50:32
Windows7は全部WPFで作られるんだよね?
0815デフォルトの名無しさん2008/03/05(水) 18:06:11
意味わかんねぇ。
0816デフォルトの名無しさん2008/03/05(水) 20:42:42
Pentium DだけどGPUがオンボードだからかBlendが重すぎて使い物にならない
描画処理をGPUで処理するかCPUで処理するか選べるようにならないのかな?
0817デフォルトの名無しさん2008/03/05(水) 21:06:22
>>816
遅いのはPentium Dだからだろ
0818デフォルトの名無しさん2008/03/05(水) 22:28:57
オンボードとかお話にならない
0819デフォルトの名無しさん2008/03/06(木) 01:20:29
Wii and WPF
0820デフォルトの名無しさん2008/03/06(木) 14:48:21
>>816
Blendはどんな廃スペックPC用意しても、
入力に対するレスポンスが目に見えて遅れるので心配するな。
0821デフォルトの名無しさん2008/03/06(木) 23:26:41
MIX08 KeynoteのWPFのbitmap effectsのデモ、これ結構楽しみになってきた。
http://visitmix.com/blogs/Joshua/Day-1-Keynote/
の 02:08:20 辺りから。
0822デフォルトの名無しさん2008/03/07(金) 04:24:15
XElementかなんかを組み合わせてXAML生成しようと思うんだけど
それを動的にコンパイルするにはどうすればいい?
0823デフォルトの名無しさん2008/03/07(金) 04:31:23
XamlReaderクラス?
0824デフォルトの名無しさん2008/03/07(金) 08:32:20
でいいんじゃね。
0825デフォルトの名無しさん2008/03/07(金) 11:29:49
>>823
なるほどありがとう
0826デフォルトの名無しさん2008/03/15(土) 13:37:00
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている

糞だけど、政治的な理由で無理やり使わされているんですよね
もういい加減、我慢するのはやめませんか?

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
0827デフォルトの名無しさん2008/03/15(土) 15:55:12
Eclipseのことですねわかります
0828デフォルトの名無しさん2008/03/15(土) 23:34:28
Borland製品だと思うよ。Togetherとか最悪。
0829デフォルトの名無しさん2008/03/16(日) 22:06:18
ディスプレイの解像度を取得する方法を教えてください
0830デフォルトの名無しさん2008/03/18(火) 00:06:30
>>828
うぅむそうなのか?
大昔にセミナーで見た時にゃー画期的だと思ったもんだが

>>829
つScreenクラス
0831デフォルトの名無しさん2008/03/19(水) 18:52:23
ScreenはWinFormsのクラスですよね
WinFormsを使わずにやる方法は無いものかと
0832デフォルトの名無しさん2008/03/19(水) 23:22:20
デスクトップの解像度はWPF関係ないしP/InvokeでAPI呼び出せば?
0833デフォルトの名無しさん2008/03/20(木) 03:06:47
てかそれ以前にScreen.PrimaryScreenはスタティックなんだが
別にForm派生内でしか使えない訳じゃないよ
0834デフォルトの名無しさん2008/03/20(木) 18:09:09
>>833
ほとんど使わないSystem.Windows.Forms.dllを参照するのが嫌だって事じゃね?
0835デフォルトの名無しさん2008/03/21(金) 00:15:58
そんな気にするような事じゃないとは思うがまあいいや
つーかよくよく考えたら、ディスプレイ解像度切り替えるのは自分なんだから解らん方が変じゃね?
もしWindowStyle&WindowStateでのフルスクリーンの話なら
つActualWidth&ActualHeight

但し、俺んとこで実験してみたら何故か多めの数字が出た
検証めどいから誰か頼んだ
0836デフォルトの名無しさん2008/03/25(火) 20:48:00
自動生成されるhoge.g.i.csのgとiって何の略なの?
0837デフォルトの名無しさん2008/04/03(木) 12:54:38
>>836
generated / internal と予想
0838デフォルトの名無しさん2008/04/07(月) 14:32:43
結局WPFでまともなアプリ開発してるやつおるん?
XCEEDのなんたらGridみてもどうみても、もさもさなんだが。
テキストのリストビューが、DataTemplateを加えるだけで素敵なレイアウトのリストになってあら不思議なのはいいんだが、実際の使い勝手とそれを開発する工数の本質とあまり関係なくはないけどないような・・・
0839デフォルトの名無しさん2008/04/07(月) 16:14:26
基本コントロールもサンプルも少ないから使う気にならん
0840デフォルトの名無しさん2008/04/07(月) 17:55:52
これってゲームとかに向いてるの?
RPGとかノベルとかまったり目の
0841デフォルトの名無しさん2008/04/07(月) 17:55:57
そもそもデスクトップアプリを開発する需要が激減してるんだから、
WPFだろうが何だろうが新たに覚えようという人も殆どおらんだろう。
みーんなWebに行っちまった。
0842デフォルトの名無しさん2008/04/07(月) 19:28:20
そのためのXBAPです
まあ煩雑杉オワタなのは変わらんけど
0843デフォルトの名無しさん2008/04/07(月) 19:50:02
結局Webアプリでどうしても出来ないローレベルアクセスが必要なものを
「仕方なく」ローカルマシンで動かすだけで、あとは全部Webに乗せる時代だからな。

「仕方なく」ローカルPCにインストールするWebアプリはAIRで。
WebアプリをリッチにするほうはFlash、3歩遅れてSilverlightで。
もうフルセットWPF&XBAPなんか出る幕は無いだろうね。
0844デフォルトの名無しさん2008/04/07(月) 20:26:12
Webとか餓鬼のおもちゃだろ
0845デフォルトの名無しさん2008/04/07(月) 20:36:31
今普段使ってるアプリ、
ブラウザー、開発環境、ファイラーなどなど、わざわざWebアプリとして動く意味がわからん。
データがあっち側にあるのはいいかも知れんけど。
0846デフォルトの名無しさん2008/04/07(月) 20:50:49
ExpressionのExpress Edition作って無料配布すれば統一的に各アプリをユーザー側でスキン作成できていいと思うんだけども。
WinampとかJaneとか。XAMLPadとかじゃめんどくさいだけだし。
0847デフォルトの名無しさん2008/04/07(月) 20:58:44
ButtonのContentにDateTimeを入れるような場合、Buttonに表示されるDateTimeの書式指定を変えたいような場合はどうしたらいいんざんしょ・・・
0848デフォルトの名無しさん2008/04/07(月) 21:46:00
IValueConverterかな
0849デフォルトの名無しさん2008/04/07(月) 23:51:50
FormのClientRectangleみたいに
ウィンドウの中身をピッタリ例えば640*480にするにはどうすればいいの?
0850デフォルトの名無しさん2008/04/08(火) 05:09:28
AIR対抗のSilverlight for Desktopが出る可能性があるから、
そっち待ったほうがいいかなーって思っちゃうんだよな。
SLのほうが軽いし他のOSでも動くし……。
AIRはコード書きにくいから期待してる。
0851デフォルトの名無しさん2008/04/08(火) 07:47:56
SilverLightで住むやつはそっちのほうがいいかもね。
2.0だとWPFとどれだけ違うんざんしょ。
0852デフォルトの名無しさん2008/04/08(火) 08:42:25
>>849
自分で微調整
0853デフォルトの名無しさん2008/04/08(火) 20:03:53
ウィンドウハンドル取得してAdjustWindowRectは可能だろうか?
0854デフォルトの名無しさん2008/04/08(火) 20:16:24
サイズがなんピクセルとか考えなくて済むのがWPFでふぁ
0855デフォルトの名無しさん2008/04/09(水) 01:50:45
それはない
■ このスレッドは過去ログ倉庫に格納されています