WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5 at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
09/12/27 10:58:30
あたらしいユーザーインターフェースシステム、Windows Presentation Frameworkについ
て語るスレ。.NET3.5 SP1 もリリースされて盛り上がってまいりますた。

Visual Studio 2008
URLリンク(www.microsoft.com)
Microsoft .NET Framework 3.5 Service Pack 1
URLリンク(www.microsoft.com)
WPF Toolkit - June 2009 Release
URLリンク(wpf.codeplex.com)
Visual Studio 2010
URLリンク(www.microsoft.com)

関連スレ
Microsoft Silverlight その4
スレリンク(tech板)

過去スレ
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
スレリンク(tech板)
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
スレリンク(tech板)
WPF(XAML,XBAP,.NET3.5)GUIプログラミング
スレリンク(tech板)
【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
スレリンク(tech板)

2:デフォルトの名無しさん
09/12/27 12:19:27
今年こそWPFを習得するぞ!!

3:デフォルトの名無しさん
09/12/27 12:39:04
今年の抱負ですね

4:デフォルトの名無しさん
09/12/27 12:46:28
>2>3
残り、5日ですね。

5:デフォルトの名無しさん
09/12/27 13:17:10
それを言っちゃあ、おしめえよ

6:デフォルトの名無しさん
09/12/27 14:18:37
なあに、5日もあれば十分さ

7:デフォルトの名無しさん
09/12/27 14:26:06
諦めるには3日あれば十分さ。

完成度の低さを悟るには3分、
全体の出来の悪さを悟るには3時間あれば十分だけどな
(特にXAMLエディタとコントロールのなさ)。

8:デフォルトの名無しさん
09/12/27 15:27:57
わからなくて悔し泣きしてる人

9:デフォルトの名無しさん
09/12/27 15:29:07
コントロールとか自分で作れよ
作れるんだから

10:デフォルトの名無しさん
09/12/27 15:32:27
足りないコントロールって例えばなんだっけ
そこの頭の足りなそうな人、上げてくれるかな

11:デフォルトの名無しさん
09/12/27 15:33:56
PropertyGrid はほしいと思った

12:デフォルトの名無しさん
09/12/27 15:37:46
>>11
これとかダメなの?
URLリンク(www.codeplex.com)

13:デフォルトの名無しさん
09/12/27 15:57:33
タイムライン(できればFlashのような)を扱うコントロールってあるでしょうか?

14:デフォルトの名無しさん
09/12/27 15:59:26
>>12
使ってみたことあるけれどもいまいち

15:デフォルトの名無しさん
09/12/27 16:23:09
まあでもFormに比べると習得難度の高さはネックだよなぁ。
ポトペタするだけならWPFじゃなくたっていいやってなるし。

16:デフォルトの名無しさん
09/12/27 16:36:14
Formに比べて敷居が高くなっていた上、習熟しても手間が増えることには変わらない。
ツールの支援もションボリだし、4.0にならないと標準でテーブル部品すらない。
かといって「これがないとできないことが」という代物じゃない。
MSは一体どうしたいんだろう、コレを。

17:デフォルトの名無しさん
09/12/27 16:44:01
Aero Glass を駆使するアプリを作るのは Forms よりだいぶ楽かな

18:デフォルトの名無しさん
09/12/27 16:47:21
前スレだか前々スレで出てたけど、BtoBな業務システムでは致命的なぐらいおよびでないよね。
少なくとも今のところは。

19:デフォルトの名無しさん
09/12/27 17:08:35
blendよりリッチなツールの支援なんて他のプラットフォームにないだろ
2年前にウケた発言を繰り返す猿だな
外人はもう移行してるよ

20:デフォルトの名無しさん
09/12/27 17:18:14
外人移行してるかぁ????

21:デフォルトの名無しさん
09/12/27 17:21:11
まぁやりたくない人には無理に勧めなくてもいいでしょ
俺はおもしろいから移行するけど
とりあえず新しいもの勧めて最終的には客が決めればいいよ

22:デフォルトの名無しさん
09/12/27 17:31:46
今のところFormが廃止されるって話がでてるわけでもないし、
WPFは使いたい人が使うでいいんじゃね?

見た目が凝ってたほうが良い場合も大いにあるし。
開発者の習熟度合とあわせてゆっくり移行してけばいいさ。

まさかWindows7の次でWPF廃止なんてこともないだろうしな。

23:デフォルトの名無しさん
09/12/27 17:40:02
最終的にビットマップベースのUIのほうが生き残るなんてことはありえないよw

24:デフォルトの名無しさん
09/12/27 17:49:35
Vista発売当時 Vistaユーザ「XPが生き残るなんてことはありえないよw」

WPFにWinFormを駆逐するほどメリットは無いし、必須でもない。
新しもの好きが使う代物、で終わる可能性もある。

25:デフォルトの名無しさん
09/12/27 17:52:16
その例全然関係ないじゃん
だいたい「XPが生き残るなんてことはありえないよw」こんな発言聞いたことないわ
バカじゃないの

26:デフォルトの名無しさん
09/12/27 17:58:26
「ビットマップベースだと生き残れない」も全くの暴論、根拠皆無だがな。

27:デフォルトの名無しさん
09/12/27 18:01:47
廃止とか言っちゃってる人はプログラミングしたことないんじゃないだろうか

28:デフォルトの名無しさん
09/12/27 18:03:12
WinGみたいな過渡期の遺物になるやもしれん

29:デフォルトの名無しさん
09/12/27 18:07:36
formsが過渡期だよ
wpfが決定版になるかはわかんないけどね

30:デフォルトの名無しさん
09/12/27 18:13:43
最後に生き残るのはSilverlight

31:デフォルトの名無しさん
09/12/27 18:31:13
>>26
まあプリンタの歴史とかdirectorとflashどっちが残ったかとか考えるとわかるとおもうよ
暴論でもなんでもない話

32:デフォルトの名無しさん
09/12/27 18:40:43
詭弁の特徴のガイドライン
3:自分に有利な将来像を予想する
4:主観で決め付ける
6:一見関係ありそうで関係ない話を始める

