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

07367182008/01/11(金) 05:36:36
スレ違いスマソ・・・
0737デフォルトの名無しさん2008/01/11(金) 11:56:23
>>735
そのためのキーボード操作ではあるんだが……
慣れたユーザは今までも結局「画面など見ないで」Alt からのメニュー操作や
Ctrl-B などでのショートカットを使っていた訳で

この点は 2007 だと
・2007 Office system のキーストローク (リボン UI キー割り当て)
・Office 2003 のキーストローク (Office 2003 互換操作)
・ショートカットキー
が使える分手段が増えていたりする

Alt-H でホームに戻す→そのままボタンを押す、でも操作できる訳だから
タブ切り替えが面倒というのは、やっぱり大して慣れてないだけだと思う
0738デフォルトの名無しさん2008/01/11(金) 13:09:40
むしろ慣れてきてからタブ切り替えが面倒に感じたよ。
たとえばグラフや図を編集するとき、
以前はフローティングツールバーと標準ツールバーが同時に表示されていたけど、
今はグラフツール・図ツールのタブとホームタブを何回も往復しなきゃならん。
オプションのタブは作業ウィンドウとして右側に表示すべきだな。
0739デフォルトの名無しさん2008/01/12(土) 12:24:44
マイクロソフトに入社してUIなおしてこい
0740デフォルトの名無しさん2008/01/12(土) 12:51:22
>>738
その辺りは練り込みが一歩足りない感じはあるよな……
0741デフォルトの名無しさん2008/01/13(日) 02:53:07
WCFのことはこのスレじゃ駄目?
それとも他に良いスレあるかな?
0742デフォルトの名無しさん2008/01/13(日) 03:29:55
ここでも各言語スレでもどこでもいいと思うけど

答えられる人は少なそうだ(おいら含む
MSDNフォーラムもWCFは閑古鳥だしな
0743デフォルトの名無しさん2008/01/13(日) 10:30:28
WCFはともかく、WFやCardSpaceは全くいないな。.
俺的には3.0の機能より3.5の機能の方がはるかに多く使ってるよ。
0744デフォルトの名無しさん2008/01/13(日) 11:40:38
何に使えるのかわかりにくいからな
WPFは「見た目がよくなるのか〜」って使ってみる気になるんだが
0745デフォルトの名無しさん2008/01/18(金) 22:24:50
なんか使えるコントロールが少ないのが気になる
プロパティパネルがほしい
アップダウンもなくね?
0746デフォルトの名無しさん2008/01/19(土) 16:01:05
磨りガラスみたいな半透明効果はWPF/XAMLじゃなくてvista&DWMじゃないと標準では無理ですかね?
0747デフォルトの名無しさん2008/01/19(土) 16:46:49
BlurBitmapEffectとかOpacityMaskとかじゃ駄目なん?
0748デフォルトの名無しさん2008/01/19(土) 16:50:48
>>747
これだー!不透明で検索すればよかったのか…ありがとうございます
0749デフォルトの名無しさん2008/01/19(土) 17:21:46
そして、XP で実装した時のあまりの重さに絶望する >>748 であった
0750デフォルトの名無しさん2008/01/19(土) 17:51:19
>>749
……orz
自分の場合GPUが貧弱なんですが、XPの場合はってことはそういう問題ではないですか?
0751デフォルトの名無しさん2008/01/19(土) 18:11:11
XPでウィンドウを半透明にするのってGPU積んでようが結局CPU描画じゃないっけか?
0752デフォルトの名無しさん2008/01/19(土) 18:44:36
透過処理は.NET3.5でGPUのアクセラレーションが有効になったけど、それとは別の件ぽいですね
0753デフォルトの名無しさん2008/01/19(土) 20:58:45
一応 XP でも GPU アクセラレーションが効くのは 3.0 からだけど
XP の場合は Vista 程の恩恵がないので
ドラッグしてウィンドウを移動したり(ry で悲しくなるんじゃないかな
0754デフォルトの名無しさん2008/01/24(木) 18:25:07
XAMLでMenuItemのチェック状態に応じてStyleを変更したいんですがどうもうまくいきません。
<MenuItem Header="表示" IsCheckable="true" x:Name="Show" IsChecked="false"/>
<Window.Style>
<Style>
<Style.Triggers>
<Trigger Property="MenuItem.IsChecked" SourceName="Show" Value="true">
<Setter .../>
</Trigger>
<Style.Triggers>
</Style>
<Setter .../>
</Window.Style>
ってやると
「Style.Triggers セクション内で SourceName プロパティを設定できません。」
と怒られてしまいました。
何か解決策はありませんか?
0755デフォルトの名無しさん2008/01/26(土) 23:11:39
>>754
MenuItem に対してスタイルを指定すればいい。

<Style TargetType="{x:Type MenuItem}">
  <Style.Triggers>
    <Trigger Property="IsChecked" Value="True">
      <Setter .../>
    </Trigger>
  </Style.Triggers>
</Style>
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

但し、俺んとこで実験してみたら何故か多めの数字が出た
検証めどいから誰か頼んだ
■ このスレッドは過去ログ倉庫に格納されています