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

WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5

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

Visual Studio 2008
ttp://www.microsoft.com/japan/msdn/vstudio/
Microsoft .NET Framework 3.5 Service Pack 1
ttp://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=ja
WPF Toolkit - June 2009 Release
ttp://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29117
Visual Studio 2010
ttp://www.microsoft.com/japan/msdn/vstudio/2010/overview/

関連スレ
Microsoft Silverlight その4
ttp://pc12.2ch.net/test/read.cgi/tech/1244812356/

過去スレ
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1245384489/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1231506876/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング
ttp://pc11.2ch.net/test/read.cgi/tech/1211453941/
【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
ttp://pc11.2ch.net/test/read.cgi/tech/1162950198/
0044デフォルトの名無しさん2009/12/28(月) 10:31:58
リッチなUIを目指して設計されたんじゃないの?
見た目は重要な要素だと思うけど
0045デフォルトの名無しさん2009/12/28(月) 10:43:46
>>44
アニメーションがストレスを軽減するのはMacやiPhoneが実証している
実時間が長くても、見た目フリーズしてないだけでもイライラは抑えられるってこと
XP時代のGUIはキビキビ動くし隣に並べての比較でVistaに比べて早いことがアピールされてたけど、
実際Vistaだけ使ってると快適に感じるのと一緒(操作性は別として)
0046デフォルトの名無しさん2009/12/28(月) 11:34:18
ただ待たせるよりプログレスバー出したりスプラッシュスクリーンだしたりするだけで
具合がちがうってのは割と一般的なのにな。
0047132009/12/28(月) 12:10:55
>>13
自己レスになりますが、動画編集に使うようなタイムラインコントロールはなさそうですね。
ExpressionBlendで使われているので標準であるものかと思っていたのですが・・・
0048デフォルトの名無しさん2009/12/28(月) 13:54:56
mac使って帰ってくると、なんつー雑なUIなんだ(例:windowsカレンダーとかlive writerとか・・・)って感じするからな
静止画的な見た目はむしろWinFormsでも張り合えるけどね
0049デフォルトの名無しさん2009/12/28(月) 14:44:46
ユーザーインターフェイスの話と
UIフレームワークの話とは全くの別物だべ。
0050デフォルトの名無しさん2009/12/28(月) 15:02:35
は?
0051デフォルトの名無しさん2009/12/28(月) 15:06:42
デザイン(見た目)そのものは作り手のセンスとスキル次第でどうとでもなるかんね。
フレームワークの良し悪しとはあんまり関係ない。
0052デフォルトの名無しさん2009/12/28(月) 15:11:41
もうちょっと勉強したほうがいい
0053デフォルトの名無しさん2009/12/28(月) 17:11:06
この世で最も非生産的な突っ込みだな。
0054デフォルトの名無しさん2009/12/28(月) 17:36:25
FormとWPFでどっちが良い見た目を簡単につくれるかもわかんないのか
0055デフォルトの名無しさん2009/12/28(月) 18:08:40
オナニーUIがなしたって?
0056デフォルトの名無しさん2009/12/28(月) 18:22:23
オナニーじゃ済まされないからフレームワークが必要
0057デフォルトの名無しさん2009/12/28(月) 18:28:00
たしかに雑なUIのほうがオナニーに近い気はする
まあそういう意味で「オナニーUI」って言ってるんじゃないだろうけど
0058デフォルトの名無しさん2009/12/28(月) 18:34:36
アニメーションとかも使い所間違うとストレスたまる一方だよな。
どういう局面ではどういうデザインが効果的かとかの
WPFガイドラインみたいなのってもう出てるんだろか。
0059デフォルトの名無しさん2009/12/28(月) 18:42:02
wpfっていうだけでストレスになってる人も多そうだw
0060デフォルトの名無しさん2009/12/28(月) 19:25:41
むしろ「WPFだからっつってむやみにアニメーション使うな」
というガイドラインなら出されてる
http://msdn.microsoft.com/ja-jp/library/aa511329.aspx
0061デフォルトの名無しさん2009/12/28(月) 20:02:30
>>60
おー
こういうのは結構助かる。
0062デフォルトの名無しさん2009/12/28(月) 21:24:42
長ったらしいアニメーションはストレスだからなー
きびきび0.2秒くらいで遷移してくれるならいいけど
0063デフォルトの名無しさん2009/12/28(月) 21:34:53
writeableBitmapって書き込んだのがそのまま表示されるの?
なんだか妙な変換されてるような気がしてならないんですけど
0064デフォルトの名無しさん2009/12/28(月) 21:54:54
PixelFormatによる
0065デフォルトの名無しさん2009/12/28(月) 22:05:05
ありがとう
妙な変換されないようにしたいんだけどどれ選べばいい?
0066デフォルトの名無しさん2009/12/28(月) 22:29:33
変換だろ? ならオリジナルのbitmapsourceのformatをそのまま押し込んでやればいい
0067デフォルトの名無しさん2009/12/28(月) 23:22:38
>>59
使う人にとってはWPFだろうが何だろうが関係ないが、
ある程度高機能なアプリをWPFで作ったら
推奨環境は平気でCore2Duo 3GHz以上になっちゃうんじゃないだろうか?
0068デフォルトの名無しさん2009/12/28(月) 23:23:56
>>67
重要なのはDirectXのハードウェアサポートだろう
0069デフォルトの名無しさん2009/12/28(月) 23:44:46
>>67
イメージしてる「高機能」がどのリソース使うのかわかんないからなんともいいようがないけど
個人的にはクロスプラットフォームのDTM系のソフト(いわゆるDAW)が社内で内製するような
ux重視のライブラリみたいなもんをMSが用意したという感じで捉えてる
こういうのは昔からリッチなGUIと高機能を同時に提供してた
wpfみたいなもんてどう使うのとかいう向きは一度この手のソフトを弄ってみるといいと思う
0070デフォルトの名無しさん2009/12/29(火) 01:00:22
WPFを会社で使い始めたんだがマジストレス溜まる。
なんでこんな継ぎ足しみたいな酷い設計になってるんだ?
思想自体は悪くないし、むしろ応援したいくらいなんだが、
内部の設計がお粗末すぎないかこれ。
ちょっとサンプルより凝った事しようとすると途端に辻褄合わせに苦労する。
そもそもサンプルも例外出まくってるし。