まぁプリンタとWPFが同じことになるか、VistaとWPFが同じことになるか知らんが、
技術の動静など単体の要素で決まるものでなし、どっちも風桶の域をでない。

33:デフォルトの名無しさん
09/12/27 18:43:32
なにわかったようなこと言ってんだよバカ
formsじゃquartzに追いつけない
真横に実例があるんだよ

34:デフォルトの名無しさん
09/12/27 18:50:38
何をそんなに火病っているのかは分からないし興味もないが、
技術的に優れている物が商業的に失敗する事例なんて山のようにある。

35:デフォルトの名無しさん
09/12/27 18:52:46
そうだね
それを期待してformsと心中すりゃいいんじゃねえの

36:デフォルトの名無しさん
09/12/27 19:06:33
別にWPFが流行ろうが廃れようが自分が死ぬわけじゃないんだし。

今勉強する余力がないなら(それは別に恥かしいことではない)
廃れろ廃れろ言ってないで横目にみてればいいのにね。

37:デフォルトの名無しさん
09/12/27 19:11:53
廃れろ廃れろ、じゃなくて「メリットが分からん」じゃないのか?
俺も、どういう分野で需要(メリット)があるのかサッパリ分からないが。

38:デフォルトの名無しさん
09/12/27 19:30:37
バインドを多用できるケースは明らかに楽。
後は、キチンと設計すればテストが楽。
従来の開発スタイルそのままでFormsを置換しようとするから有り難みがわからんのだと思う。

39:デフォルトの名無しさん
09/12/27 19:40:35
ある程度の規模にならないとメリット見出せないと思う。
記述量だけでいったらFormより多くなるから。

40:デフォルトの名無しさん
09/12/28 00:38:02
泳げなければ沈んでもいいじゃないか

41:デフォルトの名無しさん
09/12/28 05:37:55
datagridview一式がD&D一発でセットできるformsはそりゃすごいけど

アニメもできないしHLSL使えないしグラフィック書くのもOnPaintだし、
そういう方面だとforms使う理由がないよね

42:デフォルトの名無しさん
09/12/28 09:43:36
外観のキャッチーさが要求される業務自体が非常に少ないのが事実。
WPFの紹介では、とにかく見た目や動きがプッシュされがちだけど、従来との比較でいえば
アーキテクチャの違いの方が重要だと思う。

43:デフォルトの名無しさん
09/12/28 10:21:28
見た目は副次的なものでしかないよな。
まあ分かりやすさでそれをアピールしたのだろうが、
それを勘違いして見た目だけだのなんだの言う馬鹿者が出てくる始末。

44:デフォルトの名無しさん
09/12/28 10:31:58
リッチなUIを目指して設計されたんじゃないの?
見た目は重要な要素だと思うけど

45:デフォルトの名無しさん
09/12/28 10:43:46
>>44
アニメーションがストレスを軽減するのはMacやiPhoneが実証している
実時間が長くても、見た目フリーズしてないだけでもイライラは抑えられるってこと
XP時代のGUIはキビキビ動くし隣に並べての比較でVistaに比べて早いことがアピールされてたけど、
実際Vistaだけ使ってると快適に感じるのと一緒(操作性は別として)

46:デフォルトの名無しさん
09/12/28 11:34:18
ただ待たせるよりプログレスバー出したりスプラッシュスクリーンだしたりするだけで
具合がちがうってのは割と一般的なのにな。

47:13
09/12/28 12:10:55
>>13
自己レスになりますが、動画編集に使うようなタイムラインコントロールはなさそうですね。
ExpressionBlendで使われているので標準であるものかと思っていたのですが・・・

48:デフォルトの名無しさん
09/12/28 13:54:56
mac使って帰ってくると、なんつー雑なUIなんだ(例:windowsカレンダーとかlive writerとか・・・)って感じするからな
静止画的な見た目はむしろWinFormsでも張り合えるけどね

49:デフォルトの名無しさん
09/12/28 14:44:46
ユーザーインターフェイスの話と
UIフレームワークの話とは全くの別物だべ。

50:デフォルトの名無しさん
09/12/28 15:02:35
は?

51:デフォルトの名無しさん
09/12/28 15:06:42
デザイン(見た目)そのものは作り手のセンスとスキル次第でどうとでもなるかんね。
フレームワークの良し悪しとはあんまり関係ない。

52:デフォルトの名無しさん
09/12/28 15:11:41
もうちょっと勉強したほうがいい

53:デフォルトの名無しさん
09/12/28 17:11:06
この世で最も非生産的な突っ込みだな。

54:デフォルトの名無しさん
09/12/28 17:36:25
FormとWPFでどっちが良い見た目を簡単につくれるかもわかんないのか

55:デフォルトの名無しさん
09/12/28 18:08:40
オナニーUIがなしたって?

56:デフォルトの名無しさん
09/12/28 18:22:23
オナニーじゃ済まされないからフレームワークが必要

57:デフォルトの名無しさん
09/12/28 18:28:00
たしかに雑なUIのほうがオナニーに近い気はする
まあそういう意味で「オナニーUI」って言ってるんじゃないだろうけど

58:デフォルトの名無しさん
09/12/28 18:34:36
アニメーションとかも使い所間違うとストレスたまる一方だよな。
どういう局面ではどういうデザインが効果的かとかの
WPFガイドラインみたいなのってもう出てるんだろか。

59:デフォルトの名無しさん
09/12/28 18:42:02
wpfっていうだけでストレスになってる人も多そうだw

60:デフォルトの名無しさん
09/12/28 19:25:41
むしろ「WPFだからっつってむやみにアニメーション使うな」
というガイドラインなら出されてる
URLリンク(msdn.microsoft.com)

61:デフォルトの名無しさん
09/12/28 20:02:30
>>60
おー
こういうのは結構助かる。


62:デフォルトの名無しさん
09/12/28 21:24:42
長ったらしいアニメーションはストレスだからなー
きびきび0.2秒くらいで遷移してくれるならいいけど

63:デフォルトの名無しさん
09/12/28 21:34:53
writeableBitmapって書き込んだのがそのまま表示されるの?
なんだか妙な変換されてるような気がしてならないんですけど