何でもかんでもTemplateって言えばいいってもんじゃねーぞw
皆すげーな。
アーキテクチャの理解に二週間くらい戦ってるが未だによく分からん。
0071デフォルトの名無しさん2009/12/29(火) 01:08:06
みんな手探りですよ、と
ぶっちゃけ例外はログとって握りつぶそうぜw

はやくまともな日本語の本出ないかなぁ
0072デフォルトの名無しさん2009/12/29(火) 01:38:08
綺麗なGUI作れそうだな〜思うけど
情報が出揃うまではFormsで十分かなって思ってしまう。
0073デフォルトの名無しさん2009/12/29(火) 01:38:53
3か月から半年付き合えばすらすら〜って書けるようになるよ。
0074デフォルトの名無しさん2009/12/29(火) 01:54:51
MVVMはFormsでもリフレクションつかってやってたからすんなりいけた
XAMLもそれほど問題はない
が、なにぶんWPFは開発環境が重すぎるw
もうちょい何とかしてくれorz
0075デフォルトの名無しさん2009/12/29(火) 12:14:43
'System.IO.FileNotFoundException' の初回例外が mscorlib.dll で発生しました。
'System.IO.FileNotFoundException' の初回例外が PresentationCore.dll で発生しました。

気持ち悪い
0076デフォルトの名無しさん2009/12/29(火) 12:57:52
例外処理しなよ
0077デフォルトの名無しさん2009/12/30(水) 01:08:58
日本語の本だが、βを対象に書いていたchris cellsの本は、
βゆえに記述は古いけれど内容はいい。
これにエッセンシャルWPFを組み合わせて設計思想をつかんだら
あとはMSDNとblogあさりでいい。
0078デフォルトの名無しさん2009/12/30(水) 02:19:31
赤坂玲音っつー人の本は、
あえてほとんど全てのサンプルコードがC#コードでの記述になっていて、
XAMLの解説は最終章でちょっとだけという構成なのでまあこれはこれでありがたいと思った。
WPFはちょっと深入りするとコード側から記述せざるを得ないことも多いから。

ただサンプルの文字出力やメッセージ文が
「宇宙人、異世界人、超能力者」とか「ただの人間には興味ありません」とか
「ジャンクにしますよ」とかばっかりなので、そういうセンスが鼻につく人も多いだろうな。
0079デフォルトの名無しさん2009/12/30(水) 02:21:04
wpfのバインディングのデバッグってどうしいたらいいんですかねえ。
xamlのインテリセンスが効かないこともあって、ElementNameうち間違ったり
すると絶望的なんですが。
0080デフォルトの名無しさん2009/12/30(水) 10:23:54
名前が見つからないってエラー出るだろ
0081デフォルトの名無しさん2009/12/30(水) 14:18:16
なるほど。デバッグ出力を見ればいいのか。
でも、これだけを頼りでは大変すぎ。
名前間違いならエラーも出るけれど、複雑なバインディングで構造違いだったり
参照違いだったりの場合はエラーも出ないですし。

0082デフォルトの名無しさん2009/12/30(水) 14:59:25
俺らに言われてもな。どうしろと?
0083デフォルトの名無しさん2009/12/31(木) 22:55:38
ttp://karlshifflett.wordpress.com/mvvm/wpf-line-of-business-introduction/
ttp://karlshifflett.files.wordpress.com/2009/01/wpflobmvvm1.png