64:デフォルトの名無しさん
09/12/28 21:54:54
PixelFormatによる

65:デフォルトの名無しさん
09/12/28 22:05:05
ありがとう
妙な変換されないようにしたいんだけどどれ選べばいい?

66:デフォルトの名無しさん
09/12/28 22:29:33
変換だろ? ならオリジナルのbitmapsourceのformatをそのまま押し込んでやればいい

67:デフォルトの名無しさん
09/12/28 23:22:38
>>59
使う人にとってはWPFだろうが何だろうが関係ないが、
ある程度高機能なアプリをWPFで作ったら
推奨環境は平気でCore2Duo 3GHz以上になっちゃうんじゃないだろうか?

68:デフォルトの名無しさん
09/12/28 23:23:56
>>67
重要なのはDirectXのハードウェアサポートだろう

69:デフォルトの名無しさん
09/12/28 23:44:46
>>67
イメージしてる「高機能」がどのリソース使うのかわかんないからなんともいいようがないけど
個人的にはクロスプラットフォームのDTM系のソフト(いわゆるDAW)が社内で内製するような
ux重視のライブラリみたいなもんをMSが用意したという感じで捉えてる
こういうのは昔からリッチなGUIと高機能を同時に提供してた
wpfみたいなもんてどう使うのとかいう向きは一度この手のソフトを弄ってみるといいと思う

70:デフォルトの名無しさん
09/12/29 01:00:22
WPFを会社で使い始めたんだがマジストレス溜まる。
なんでこんな継ぎ足しみたいな酷い設計になってるんだ?
思想自体は悪くないし、むしろ応援したいくらいなんだが、
内部の設計がお粗末すぎないかこれ。
ちょっとサンプルより凝った事しようとすると途端に辻褄合わせに苦労する。
そもそもサンプルも例外出まくってるし。

何でもかんでもTemplateって言えばいいってもんじゃねーぞw
皆すげーな。
アーキテクチャの理解に二週間くらい戦ってるが未だによく分からん。

71:デフォルトの名無しさん
09/12/29 01:08:06
みんな手探りですよ、と
ぶっちゃけ例外はログとって握りつぶそうぜw

はやくまともな日本語の本出ないかなぁ


72:デフォルトの名無しさん
09/12/29 01:38:08
綺麗なGUI作れそうだな〜思うけど
情報が出揃うまではFormsで十分かなって思ってしまう。

73:デフォルトの名無しさん
09/12/29 01:38:53
3か月から半年付き合えばすらすら〜って書けるようになるよ。

74:デフォルトの名無しさん
09/12/29 01:54:51
MVVMはFormsでもリフレクションつかってやってたからすんなりいけた
XAMLもそれほど問題はない
が、なにぶんWPFは開発環境が重すぎるw
もうちょい何とかしてくれorz

75:デフォルトの名無しさん
09/12/29 12:14:43
'System.IO.FileNotFoundException' の初回例外が mscorlib.dll で発生しました。
'System.IO.FileNotFoundException' の初回例外が PresentationCore.dll で発生しました。

気持ち悪い

76:デフォルトの名無しさん
09/12/29 12:57:52
例外処理しなよ

77:デフォルトの名無しさん
09/12/30 01:08:58
日本語の本だが、βを対象に書いていたchris cellsの本は、
βゆえに記述は古いけれど内容はいい。
これにエッセンシャルWPFを組み合わせて設計思想をつかんだら
あとはMSDNとblogあさりでいい。


78:デフォルトの名無しさん
09/12/30 02:19:31
赤坂玲音っつー人の本は、
あえてほとんど全てのサンプルコードがC#コードでの記述になっていて、
XAMLの解説は最終章でちょっとだけという構成なのでまあこれはこれでありがたいと思った。
WPFはちょっと深入りするとコード側から記述せざるを得ないことも多いから。

ただサンプルの文字出力やメッセージ文が
「宇宙人、異世界人、超能力者」とか「ただの人間には興味ありません」とか
「ジャンクにしますよ」とかばっかりなので、そういうセンスが鼻につく人も多いだろうな。

79:デフォルトの名無しさん
09/12/30 02:21:04
wpfのバインディングのデバッグってどうしいたらいいんですかねえ。
xamlのインテリセンスが効かないこともあって、ElementNameうち間違ったり
すると絶望的なんですが。

80:デフォルトの名無しさん
09/12/30 10:23:54
名前が見つからないってエラー出るだろ

81:デフォルトの名無しさん
09/12/30 14:18:16
なるほど。デバッグ出力を見ればいいのか。
でも、これだけを頼りでは大変すぎ。
名前間違いならエラーも出るけれど、複雑なバインディングで構造違いだったり
参照違いだったりの場合はエラーも出ないですし。



82:デフォルトの名無しさん
09/12/30 14:59:25
俺らに言われてもな。どうしろと?

83:デフォルトの名無しさん
09/12/31 22:55:38
URLリンク(karlshifflett.wordpress.com)
URLリンク(karlshifflett.files.wordpress.com)

このBusiness LayerとModelの関係がいまいちイメージ出来ません。
メモ帳のようなSDIアプリを例にすると、どういう感じになるのでしょうか?

84:デフォルトの名無しさん
10/01/01 11:16:24
>>83
メモ帳には無縁の世界

85:デフォルトの名無しさん
10/01/02 20:28:47
>>83
Modelが文字のバッファで、
Business Layerは、文字の切り取り/貼り付けといったメモ帳の機能。


86:デフォルトの名無しさん
10/01/09 11:39:06
WPFつくりずらいな
一回コンパイル失敗すると二度と通らなくなったりする

87:デフォルトの名無しさん
10/01/09 12:04:16
それは流石に使う側の問題だと思う

88:デフォルトの名無しさん
10/01/10 05:11:41
Popupが使いにくすぎる。Primitivesの癖に…


89:デフォルトの名無しさん
10/01/15 00:06:39
折れ線を描くのはどうすればいいですか?

90:デフォルトの名無しさん
10/01/15 00:27:29
Polyline


91:デフォルトの名無しさん
10/01/15 00:49:21
ありがとう
DrawingGroupで使えないんだ