このBusiness LayerとModelの関係がいまいちイメージ出来ません。
メモ帳のようなSDIアプリを例にすると、どういう感じになるのでしょうか?
0084デフォルトの名無しさん2010/01/01(金) 11:16:24
>>83
メモ帳には無縁の世界
0085デフォルトの名無しさん2010/01/02(土) 20:28:47
>>83
Modelが文字のバッファで、
Business Layerは、文字の切り取り/貼り付けといったメモ帳の機能。
0086デフォルトの名無しさん2010/01/09(土) 11:39:06
WPFつくりずらいな
一回コンパイル失敗すると二度と通らなくなったりする
0087デフォルトの名無しさん2010/01/09(土) 12:04:16
それは流石に使う側の問題だと思う
0088デフォルトの名無しさん2010/01/10(日) 05:11:41
Popupが使いにくすぎる。Primitivesの癖に…
0089デフォルトの名無しさん2010/01/15(金) 00:06:39
折れ線を描くのはどうすればいいですか?
0090デフォルトの名無しさん2010/01/15(金) 00:27:29
Polyline
0091デフォルトの名無しさん2010/01/15(金) 00:49:21
ありがとう
DrawingGroupで使えないんだ
0092デフォルトの名無しさん2010/01/15(金) 01:19:43
http://msdn.microsoft.com/ja-jp/library/ms750410.aspx
0093デフォルトの名無しさん2010/01/15(金) 11:23:28
ありがとう、ためしてみる
0094デフォルトの名無しさん2010/01/15(金) 12:01:18
Imageって座標がマイナスだと勝手に全体を移動させてしまうのね
0095デフォルトの名無しさん2010/01/15(金) 13:31:20
>>94
???
0096デフォルトの名無しさん2010/01/15(金) 14:20:51
(-10, -10)に字を書くと(-10,-10)が左上角に表示されるように全体が右下方向に移動した
座標が大きいときは表示されないのに
0097デフォルトの名無しさん2010/01/15(金) 15:01:43
地球を一周させれば元にもどる( ・ω・)y─┛〜〜
0098デフォルトの名無しさん2010/01/15(金) 16:14:47
やっとわかった
DrawingGroup.ClipGeometry設定すればいいのか
とりあえず97は地球七周半してこい
0099デフォルトの名無しさん2010/01/17(日) 17:57:07
1秒かかりますが
0100デフォルトの名無しさん2010/01/17(日) 18:29:20
97から見れば0秒なので問題ない
0101デフォルトの名無しさん2010/01/18(月) 10:34:35
地球七周半というのは都市伝説なのに(´・ω・`)
0102デフォルトの名無しさん2010/01/18(月) 12:12:10
>>101
なんで?
光の速さが秒速30万kmで地球の赤道付近の円周が約4万kmだから
ほぼ7.5周じゃん?
0103デフォルトの名無しさん2010/01/18(月) 12:14:59
>>102
・光は地表に沿って曲らない
・真空じゃない

ようするに揚げ足とり。
0104デフォルトの名無しさん2010/01/18(月) 13:05:11
光にスピードなどありません。すべて一瞬です
0105デフォルトの名無しさん2010/01/18(月) 13:14:30
光の速度とWPFの関係について140字以内で述べよ。(10点)
0106デフォルトの名無しさん2010/01/18(月) 13:16:47
WPF → WPF/E → Silverlight → 銀の光
0107デフォルトの名無しさん2010/01/18(月) 15:27:54
1 8  3  6\
 × × ×   5
9 2  7  4/

上記のように点を数字順にたどるgeometryを定義して
閉じた部分をそれぞれちがう色で塗りつぶしたいのですがどうすればいいですか?
0108デフォルトの名無しさん2010/01/18(月) 15:36:50
WPFと関係あるのか??
0109デフォルトの名無しさん2010/01/18(月) 21:58:01
linergraなんとか使えば?
自動で塗り分けろ? じゃあ仮にそういう機能があったとして、どの場所が何番目の色ってどうやって指定するつもりだい
0110デフォルトの名無しさん2010/01/18(月) 22:44:36
linergradientbrush?
よくわかんない

しゃーない
交点探してチマチマやるか
0111デフォルトの名無しさん2010/01/18(月) 22:57:41
いつのまにかFirefoxがXBAP WPFブラウザアプリ非対応になってやんの。
さっさとSilverlightに代替えしろってか。まあWCF対応バインディングも増えたし。
0112デフォルトの名無しさん2010/01/19(火) 11:55:31
grid で showgridlines プロパティを有効にして表示される線の種類を変えたいのですが・・・
簡単にはできないでしょうか?
0113デフォルトの名無しさん2010/01/19(火) 12:04:59
> グリッド線を有効にすると、Grid 内のすべての要素が点線で囲まれます。
> このプロパティはレイアウト上の問題をデバッグするためのデザイン ツールとして用意されているものであり、
> 製品品質のコードで使用するためのものではないため、点線以外は使用できません。
> Grid 内に線を表示するには、Grid 内の要素に対して境界線を含むスタイルを設定します。
0114デフォルトの名無しさん2010/01/19(火) 13:27:20
>>113
ありがとうございます。

諦めてセルになる部分にBorderとCanvasでも噛ませて中にコントロールでも突っ込みます。
0115デフォルトの名無しさん2010/01/21(木) 14:52:10
WPF初デビューでみなさまよろしこ

これってアプリなのに内部的にはクラサバもしくはJavaではよく聞くMVCモデル
で動いてるような物ですよね
つまりc#で描く側が鯖イメージでXAMLで書いたり表現するGUIがFormぽく振舞ってる
ブラウザというか
0116デフォルトの名無しさん2010/01/21(木) 14:55:21
概念はさほど重要ではない…いや重要か
.NET自体動作原理はVMに近いものだし
0117デフォルトの名無しさん2010/01/21(木) 14:59:19
>>116
結構重要だと思いますw

WPF以前のアプリだと密接でしたがWPFだとたとえばTreeViewにデータ流し込むにしても
やってることはC#で書いたListをどこかにあるDBのように見ますし

なんというかunixのXというかなんというか
0118デフォルトの名無しさん2010/01/21(木) 15:02:59
というかそんな中身はどうでもよくて重要なのはグラフィカルなGUIってところなんですが
参考になるサイトはないでしょうか?
0119デフォルトの名無しさん2010/01/21(木) 15:35:47
とってもVBだと思います
0120デフォルトの名無しさん2010/01/21(木) 17:15:53
Xとはじぇんじぇん違うと思います。
0121デフォルトの名無しさん2010/01/21(木) 21:39:37
XAMLとコードビハインドは普通は密結合だよ
Form1.Designer.csとForm1.csの関係に対応する
MVVMはもう一段上の概念
0122デフォルトの名無しさん2010/01/21(木) 22:19:38
MVVMやってるとコードビハインドを空にしたくなる病気が・・・
0123デフォルトの名無しさん2010/01/21(木) 22:31:50
コードビハインドはMVVM的にはViewの一部だからな
MVVMでいうビューとロジックの分離と,一般にWPFでいうビューとロジックの分離は意味が違う
0124デフォルトの名無しさん2010/01/21(木) 22:33:15
Xって…
0125デフォルトの名無しさん2010/01/21(木) 22:39:13
WPFやってるとモデル構築時からもう依存関係プロパテイで実装したくなる
0126デフォルトの名無しさん2010/01/22(金) 00:05:09
横長のグラフの一部をスライダーの動きにあわせて表示させるアプリをつくってみたんですが、
いくつか表示させるととても遅くなります

ImageコントロールにDrawContext使って描画することできそうだと思って
ImageのSourceにDrawingImageいれて、そのDrawingにDrawingGroupいれて、
Sliderが動くたびにDrawingGroupからDrawingContext取得して、DrawDrawingやDrawLineで描画してます

さて、もっとキビキビ動くアプリにするためにはどうしたらいいでしょう?
0127デフォルトの名無しさん2010/01/22(金) 00:08:01
まずは認識を改めようか
「DrawingContextは遅い」
0128デフォルトの名無しさん2010/01/22(金) 00:17:42
orz

どうすればいいですか?
何を使えば早いですか?
0129デフォルトの名無しさん2010/01/22(金) 00:23:41
WriteableBitmapは?
0130デフォルトの名無しさん2010/01/22(金) 00:30:59
自分で点を打っていくんですか・・・くたびれるなぁ
0131デフォルトの名無しさん2010/01/22(金) 00:32:48
RenderTargetBitmap使って適当にキャッシュしたら
0132デフォルトの名無しさん2010/01/22(金) 00:40:59
Bitmapをいっぱいつくるってことなんですかね?
トライしてみます
ありがとう
0133デフォルトの名無しさん2010/01/22(金) 00:59:50
Evernote3.5のクライアントってWPFなんだな
0134デフォルトの名無しさん2010/01/22(金) 01:33:04
>>118
ここぐらいかな。
http://ufcpp.jp/study/dotnet/wpf_abst.html

残念ながらWPFの解説サイトは非常に少ないのでMSDNのサンプルを見ながら勉強するのが一番いいと思う。
http://msdn.microsoft.com/ja-jp/library/ms754130%28VS.80%29.aspx

あとは書籍とか。
0135デフォルトの名無しさん2010/01/22(金) 01:35:35
解説より作例を見たいよね
0136デフォルトの名無しさん2010/01/22(金) 09:32:14
miniUML が MVVM の作例的にも非常に良く出来ているって聞いたぞ。
まだソース読んでないけど。

http://www.codeplex.com/miniuml
0137デフォルトの名無しさん2010/01/22(金) 09:34:13
>>136
それ、なにするもの?
0138デフォルトの名無しさん2010/01/22(金) 10:09:07
>>137
http://journal.mycom.co.jp/articles/2009/02/03/miniuml/index.html
0139デフォルトの名無しさん2010/01/22(金) 10:13:04
>>138
このスレにはやさしい人がいてうれしいな
ありがとう
0140デフォルトの名無しさん2010/01/22(金) 10:45:18
ソースからUML書いてくれるツールないかな
0141デフォルトの名無しさん2010/01/22(金) 13:02:23
>>140
あるよ。
JUDEの後継のastah* は Java/C#/C++のソース/UML間相互変換をサポートしてる。
ただし無料版はどれも不可だけど。

JUDEの時はJava出力に関してはフリー版でも出来たと思ったんだけどなぁ。
01421342010/01/23(土) 10:08:28
URLが間違っていたので訂正。
× http://msdn.microsoft.com/ja-jp/library/ms754130%28VS.80%29.aspx
○ http://msdn.microsoft.com/ja-jp/library/ms754130.aspx
0143デフォルトの名無しさん2010/01/23(土) 11:16:31
WPFでバルーンヘルプ出すにはどうしたらいいの?
教えて偉い人。
0144デフォルトの名無しさん2010/01/23(土) 11:36:30
Accordion+Binding+Resize時の4004エラー回避できぬ。
ぬぬぬぬ…。
■ このスレッドは過去ログ倉庫に格納されています