92:デフォルトの名無しさん
10/01/15 01:19:43
URLリンク(msdn.microsoft.com)

93:デフォルトの名無しさん
10/01/15 11:23:28
ありがとう、ためしてみる

94:デフォルトの名無しさん
10/01/15 12:01:18
Imageって座標がマイナスだと勝手に全体を移動させてしまうのね

95:デフォルトの名無しさん
10/01/15 13:31:20
>>94
???

96:デフォルトの名無しさん
10/01/15 14:20:51
(-10, -10)に字を書くと(-10,-10)が左上角に表示されるように全体が右下方向に移動した
座標が大きいときは表示されないのに

97:デフォルトの名無しさん
10/01/15 15:01:43
地球を一周させれば元にもどる( ・ω・)y─┛〜〜

98:デフォルトの名無しさん
10/01/15 16:14:47
やっとわかった
DrawingGroup.ClipGeometry設定すればいいのか
とりあえず97は地球七周半してこい

99:デフォルトの名無しさん
10/01/17 17:57:07
1秒かかりますが

100:デフォルトの名無しさん
10/01/17 18:29:20
97から見れば0秒なので問題ない

101:デフォルトの名無しさん
10/01/18 10:34:35
地球七周半というのは都市伝説なのに(´・ω・`)

102:デフォルトの名無しさん
10/01/18 12:12:10
>>101
なんで?
光の速さが秒速30万kmで地球の赤道付近の円周が約4万kmだから
ほぼ7.5周じゃん?

103:デフォルトの名無しさん
10/01/18 12:14:59
>>102
・光は地表に沿って曲らない
・真空じゃない

ようするに揚げ足とり。


104:デフォルトの名無しさん
10/01/18 13:05:11
光にスピードなどありません。すべて一瞬です

105:デフォルトの名無しさん
10/01/18 13:14:30
光の速度とWPFの関係について140字以内で述べよ。(10点)

106:デフォルトの名無しさん
10/01/18 13:16:47
WPF → WPF/E → Silverlight → 銀の光

107:デフォルトの名無しさん
10/01/18 15:27:54
1 8  3  6\
 × × ×   5
9 2  7  4/

上記のように点を数字順にたどるgeometryを定義して
閉じた部分をそれぞれちがう色で塗りつぶしたいのですがどうすればいいですか?

108:デフォルトの名無しさん
10/01/18 15:36:50
WPFと関係あるのか??

109:デフォルトの名無しさん
10/01/18 21:58:01
linergraなんとか使えば?
自動で塗り分けろ? じゃあ仮にそういう機能があったとして、どの場所が何番目の色ってどうやって指定するつもりだい

110:デフォルトの名無しさん
10/01/18 22:44:36
linergradientbrush?
よくわかんない

しゃーない
交点探してチマチマやるか

111:デフォルトの名無しさん
10/01/18 22:57:41
いつのまにかFirefoxがXBAP WPFブラウザアプリ非対応になってやんの。
さっさとSilverlightに代替えしろってか。まあWCF対応バインディングも増えたし。

112:デフォルトの名無しさん
10/01/19 11:55:31
grid で showgridlines プロパティを有効にして表示される線の種類を変えたいのですが・・・
簡単にはできないでしょうか?

113:デフォルトの名無しさん
10/01/19 12:04:59
> グリッド線を有効にすると、Grid 内のすべての要素が点線で囲まれます。
> このプロパティはレイアウト上の問題をデバッグするためのデザイン ツールとして用意されているものであり、
> 製品品質のコードで使用するためのものではないため、点線以外は使用できません。
> Grid 内に線を表示するには、Grid 内の要素に対して境界線を含むスタイルを設定します。

114:デフォルトの名無しさん
10/01/19 13:27:20
>>113
ありがとうございます。

諦めてセルになる部分にBorderとCanvasでも噛ませて中にコントロールでも突っ込みます。

115:デフォルトの名無しさん
10/01/21 14:52:10
WPF初デビューでみなさまよろしこ

これってアプリなのに内部的にはクラサバもしくはJavaではよく聞くMVCモデル
で動いてるような物ですよね
つまりc#で描く側が鯖イメージでXAMLで書いたり表現するGUIがFormぽく振舞ってる
ブラウザというか

116:デフォルトの名無しさん
10/01/21 14:55:21
概念はさほど重要ではない…いや重要か
.NET自体動作原理はVMに近いものだし

117:デフォルトの名無しさん
10/01/21 14:59:19
>>116
結構重要だと思いますw

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

なんというかunixのXというかなんというか

118:デフォルトの名無しさん
10/01/21 15:02:59
というかそんな中身はどうでもよくて重要なのはグラフィカルなGUIってところなんですが
参考になるサイトはないでしょうか?


119:デフォルトの名無しさん
10/01/21 15:35:47
とってもVBだと思います

120:デフォルトの名無しさん
10/01/21 17:15:53
Xとはじぇんじぇん違うと思います。


121:デフォルトの名無しさん
10/01/21 21:39:37
XAMLとコードビハインドは普通は密結合だよ
Form1.Designer.csとForm1.csの関係に対応する
MVVMはもう一段上の概念

122:デフォルトの名無しさん
10/01/21 22:19:38
MVVMやってるとコードビハインドを空にしたくなる病気が・・・

123:デフォルトの名無しさん
10/01/21 22:31:50
コードビハインドはMVVM的にはViewの一部だからな
MVVMでいうビューとロジックの分離と,一般にWPFでいうビューとロジックの分離は意味が違う

124:デフォルトの名無しさん
10/01/21 22:33:15
Xって…

125:デフォルトの名無しさん
10/01/21 22:39:13
WPFやってるとモデル構築時からもう依存関係プロパテイで実装したくなる

126:デフォルトの名無しさん
10/01/22 00:05:09
横長のグラフの一部をスライダーの動きにあわせて表示させるアプリをつくってみたんですが、
いくつか表示させるととても遅くなります

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

さて、もっとキビキビ動くアプリにするためにはどうしたらいいでしょう?

127:デフォルトの名無しさん
10/01/22 00:08:01
まずは認識を改めようか
「DrawingContextは遅い」

128:デフォルトの名無しさん
10/01/22 00:17:42
orz

どうすればいいですか?
何を使えば早いですか?

129:デフォルトの名無しさん
10/01/22 00:23:41
WriteableBitmapは?

130:デフォルトの名無しさん
10/01/22 00:30:59
自分で点を打っていくんですか・・・くたびれるなぁ

131:デフォルトの名無しさん
10/01/22 00:32:48
RenderTargetBitmap使って適当にキャッシュしたら

132:デフォルトの名無しさん
10/01/22 00:40:59
Bitmapをいっぱいつくるってことなんですかね?
トライしてみます
ありがとう

133:デフォルトの名無しさん
10/01/22 00:59:50
Evernote3.5のクライアントってWPFなんだな

134:デフォルトの名無しさん
10/01/22 01:33:04
>>118
ここぐらいかな。
URLリンク(ufcpp.jp)

残念ながらWPFの解説サイトは非常に少ないのでMSDNのサンプルを見ながら勉強するのが一番いいと思う。
URLリンク(msdn.microsoft.com)

あとは書籍とか。

135:デフォルトの名無しさん
10/01/22 01:35:35
解説より作例を見たいよね

136:デフォルトの名無しさん
10/01/22 09:32:14
miniUML が MVVM の作例的にも非常に良く出来ているって聞いたぞ。
まだソース読んでないけど。

URLリンク(www.codeplex.com)

137:デフォルトの名無しさん
10/01/22 09:34:13
>>136
それ、なにするもの?

138:デフォルトの名無しさん
10/01/22 10:09:07
>>137
URLリンク(journal.mycom.co.jp)

139:デフォルトの名無しさん
10/01/22 10:13:04
>>138
このスレにはやさしい人がいてうれしいな
ありがとう

140:デフォルトの名無しさん
10/01/22 10:45:18
ソースからUML書いてくれるツールないかな

141:デフォルトの名無しさん
10/01/22 13:02:23
>>140
あるよ。
JUDEの後継のastah* は Java/C#/C++のソース/UML間相互変換をサポートしてる。
ただし無料版はどれも不可だけど。

JUDEの時はJava出力に関してはフリー版でも出来たと思ったんだけどなぁ。

142:134
10/01/23 10:08:28
URLが間違っていたので訂正。
× URLリンク(msdn.microsoft.com)
○ URLリンク(msdn.microsoft.com)

143:デフォルトの名無しさん
10/01/23 11:16:31
WPFでバルーンヘルプ出すにはどうしたらいいの?
教えて偉い人。

144:デフォルトの名無しさん
10/01/23 11:36:30
Accordion+Binding+Resize時の4004エラー回避できぬ。
ぬぬぬぬ…。

145:デフォルトの名無しさん
10/01/23 12:13:25
>>143
URLリンク(msdn.microsoft.com)

146:デフォルトの名無しさん
10/01/23 12:14:54
最近MSDNの内部リンク切れまくっていないか?使い辛いっつーか、使い物にならん。

>>143
目的が分からんからどうとも言えんがツールチップかポップアップ使えばいいんじゃないか?
偉くはないが

147:デフォルトの名無しさん
10/01/23 12:43:18
>>145,146
すごい。瞬速で解決。ありがとう偉い人たち!

148:デフォルトの名無しさん
10/01/23 13:04:48
>>146
リンク切れ?例えばどこのこと?

149:デフォルトの名無しさん
10/01/23 13:05:44
サンプルのダウンロードとかそこらじゅう

150:デフォルトの名無しさん
10/01/23 13:18:19
>>149
>>142で訂正したけどサンプルが更新されている場合は「.Net Framework 3.5」の方からダウンロードできる。
あとブラウザをIEに変えるとうまくいくことがあったので試してみて。

151:デフォルトの名無しさん
10/01/23 13:34:10
>>148
WPFの話から脱線してスマン。サンプルが切れているのは元からだが
最近クラス自体の説明へのリンクが切れている所が多くなった気がする。
多すぎてうる覚えだが、PrivateObject関連の構造体の説明あたりとか、
URLリンク(msdn.microsoft.com) のクラス説明へのリンクとか。

152:デフォルトの名無しさん
10/01/23 14:50:23
ライトウェイトにしてるから?

153:デフォルトの名無しさん
10/01/23 14:52:36
>>152
え?

…クラシックだと見れるのね。なんじゃコリャw。
切り替えるとなおるのか、キャッシュ探すよりもずっと楽だ。トン

154:デフォルトの名無しさん
10/01/23 17:28:24
ライトウェイトけっこう適当な作りしてんのなw


155:デフォルトの名無しさん
10/01/23 21:41:58
ItemsSourceにBindしてる時、その中の子のコントロールが自分のItemを知る事は出来ますか?
子のコントロールでBindしてパラメータとして渡したいのです。

156:デフォルトの名無しさん
10/01/23 21:54:06
ん? DataContextじゃダメ?

157:デフォルトの名無しさん
10/01/23 22:11:02
すみません、情報不足でした。
Prism for Silverlight使っててxamlで指定して上げたいのです。

<ItemsControl ItemsSource="{Binding Items}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
       なんちゃらこうちゃら
       CommandParameter="{Binding 現在のアイテム}"←ここ
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>


158:デフォルトの名無しさん
10/01/23 22:23:50
Itemsの中の要素に対してバインドしたいんだよね?
「Binding Path=.」か「Binding RelativeSource={RelativeSource Self}, Path=DataContext」でいけない?

159:デフォルトの名無しさん
10/01/23 22:52:04
あれ?もしかしたら違うところで躓いてるかも…。

<ItemsControl ItemsSource="{Binding Items}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <Button c:Click.Command="{Binding MyCommand}"  ←このMyCommandはItemsにはなく、DataContextのViewModelにある。
                  c:Click.CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=DataContext}"/>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

この状態でButtonをクリックするとMyCommand自体が呼ばれません。
ItemsControlの外に置くとうまくBindされてMyCommandは実行されます。
これはおそらくItemsの中にMyCommandがないからだと思われますがうまく"Binding MyCommand"の箇所をViewModelのMyCommandが呼ばれるようにするにはどう設定すればよいのでしょうか?
Binding ../MyCommand←これはだめでした。
Binding this.DataContext.MyCommand←これもだめ。
うーん…。

160:デフォルトの名無しさん
10/01/23 23:40:58
MyCommandはItemsControl.DataContextがもっているが、
CommandParameterに渡すのはItemsControl.items内の要素ってこと?

そんな使い方したことないから実際やったことはないが
 a) ItemsControlにx:"Name=itemContorlName"を指定して
   Command={Binding ElementName=itemContorlName,Path=MyCommand}
 b) Command={Binding RelateveSource={RelativeSource AncestorType={x:Type ItemsControl}}}
のどっちかで解決しないか?

> この状態でButtonをクリックするとMyCommand自体が呼ばれません。
出力ウィンドウをみればバインド失敗は表示されるけど…何か出ていない?

161:デフォルトの名無しさん
10/01/24 00:12:23
//Model
public sealed class Model {
  public string A {get; set;}
}

public sealed class Models : ObservableCollection<Model> {}

//ViewModel
public sealed class ViewModel {
  public ViewModel() {
    this.Items = new Models();
    this.MyCommand = new DelegateCommand<RequestItem>(OnMyCommand);
  }

  public void OnMyCommand(Model item){
   
  }

  public Models Items {get; private set;}

  public ICommand MyCommand {get; private set;}
}

//View
public sealed class View {
  public View() {
    InitializeComponent();
    this.DataContext = new ViewModel();
  }
}

162:デフォルトの名無しさん
10/01/24 00:21:57
上記がMVVMの仕様です。
これで説明しやすくなりました。

この仕様でバインドした時>>159のMyCommandがViewModelにあるMyCommandでバインドされないのです。
Model側に"ICommand MyCommand"のプロパティを持てばバインドされるのですがそれではModelとしてふさわしくないように思えます。

・させたい事
ViewModelのMyCommandを>>159のItemControl内のButtonにバインドさせたい。

URLリンク(msdn.microsoft.com)
(ここも見てみましたが上位?Pathの設定の仕方がわかりませんでした。)

ためしにModel側にMyCommandをもちバインドさせ>>158の方法で"Item"を参照できるか試しましたがOnMyCommandの"Model item"はnullとなってました。

163:デフォルトの名無しさん
10/01/24 00:24:30
>>161の訂正
×this.MyCommand = new DelegateCommand<RequestItem>(OnMyCommand);
○this.MyCommand = new DelegateCommand<Model>(OnMyCommand);

164:デフォルトの名無しさん
10/01/24 00:42:12
.NET4.0のMediaElementでH.264のサポートはないの?
silverlight3では動いたので.NET4.0で験してみたのだけど。

165:デフォルトの名無しさん
10/01/24 01:41:12
>>160
UserControlに名前をつけてa)の方法でDataContextを参照したところうまくいきました。

本当はUserControlに名前をつけるとBlendにて警告が出るのでb)のAncestorTypeを使ったものを採用したかったのですが
SilverlightではSelfとTemplatedParentしか用意されていませんでした…。

166:デフォルトの名無しさん
10/01/24 07:46:15
>>165
これでどうですか?

<Window.Resources>
  <c:CommandReference x:Key="MyCommandReference" Command="{Binding MyCommand}" />
<Window.Resources>

<ItemsControl ItemsSource="{Binding Items}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <Button Command="{StaticResource MyCommandReference}"
                  CommandParameter="{Binding}"/>
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>

うまくいかなかったら実験したProjectをどこぞにうpします。

167:デフォルトの名無しさん
10/01/24 21:05:50
>>166
うまくいきました!
ありがとうございます。

168:デフォルトの名無しさん
10/01/24 21:10:02
WPFの質問スレとか見当たらなかったので、お手数ですが少しよろしいですか?

非リアルタイムの2Dゲーム(ADVに近いものを想像してください)を作るにあたって、
WPFを利用するのは有用でしょうか?
WPF関連の書物は高い&3Dゲームに関する記述しかないのですが、
ざっと確認したイメージ的にはいけそうな気もするんですよね。

有用だというのならば、思い切って専門書買ってみようと思うのですが、
よろしければアドバイス頂けませんか?

169:デフォルトの名無しさん
10/01/24 21:15:09
WPFはオサレなGUI(ボタンや部品がうにゅーっと動くようなの)を作るのには向いているがかなり重たい。
作れなくはないが、ADVなら積極的に採用する理由はあまりないんじゃないか?

170:デフォルトの名無しさん
10/01/24 21:18:44
まあWinFormsのSystem.Drawingで作るよりは遥かに速いし簡単に綺麗なものが作れるよ

171:デフォルトの名無しさん
10/01/24 21:20:35
>>168
URLリンク(www.nicovideo.jp)

172:デフォルトの名無しさん
10/01/24 21:22:32
>>168
2DゲーでADVに近い物ならVC#でも十分可能だけどね

173:デフォルトの名無しさん
10/01/24 23:13:51
んー、やっぱり動かしてみないと判断難しいんだろうか?
かといって図書館にも置いてないしなあ。

>>169
少し説明が難しいのですが、動的に処理すべき場所があまりにも多いんですよね。
するとフォームデザインがどうも役立たずっぽいので、WPFの方が適切ではないかと思ったわけです。
速度はイライラしない程度なら問題はないと考えています。

>>170
それはちょっと朗報です。ありがとうございます。

>>171
うわw これは素直にすごいなあ……
ここまでの処理は求めてませんが、期待持てそうです。

>>172
どうもゲームプログラミングは苦手で、それなのに任されちゃって四苦八苦なんです。
いざ調べてみると想像以上に資料少ないですよね。
市販の書籍なんて、ほとんど画像表示の方法とかに終始してますし。

174:デフォルトの名無しさん
10/01/24 23:26:25
ピクセルシェーダが簡単に使えるのは面白いよな
>>171はやってみると意外と難しくない

175:デフォルトの名無しさん
10/01/24 23:28:21
・・・環境にもよるんだろうけど作るだけなら吉里吉里でも
使えばよかろうに

176:デフォルトの名無しさん
10/01/25 00:02:01
でもADVみたいなのにWPFはありだと思うけどなぁ。
UIかっこよくしてなんぼって感じもするし。

177:デフォルトの名無しさん
10/01/25 00:34:22
>>174
やれるとしても当分先だと思いますが、これは確かに面白そうですよね。
たとえ今回の件にそぐわないとしても、近いうちにWPFには手をつけてみようかなーと思い始めてきました。
数値計算とかばかりやってきた身としては、もう少し普及して間口が広くなってほしいってのも本音ですけどね……

>>175
ADVみたいなものって説明が悪かったですね。
雰囲気としてはそれっぽいものではあるのですが、某レトロゲームのシステムを踏襲+拡張したものなので、
簡易的なものじゃちょっとまかなえないんです。分かりにくくてすみません。

178:デフォルトの名無しさん
10/01/25 02:21:15
WPFと吉里吉里とで作れるゲームの幅は変わらないと思うよ

179:デフォルトの名無しさん
10/01/25 03:55:47
吉里吉里はJavaScriptライクな言語TJS2の実行環境+クラスライブラリといった体裁だから、やろうとおもえば結構がっつり組めるよ

でもWPF製のゲームも見てみたいから頑張れ

180:デフォルトの名無しさん
10/01/25 15:07:56
>>171
こういうの見るとモチベーションが上がるな。
上がって何をするかというと、2chとMSDNを往来することなのだが。

181:デフォルトの名無しさん
10/01/25 15:14:07
こういうのは早いのになんでDrawingContextは遅いの?
もっと早く線描けないの?

182:デフォルトの名無しさん
10/01/25 15:27:21
>>181
処理が違うから?
大量の色情報に対して同じ処理を高速にやってるだけだし
上画像のピクセルのアルファ値を高速に変えればできる処理なんで
GPUのもっとも得意とするところじゃん

DrawingContextで描画するような内容ってピクセルのアルファ値かえるだけのような
話じゃないしね

183:デフォルトの名無しさん
10/01/25 16:27:31
c#でも画像の合成表示ならできたな
ちらつきとか抑える方法はよくわからんけど
サンプルソース居る?

というか配布する際どれを渡せばいいんだろうw
.netのソースって開発環境のパスが埋もれてるとか聞いたけど

184:デフォルトの名無しさん
10/01/25 16:35:33
*.Cs とか *.xaml とかでいいんじゃね?

185:デフォルトの名無しさん
10/01/25 16:44:34
URLリンク(uproda.2ch-library.com)
pass 無し

formにpicturebox x1とbutton x3とtimer x1を貼り付けてイベントハンドラを
割り当ててくれれば動くと思うよ

186:デフォルトの名無しさん
10/01/25 17:19:21
あと最近いじっててこんなのもできた
URLリンク(uproda.2ch-library.com)

FormのPaitイベントでDrawLineにArrowAnchor指定して物なんだけど
別の機能をちょっと足せばグラデーション+AntiAliasで描ける

187:デフォルトの名無しさん
10/01/25 17:27:00
なるほど

188:デフォルトの名無しさん
10/01/25 18:38:03
デバッガでエラーが起きた場所が分からなくてつらい

189:デフォルトの名無しさん
10/01/25 19:47:44
>>185
スレチ

190:デフォルトの名無しさん
10/01/25 20:39:07
遅くなってしまい申し訳ありません。168その他です。
昨日はくだらない質問に対していろいろとありがとうございました。

氷点下の世界を旅して、思い切ってWPFの本を買いに行ってみたのですが、取り扱ってる店が1件もありませんでした……
佐川のお兄さんに運んで貰おうと思います。

>>178,179
吉里吉里ってそこまで高性能だったんですね。
あまり使う機会もありませんし、ハッシュは配列にキャストしてから〜ってのがうざったくて放置してました。認識改めます。



191:デフォルトの名無しさん
10/01/25 23:07:44
むしろWPFを使いこなせてないから同レベルくらいに見えるんだろう
それが悪いというんじゃなく、それくらい習熟するのは時間がかかる

192:デフォルトの名無しさん
10/01/26 00:14:08
ほとんどのノートPCで使われてるSynapticsのタッチパッドドライバがWPFと相性悪いらしく、
ListBoxほか大多数のScrollViewer系のコントロールで
パッドのフチを使ったスクロールができず困っていたのだけど、
今年に入ってSynapticsがScrybeというツールのCTPを公開し
その中に最新のタッチパッドドライバ15.0.0.1が含まれていて、
インストールしたところWPFアプリでもスクロールできるようになった!
URLリンク(www.uscrybe.com)

PCメーカーのサポートページから入手できるタッチパッドドライバは大抵古いバージョンなので
WPFのスクロールで困ってる人はこっちをインストールしてみてくれ
以上チラシの裏でした

193:デフォルトの名無しさん
10/01/26 02:49:31
>>191
つまりWPFのほうがより高度なものが作れるってこと?

194:デフォルトの名無しさん
10/01/26 08:05:08
>>171の例1つとっても、画像使うか既定プリセットしかないきりきりより、
自分でHLSL書けるWPFのほうが高度だよ。サンプラーだって上限まで使えるしね。

ていうか、制御するコードにしてもVSとC#使えるんだから、そこらの簡易言語じゃ
勝負にならんでしょ。覚えることは多いけどね。

195:デフォルトの名無しさん
10/01/26 08:21:32
綺麗なのだけじゃなく、スピード重視のローレベルな描画メソッド充実させてほしいな
そしたらもっと裾野広がるのに

196:デフォルトの名無しさん
10/01/26 09:36:54
どっちにしてもWPF使ってツクールみたいなの作るはめになるんだと思うけどな。
べたがきだと使い回しきかんだろうし。

197:デフォルトの名無しさん
10/01/26 09:49:21
>>196
ツクールを作ってた人が楽になるだけだよね

後はツクールを使ってた人が高度な実装知識無しで組めるようになるので
頑張ってツクールが担当してたエリアまで食い込んでくるかも

windows ≒ IE
XAML ≒ HTML
C# ≒ Javascript

こんな感じじゃない?

198:デフォルトの名無しさん
10/01/26 09:50:21
windows ≒ IE
これより
VM ≒ IE


199:デフォルトの名無しさん
10/01/26 10:14:38
Imageに画像のセンタリングをやめさせる方法はありますか?

200:デフォルトの名無しさん
10/01/26 10:19:40
自己解決
VerticalAlignment, HorizontalAlignment
失礼しました

201:デフォルトの名無しさん
10/01/26 20:42:54
パラメータに複数のエレメントを渡したい時はどのようにすればいいのでしょうか?


<Button CommandParameter="ここで同xaml内にある複数のエレメントを渡したい"/>

202:デフォルトの名無しさん
10/01/26 21:49:28
>>201
こんな感じのデータクラスを作って
public class Hoge {
  public int ID { get; set; }
  public string Data { get; set; }
}

XAMLでHogeのアセンブリを参照
<Window x:Class="WpfApplication1.Window1"
 xmlns:d="clr-namespace:WpfApplication1"

ほいさっさ
<Button ...
 <ButtonBase.Content>Ok</ButtonBase.Content>
 <ButtonBase.CommandParameter>
   <d:Hoge ID="1" Data="AAAAAAAA"></d:Hoge>
 </ButtonBase.CommandParameter>
</Button>


203:デフォルトの名無しさん
10/01/26 21:53:48
>>202
おぉ!これは素晴らしい!
ありがとう!

204:デフォルトの名無しさん
10/01/26 22:47:28
補足、作法にのっとるなら依存関係プロパティ
public class Hoge : DependencyObject {
  public DependencyProperty IDProperty = DependencyProperty.Register("ID", typeof(int), typeof(Hoge));
  public DependencyProperty DataProperty = DependencyProperty.Register("Data", typeof(string), typeof(Hoge));
  public int ID {
    get { return (int)this.GetValue(IDProperty); }
    set { this.SetValue(IDProperty, value); }
  }
  public string Data {
    get { return (string)this.GetValue(DataProperty); }
    set { this.SetValue(DataProperty, value); }
}}
これでBindingが使えるようになる。
<d:Hoge ID="0" Data="{Binding Source=button1, XPath=Content}"/>

205:デフォルトの名無しさん
10/01/26 22:49:49
>>204
おぉぉ、なるほど!
Dependency関係がよくわからなかったけどこういう風に使うのか!
また一つ勉強になしました。
ありがとう!

206:デフォルトの名無しさん
10/01/27 10:21:45
そういえばGyaOがヤフーに行ってから動画配信がSilverLight使ってるんだが
あんなに重いものかね?

プログラム作る上でネットブックをスペックの下限の指標にしてるんだが
動画配信中はその他ウインドウのReDrawすらままならないんだが

207:デフォルトの名無しさん
10/01/27 10:32:39
OSを
書け

208:デフォルトの名無しさん
10/01/27 10:51:43
VisualStudio2008ProSP1(Silverlight3 Tools for VS2008SP1 -JPN導入済、OS:XP)で、
CompositeApplicationGuidance-Oct2009の以下のクイックスタート用ソリューションの
プロジェクトのプロパティや、Resources.resxを開こうとすると、必ずVisualStudioが強制終了します。
(エラーメッセージやダイアログが一切表示されず突然落ちます。)
同じ現象にあった方や対処法をご存知の方、いらっしゃいませんか?

強制終了するソリューション(Desktop only - Open QS)
・Directory Lookup Modularity QuickStart
・View Injection QuickStart

強制終了せずプロジェクトのプロパティを表示できるソリューション
・Commanding QuickStart
・View Discovery QuickStart
・Hello World QuickStart
・Configuration Modularity QuickStart
・Commanding QuickStart


209:デフォルトの名無しさん
10/01/27 11:02:35
>>208です
プロジェクト内にResources.resxがないことが原因のようです。
お騒がせしました。

210:デフォルトの名無しさん
10/01/27 14:29:15
WPFでWindowが閉じられる原因ってどうやったらわかりますか?

WinFormsだとStackTrace使ったりFormClosingEventArgsにCloseReasonが
あったんだけど、WPFでどうやったらいいか分からない

211:デフォルトの名無しさん
10/01/27 14:38:53
URLリンク(social.msdn.microsoft.com)

212:デフォルトの名無しさん
10/01/27 14:51:29
WndProc使うしか無いのか…

ありがと

213:デフォルトの名無しさん
10/01/27 20:47:45
ChildFormのthis.DialogResultはViewに対する操作だからView側で処理して良いのかな?
それともICommand等でバインドしてViewのコントロールをViewModelに渡すのが正しい作法?

214:デフォルトの名無しさん
10/01/27 20:48:27
×ChildForm
○ChildWindow

215:デフォルトの名無しさん
10/01/28 12:04:19
Modelを触らない操作だからViewでOK

216:デフォルトの名無しさん
10/01/28 21:34:09
同一ソリューション内の他のプロジェクトをclr-namespaceを使ってXAML内で参照すると"CLR名前空間が定義されていません"と警告が出ます。
コンパイルOK、実行も何も問題ないのでこの警告をやめさせたいのですが何か方法はありますか?

217:デフォルトの名無しさん
10/01/28 23:37:42
WPFでURLリンク(daisuke-watanabe.com)みたいなローディングの画面は簡単に作れますか?

ってぐぐったらでてきたわ。
おまえらは自作で作れたか?

218:デフォルトの名無しさん
10/01/28 23:41:06
ラスターイメージ使ったら負けだろ
それくらいベクトルで描けよ

219:デフォルトの名無しさん
10/01/29 10:08:13
>>217
WPFでそういうことをやろうとも思わなかったけど
DirectXでやれたようなことがむき出しになってるので
できないことはないだろうな

というかWPF使わなくてもVC#でも可能なレベルだろ
個人的にはそのアニメーションすらCPUパワーの無駄とか
思ってしまう

220:デフォルトの名無しさん
10/01/29 11:21:42
URLリンク(www.dotup.org)
こんなんでいいだろ

221:デフォルトの名無しさん
10/01/30 00:44:46
>>220
わたし女子中学生だけどそれはないわ


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5347日前に更新/192 KB
担当:undef