WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5at TECH
WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5 - 暇つぶし2ch2:デフォルトの名無しさん
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
わたし女子中学生だけどそれはないわ

222:デフォルトの名無しさん
10/01/30 10:23:14
>>220
あたし女子小学生だけどそれはないね

223:デフォルトの名無しさん
10/01/30 10:26:29
ぼく女子高生だけどそれはない

224:デフォルトの名無しさん
10/01/30 10:43:06
男子相撲部だけどごっつあんです

225:デフォルトの名無しさん
10/01/30 13:20:27
URLリンク(www.dotup.org)
わがままなおっさんたちだな

226:デフォルトの名無しさん
10/02/02 13:45:51
MVVMって流行だけどさ、
例えば、読み込むModelが複雑かつ長大な入れ子構造になっている様なとき、
ViewModelを作るコーディング時間と、実行時のコストって大変なものになると思うけど、
それでも分離しなくてはならないの?

227:デフォルトの名無しさん
10/02/02 14:05:59
>>226
テストによる品質保持にかかるコストがそれらを上回るなら。

228:デフォルトの名無しさん
10/02/02 14:19:23
ModelがINotifyPropertyChangedをしっかり実装してるなら、
そのままか同型のコピーをViewModelやViewに引き回しても問題ない。


229:デフォルトの名無しさん
10/02/02 15:40:50
最近はそれを見越して始めから依存関係プロパティ付けて実装することが多いな・・・

230:デフォルトの名無しさん
10/02/02 22:04:52
WPFはまだ仕事では使ってないけどみんなはどう?

231:デフォルトの名無しさん
10/02/02 22:12:19
当分縁がなさそう。
クライアントアプリを開発する案件がそもそも無いっす。

232:デフォルトの名無しさん
10/02/04 01:28:18
クライアントアプリを開発する人に聞いてるんだと思うよ

233:デフォルトの名無しさん
10/02/04 06:35:44
そういう人が居ないんじゃない?

234:デフォルトの名無しさん
10/02/04 07:04:51
よく”まだ”使ってませんって聞くけどいつになったら使う日が来るんですか?

235:デフォルトの名無しさん
10/02/04 08:21:35
VS2010、.NET4のbetaがとれたくらいか、
VS2010SP1、.NET4.5がでるころ

236:デフォルトの名無しさん
10/02/04 08:24:51
Win2kが根絶されるまでは無理ぽ

237:デフォルトの名無しさん
10/02/04 13:34:40
タブページとかXPで表示するとひどい目に遭うけどね

238:デフォルトの名無しさん
10/02/04 20:00:09
NT6が天下を取る頃

239:デフォルトの名無しさん
10/02/05 01:12:51
楽だから選択権があれば使ってるよ
でも重いから客には嫌われてるみたい

240:デフォルトの名無しさん
10/02/05 02:22:05
directx9が満足に動かないビジネス機じゃ重いかもな

241:デフォルトの名無しさん
10/02/05 07:52:21
・・ということは私を含めみんな趣味レベルでWPFやってるってことか・・・。
主流になってくれとまでは言わんが、日の目を見ることなく自然消滅ということにはならんことを祈る

242:デフォルトの名無しさん
10/02/05 08:45:02
いや、趣味レベルでやってるのはあんただけだとおもうぞw

243:デフォルトの名無しさん
10/02/05 09:12:23
VS2010、Expression Encoder 3、Evernoteとかビジネスアプリの事例も増えてきてる


244:デフォルトの名無しさん
10/02/05 09:33:08
MDXやXNA臭がするのは事実

245:デフォルトの名無しさん
10/02/05 09:38:54
> XNA臭
するするwwww

246:デフォルトの名無しさん
10/02/05 09:42:25
わざわざageて自演ですか?

247:デフォルトの名無しさん
10/02/08 22:32:50
>>228
そこまでやったら、Modelを直接バインドしたいなw

248:デフォルトの名無しさん
10/02/08 22:49:34
エッセンシャルWPFのP324にあるTreeViewとHierarchicalDataTemplateの
例がさっぱり分かんねーーーーー。
Binding Path='.'ってなんぞ。

249:デフォルトの名無しさん
10/02/08 22:58:47
そこにバインドされているDataContext自体。

250:デフォルトの名無しさん
10/02/08 23:01:54
綺麗さよりもスピード重視したWPFがあればいいのに

251:デフォルトの名無しさん
10/02/08 23:02:37
DirectXで直接ゴリゴリやればいいじゃん

252:デフォルトの名無しさん
10/02/08 23:10:06
DirectXわかんない

253:デフォルトの名無しさん
10/02/08 23:14:50
WPFはバインドで動的にリフレクションの黒魔術で
エロイムエッサイムしている時点でどうがんばっても速度は限界があるだsろ。

254:デフォルトの名無しさん
10/02/08 23:17:57
フレームワーク全体としてはともかく描画だけなら速くできるだろ
そこ分離するためにDrawingみたいなちょっと低レベルなレイヤがあるんだから

255:デフォルトの名無しさん
10/02/08 23:35:42
>>247
そこまでやったら、俺のItemを美人Modelに直接バインドしたいなw

256:デフォルトの名無しさん
10/02/09 00:10:06
面白いと思って書いてるんだろうか

257:デフォルトの名無しさん
10/02/09 00:17:26
たくさんレス付いてると思ってわくわくしながらリロードしてるんだろな

258:デフォルトの名無しさん
10/02/09 00:28:51
少しつれた...

259:デフォルトの名無しさん
10/02/09 00:30:59
今時こんなレスでも釣れたって言うのか

260:デフォルトの名無しさん
10/02/09 05:07:34
十分大漁です(´・ω・`)

261:デフォルトの名無しさん
10/02/09 06:08:29
>>249
DataType="{x:Type io:DirectoryInfo}"で指定した型をコンバーターで返しているから、
返ってきたDirectoryInfo[]もHierarchicalDataTemplateの対象になってるってことですか?
IsExpandとかどう処理してんのか謎。

snipet
<UserControl.Resources>
<HierarchicalDataTemplate DataType="{x:Type io:DirectoryInfo}">
<HierarchicalDataTemplate.ItemsSource>
<Binding Path='.'>
<Binding.Converter>
<local:GetFileSystemInfoConveter />
</Binding.Converter>
</Binding>
</HierarchicalDataTemplate.ItemsSource>
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
</UserControl.Resources>

<TreeView ItemsSource="{Binding}" />

262:デフォルトの名無しさん
10/02/09 06:58:15
> <HierarchicalDataTemplate DataType="{x:Type io:DirectoryInfo}">
> <HierarchicalDataTemplate.ItemsSource>
> <Binding Path='.'>
型を返しているんじゃなくて、DataType=...は、「この型を表示要素に変換するDataTemplateだよ」と書いているだけ。
リソースに書いてあるデータテンプレートがあれば、明示的にデータテンプレートを書かなかった場合に
その型のインスタンスをバインドしたときに自動的に適用される。

> 返ってきたDirectoryInfo[]もHierarchicalDataTemplateの対象になってるってことですか?
このコンバータはDirectoryInfoから、IEnumerable<DirectoryInfo>に変換するのかな?
ならば、上と同様に型が一致すれば適用される。あとは再帰的に。

263:デフォルトの名無しさん
10/02/09 10:40:42
>>262
後出しになってすいません。
コンバータはreturn ((DirectoryInfo)value).GetDirectories();です。
レスありがとうございます。理解が進みました。

264:デフォルトの名無しさん
10/02/10 00:48:39
VS2010RC出たね
WPFは作る方は楽なんだろうけど
使う方から見ると悪夢だな

265:デフォルトの名無しさん
10/02/10 00:50:17
>>264
そう?

266:デフォルトの名無しさん
10/02/10 10:30:27
VS2010に関して言えばレンダリングにWPF使ってるだけなので
WPFだから特に楽って事もないだろう

267:デフォルトの名無しさん
10/02/10 15:12:52
WPFでフリーソフト作ってるけどWinXPは動作保障外にしてる
間違ってないよね俺

268:デフォルトの名無しさん
10/02/10 15:19:44
>>267
間違ってます

269:デフォルトの名無しさん
10/02/10 15:21:37
フリーソフトで動作保証なんてあるんか?

270:デフォルトの名無しさん
10/02/10 15:24:47
>>269
上手く動かなくても知らんってこと

271:デフォルトの名無しさん
10/02/10 15:46:09
フリーソフトなんだから好きにしたらいいよ

272:デフォルトの名無しさん
10/02/10 19:30:19
XPなんて臭いもん外すだろ…>>267は正しい

273:デフォルトの名無しさん
10/02/10 19:33:19
WPFを使っているとXPとVista/7で細かい部分で挙動が違うことがままあるからなぁ…
XPを保証外ってのは賢明だな。

274:デフォルトの名無しさん
10/02/10 19:36:04
XPは臭いのか

まあそれはいいとして確かにXP->Vistaでかなり変わってるからなあ

275:デフォルトの名無しさん
10/02/10 20:59:02
そろそろ保証外にしてもいいんじゃないの?フリーソフトなら。
仕事だとなかなかそうはいかんかもしれないけど。

276:デフォルトの名無しさん
10/02/10 21:43:12
>>266
VS2010で再変換が使えるようになったのはWPF採用のおかげだと思う。

277:デフォルトの名無しさん
10/02/10 21:54:37
再変換って?

278:デフォルトの名無しさん
10/02/10 21:56:43
え?

279:デフォルトの名無しさん
10/02/10 21:59:35
再変換って言われてもIMEの再変換くらいしか思いつかない

280:デフォルトの名無しさん
10/02/10 22:11:42
違うのか?

281:デフォルトの名無しさん
10/02/10 22:26:36
VS2010で再変換できるのがそんなにうれしいのかなと

282:デフォルトの名無しさん
10/02/12 15:11:04
WPFで、Silverlightアプリをホストできますか?

283:デフォルトの名無しさん
10/02/12 16:43:40
できるよ

284:デフォルトの名無しさん
10/02/12 20:12:47
codeplexにあったな

285:デフォルトの名無しさん
10/02/17 15:39:06
マウスクリックしてPopup表示するのどうすればいいんだ?
最初から表示させとくことしかできないの?

286:デフォルトの名無しさん
10/02/17 15:57:18
tooltipなのかダイアログかはっきり汁

287:デフォルトの名無しさん
10/02/17 16:03:08
Popupクラスだよ
イベントハンドラかいて出来たけど

288:デフォルトの名無しさん
10/02/18 13:05:12
DataGridで右寄せにするにはどうすればいいですか?
あるサイトにあった

<Style x:Key="NumberColumnStyle" TargetType="{x:Type my:DataGridCell}">
<Setter Property="HorizontalAlignment" Value="Right" />
</Style>

をそのまま書くとPropertyDescriptorの値が無効ですといわれてしまいます

289:デフォルトの名無しさん
10/02/18 13:45:39
・・・忘れてください

290:デフォルトの名無しさん
10/02/18 14:30:15
忘れられるもんか

291:デフォルトの名無しさん
10/02/18 17:01:05
あなたのことが忘れられないの///

292:デフォルトの名無しさん
10/02/18 19:15:11
俺が忘れさせてやるよ

293:デフォルトの名無しさん
10/02/18 20:21:05
金属バットで頭をバコーン☆! か

294:デフォルトの名無しさん
10/02/19 05:29:22
URLリンク(msdn.microsoft.com)
ここの解説で、
>この不要なオーバーヘッドを回避するには、
>WPF に対して、イメージをサムネイル サイズにデコードするように要求するか、

これはBitmapSourceを生成する時点で大きさを指定することで、

>サムネイル サイズのイメージを読み込むように要求します。

これはもとから小さいサイズの画像を用意しておくってことでいい?
ImageコントロールのWidth/Heightでの指定は非効率つーことだよね

295:デフォルトの名無しさん
10/02/19 05:35:55
>>294
その辺はメモリやディスクの場所とCPU(GPU)の演算資源とのトレードオフだよ

どの段階でサムネイルを用意するかはソフト次第ってところだけど
たとえば3Dゲームなんかだとミップマップというのがそれっぽい
画像の管理かなあ

296:デフォルトの名無しさん
10/02/20 11:48:58
質問です。

画像読み込み用スレッドにて作成した System.Windows.Media.Imaging.BitmapImage
クラスを、ウィンドウのある元スレッドにて使用したいのですが、
InvalidOperationException が発生し、動作しませんでした。

別のスレッドからWPFエレメントを操作しようとすると、
同様の例外が発生することから多分無理だろうと思っていましたがやはりダメでした。

読み込む画像のサイズが大きくそれなりに数があるので、
できれば読み込みは非同期で行いたいと思っております。

どのような解決方法がございますでしょうか?


297:デフォルトの名無しさん
10/02/20 12:09:35
>>296
BitmapImage読み込み後にFreezeすればスレッド間で共有できる筈

298:デフォルトの名無しさん
10/02/20 12:55:58
>>297
早速調べてみます、ありがとうございます!

299:デフォルトの名無しさん
10/02/20 13:17:10
>>297
無事成功しました。

操作したい場合はCloneで置き換えればよいみたいですね。
ありがとうございました。

300:デフォルトの名無しさん
10/02/20 17:52:46
最近WPF使ってるが、バインディングやらテンプレートのせいで
ちょっと規模が大きくなってくるとコードの見通しが絶望的に悪くなってくる。
せっかくC#なのに・・・

301:デフォルトの名無しさん
10/02/20 17:57:45
そりゃ本来XAMLは人が読み書きするもんじゃないから

302:デフォルトの名無しさん
10/02/20 17:59:44
>>301
じゃ、どーやってつくるんだよ

303:デフォルトの名無しさん
10/02/20 18:01:34
XAMLでプログラムとデザインや設定が綺麗に分離されたのは素晴らしいんだが
WPFの本領を発揮しようとすると途端に至る所で色んな処理を書かなきゃいけなくなって死ぬ

304:デフォルトの名無しさん
10/02/20 18:03:25
XAMLはGridだけで充分

305:デフォルトの名無しさん
10/02/20 18:05:28
>>304
表示も入力もできないよママン

306:デフォルトの名無しさん
10/02/20 18:36:38
XAMLはエディタが全プロパティきっちり書けるようになってからが本領発揮だと思う。
いまはどうしても手で書き足さないとだめだもんな。

Expression Blendは使ったことないからわからない。

307:デフォルトの名無しさん
10/02/23 11:52:03
WPF Toolkit - February 2010 Release

308:デフォルトの名無しさん
10/02/23 11:58:44
>>307
kwsk

309:デフォルトの名無しさん
10/02/23 12:37:08
>>307
うぉ、マジだ…
URLリンク(wpf.codeplex.com)

310:デフォルトの名無しさん
10/02/23 12:38:50
Ratingってなーに?

311:デフォルトの名無しさん
10/02/23 12:48:42
iTun○sのアレ

312:デフォルトの名無しさん
10/02/23 18:08:56
・18歳未満使用禁止になりました
とかだとは流石に思わなかった

313:デフォルトの名無しさん
10/02/28 16:59:57
WPF始めてサンプル作ってみたが、UI外観のカスタマイズやアニメーションがタグ要素だけでできて実行ファイルサイズも小さいんだな
リソースどうなってん?
XAMLがUI要素だけのための超高級言語っぽくて正直とっつきにくいが、日本語解説サイトもっと増えてくれー!
ついでにasp.net使える無料スペースも増えてくりゃれ、ドメインはいらんのです



314:デフォルトの名無しさん
10/03/04 19:53:39
WPFは無くなると思うよ。
もともと.NET FrameworkにGUIアプリ向けのライブラリが混入してること自体が間違いだし、それをSilverlightで是正しようとしてるね。

315:デフォルトの名無しさん
10/03/04 21:22:57
えっ?

316:デフォルトの名無しさん
10/03/04 21:25:15
何それこわい

317:デフォルトの名無しさん
10/03/04 21:27:31
WPFは無くならん

何を勘違いしてるのか知らんが、.NETをはじめとしたMSの言語群は「短期間で高品質な生産」を行うためにある
つまりアイデアが最も重要で、使い方を考えられない人間は価値を見いだせていないだけだ

318:デフォルトの名無しさん
10/03/04 21:37:58
なくならないだろうけど
クライアントアプリはなんかどんどん微妙な立ち位置になってきてる気はするね。

319:デフォルトの名無しさん
10/03/04 22:09:13
WPFはGridだけ残るよ

320:デフォルトの名無しさん
10/03/04 22:38:42
Silverlightでもクライアントアプリ作れるし、将来的に完全にWPFに置き換わるようになっていくってこと。
WPFにある程度追いついてしまったらSilverlightの方が幅広く活用されるのはは当然です。

Gridありますし。

321:デフォルトの名無しさん
10/03/04 22:54:37
Silverlight も WPF も基本は一緒だもんな。


322:デフォルトの名無しさん
10/03/04 22:56:26
設計は全然違うけどな
Silverlightの勝利はマネージコードの敗北です

323:デフォルトの名無しさん
10/03/04 23:30:53
>>320
>Silverlightでもクライアントアプリ作れるし、将来的に完全にWPFに置き換わるようになっていくってこと。

将来Visual Studioの実装がSilverlightで置き換えられるって? んなアホな。
Visual Studioの軽量版がSilverlightで実装されることはあるかもしれないが、
それは新規需要の開拓であって今のVisual Studioの置き換えでは無かろうよ。

324:デフォルトの名無しさん
10/03/04 23:58:39
Vistaを7で無かったことにするのと同じですよ

325:デフォルトの名無しさん
10/03/05 00:13:44
エッセンシャルの先頭10ページを読めばどうしてWPFが必要か理解できて、そんな寝言など出てこないはずなんだが
キミがそう思うのは自由だがひとには話さないことだな

326:デフォルトの名無しさん
10/03/05 00:26:27
WPFで作られたアプリが起動しなくなった
WPFじゃないアプリじゃこんなことなかったのに

327:デフォルトの名無しさん
10/03/05 01:07:10
釣針垂らすならもうちょっと頑張れよ…

328:デフォルトの名無しさん
10/03/05 07:55:34
>>314
gui用のライブラリが入ってるのが間違いとか、意味分からんわ。
view無しのフレームワークとかありえんだろ。ウェブのDOMも間違いとかいい出しそうだな。


329:デフォルトの名無しさん
10/03/05 08:19:56
>>325
先頭10ページを要約してよ。

→ 自分で買って読め

はいはい

330:デフォルトの名無しさん
10/03/05 10:54:55
そのへんの書籍がよくフリーでpdf公開されてたりするのも知らんのだろうな

331:デフォルトの名無しさん
10/03/05 12:23:09
URLも示さずに何言ってんのこの人。
エッセンシャルは公開*されてません*

332:デフォルトの名無しさん
10/03/05 12:37:34
SilverlightはUI周りの実装がなあ
さすがにXAMLパーサまでアンマネージコードで実装するのはどうかと

333:デフォルトの名無しさん
10/03/05 12:37:56
立ち読みでもしてこいよ。おれはおまえのママじゃないんだから

334:デフォルトの名無しさん
10/03/05 18:54:28
>>333
実は読んだことないでしょ?w

335:デフォルトの名無しさん
10/03/05 22:44:45
WPFやってるやつならみんな持ってるよ。これしかまともな本がないからな。君はもってないのか? 笑う。

336:デフォルトの名無しさん
10/03/05 23:21:14
マトモとは思えないが、相対的にはマトモだなw

337:デフォルトの名無しさん
10/03/05 23:33:56
WPF詳しい奴本書いて出版しろよ
今ならベストセラー狙える

338:デフォルトの名無しさん
10/03/06 00:20:54
>>335
俺もってないけど?
普通はMSDNだのブログだので充分だと思うが。

339:デフォルトの名無しさん
10/03/06 01:07:31
WPF本は2年ぐらい前にここで教えてもらったAdam NathanのWPF UnleashedとエッセンシャルWPFしか読んでない。
最近はネットの情報も増えてきて随分過ごしやすくなったね。

340:デフォルトの名無しさん
10/03/06 03:55:02
本を所持してるだけでどんだけ高圧的になれるんだw

341:デフォルトの名無しさん
10/03/06 09:50:06
>>339
その本正直ゴミみたいな本だよね

342:デフォルトの名無しさん
10/03/06 10:39:55
>>338
ほぼそれで大丈夫だよ。

343:デフォルトの名無しさん
10/03/06 12:23:51
Programing WPFは良かったよ。Pro WPFはどうなんだろ。
日本語の本では、新しいのが出ないね。

344:デフォルトの名無しさん
10/03/06 13:11:01
WPF流行ってないからしかたない。
今使ってる層はWebから情報得たり英語ソースあたったりする層ぐらいじゃないの?



345:デフォルトの名無しさん
10/03/06 13:38:29
すみません、質問です。
これからwpf入門をしようと思い、サイトなどを見ているのですが、
以下のサイトの記述は誤りであるという解釈でよろしいのでしょうか。

URLリンク(www.atmarkit.co.jp)
> Silverlightはラインタイムのサイズを4MBytes台に抑えるという
> 至上命令があったため、WPFと比べると機能が削られているという
> 違いが存在する。

「ラインタイム」ではなく「ランタイム」だと思うのですが、
別にそういう用語があるのか気になってます。

346:デフォルトの名無しさん
10/03/06 13:44:41
ランタイムで合ってると思うよ。

347:デフォルトの名無しさん
10/03/06 13:45:53
ないです

348:デフォルトの名無しさん
10/03/06 13:47:56
>>346
ありがとうございます。

349:デフォルトの名無しさん
10/03/07 00:05:23
SilverlightのUIフレームワークはWPFに似せた全くの別物なので
WPFと比べて削られてるって言うのはちょっと不適切だと思う
.NET Frameworkと比べてSilverlightは機能が削られているというならわかるけど


350:デフォルトの名無しさん
10/03/07 11:54:17
Expressionの開発に携わってる人が、SilverlightはWPFのサブセットだって言ってたよ。

351:デフォルトの名無しさん
10/03/07 17:29:50
サブセットなめんな

352:デフォルトの名無しさん
10/03/07 18:48:56
silverlightがサブセットといってもWPFが完全な上位互換でも無いんだよね。
silverlightにあってWPFに無い機能もあって移植のときに困る。

353:デフォルトの名無しさん
10/03/07 18:52:27
じゃあどちらか無くした方がいいな

354:デフォルトの名無しさん
10/03/07 19:29:00
UI部分に関してはAPIは似てるけど実装が全く違うんだよな
他のところはだいたいそのまま.NETのコードを拝借しただけなんだけど

355:デフォルトの名無しさん
10/03/08 22:09:33
ようするにバカは使うなってことだ
ユトリは大人しくオナニーでもしてろ


356:デフォルトの名無しさん
10/03/09 11:32:09
>>344
結局は面倒くさいからな
マイクロソフトのこの手の製品の癖として、何でも出来るようにさせるがために、全体の簡便さや明快さを犠牲にする。

作るソフトの特殊度・高機能度   低  中  高
要する労力               30 50 70 

これを、                 15 30 100
くらいの設計思想にしたっていいように思うがそうはしない。

ソフト制作の環境が昔と様々に違っている上、「また数年も経てば新プログラミング製品を出すんだろ?だとしたら過渡期のものをいちいち細かく研究してられるか。」感も強く、流行らないのも仕方ない。

357:デフォルトの名無しさん
10/03/09 11:48:54
でもおまえらもこれくらい10分もあれば作れるだろ
URLリンク(www.dotup.org)

358:デフォルトの名無しさん
10/03/09 12:00:40
>>537
WPF と全然関係なくね?

359:デフォルトの名無しさん
10/03/09 12:10:24
おまえらのいうWPFってGUI記述マークアップのことじゃないのか

360:デフォルトの名無しさん
10/03/09 13:29:06
MS製の割には無駄に複雑な感があるよね
Javaみたい

361:デフォルトの名無しさん
10/03/09 15:51:45
むしろMSの代名詞みたいなもんじゃないか>無駄に複雑

362:デフォルトの名無しさん
10/03/09 16:01:49
OLE/COM時代を通っている者ならば問題ない

363:デフォルトの名無しさん
10/03/09 16:37:36
無駄に複雑な方が色々金になるし。
あんまり簡単すぎるとうちらの仕事もなくなっちゃうよorz

364:デフォルトの名無しさん
10/03/09 16:42:22
依存プロパティ作るのめんどくさいからバインディングとかあまり使ってない

365:デフォルトの名無しさん
10/03/09 17:01:04
バインディング使わないとか勿体無すぎる

366:デフォルトの名無しさん
10/03/09 17:12:59
バインディングは使っても依存プロパティ自体あまり使わないと思うの

367:デフォルトの名無しさん
10/03/09 17:21:53
プロパティ型、プロパティ名、定義している型、初期値の4つを指定するだけじゃん
自動実装のプロパティと比べて2つも増えているのが面倒とか?

368:デフォルトの名無しさん
10/03/09 17:24:33
あとおまけでCLRラッパーも

369:デフォルトの名無しさん
10/03/09 17:57:11
依存関係プロパティは専用の構文とか用意すべきだったと思う。
正直くどい。

370:デフォルトの名無しさん
10/03/09 18:42:37
たしかにくどいけどC#全般がそういう言語だと思うことにした。
Visual Studio使っていれば、propdp[Tab][Tab]と叩くいて雛形を埋めるだけで出来上がるし。

371:デフォルトの名無しさん
10/03/09 18:47:50
スニペット必須なぐらいならいっそ #define みたいな仕掛け用意しときゃいいのにね。
不毛すぎる。

372:デフォルトの名無しさん
10/03/09 20:17:36
ツールヒントの表示の仕方も分からない

373:デフォルトの名無しさん
10/03/10 13:13:42
WPFはなくなるの?




答えはもちろんNO!

374:デフォルトの名無しさん
10/03/10 15:24:48
まあさすがに30年ぐらいしたらなくなってるとは思う。

375:デフォルトの名無しさん
10/03/10 15:30:32
COBOLは残ったんだよな・・・そう言われつつ

376:デフォルトの名無しさん
10/03/10 17:37:34
無くなると分かっている技術を習得しなければならないこともあるということさ

377:デフォルトの名無しさん
10/03/10 17:55:12
というよりSE/PGは(それに限らずどんな職業も)そういったくだらないその場限りの
バッドノウハウをお客さんのかわりに網羅する仕事だもんな。

Oracle のあるバージョン特有のチューニング方法とかどう考えても10年後20年後に役立つ知識じゃない。

378:デフォルトの名無しさん
10/03/11 00:30:28
1日役に立てば十分だ

379:デフォルトの名無しさん
10/03/11 01:17:27
WPF は Silverlight 4 の INotifyDataErrorInfo みたいにコントロールに非同期でエラーを伝える方法ってないのかな?
DataGrid で行の確定ごとにサーバーに問い合わせて、エラーを表示したいんだけど良い方法が分からない。

380:379
10/03/11 22:13:56
自己解決した。
IDataErrorInfo と INotifyPropertyChanged を実装してエラー更新後に PropertyChanged 呼んでやれば良いだけだった。
PropertyChanged でエラー情報も拾ってくれるんだね。

381:デフォルトの名無しさん
10/03/12 20:55:17
VisualStudio2008 SP1 VC# 2008
WPF3.5 で開発しています。

[DllImport("user32.dll")]
public static extern bool SetProp(IntPtr hWnd, string lpString, IntPtr hData);

this.Loaded += new RoutedEventHandler(
delegate(object sender, RoutedEventArgs arg) {
var source = new WindowInteropHelper(this);

SetProp(source.Handle,
"MicrosoftTabletPenServiceProperty", new IntPtr(0x01000000));
}
);

によってマルチタッチを有効にし(これはMSDNのサンプルからも得られる知識です)、
Stylusイベントによってマルチタッチアプリを開発しています。
参考になるサイトは以下です。
URLリンク(blog.andreweichacker.com)

MSDNのサンプル、↑のブログ、その他海外のサイト、どこを見ても
StylusDown, Up によってタッチの有無を判定していますが、
StylusEnter, Leave を用いたものを見たことがありません。

試しに Enter, Leave のイベントを記述し、対応する関数内で
(たとえば)listBox1.Items.Insert(0, "Stylus Enter" + e.StylusDevice.ID);
などと記述すると、Enter, Leave は問題なく取得できています。

が、1本目の指で StylusEnter し、2本目の指をウィンドウ内にタッチすると
Enter, Leave が暴走します。

(※すみません、次のレスに続きます)

382:381
10/03/12 21:09:20
(※続きです)
window1 内に、Rectangle1, Rectangle2 を配置し、
線を太くし、それぞれに StylusDown, Up, Enter, Leave の関数を記述します。
各関数では、↑に貼ったURLのように StylusのIDで条件分岐し、
Rect1/2 どちらのイベントか、Down/Up/Enter/Leaveどのイベントか
が分かるように、文字列として出力するとします。

■試行1(Enter, Leaveのイベントを取らない場合)
・Rect1をタッチすると、"Rect1 Down 16" みたいに表示されます。
 16はStylusDevice.IDの例です。
・Rect1上から指を離すと、"Rect1 Up 16" みたいに表示されます。
・Enter, Leave, Rect2の場合も同じです。
・Rect1をタッチしながらRect2をタッチすると、"Rect1 Down 16" に続いて
"Rect2 Down 17" みたいに表示されます。
 続いて指を離すと、指に応じたIDが "Up" された表示が出ます。

■試行2(Enter, Leaveのイベントを取る場合)
・Rect1の外をタッチして、Rect1の中にスライドさせると、"Rect1 Enter 16"みたいに表示。
・そのままLeaveすると、"Rect1 Leave 16"みたいに表示。
・Rect1に Enter した状態で、Rect1, Rect2 の外をタッチすると、
 "Rect1 Leave 16", "Rect1 Enter 16" "Rect1 Leave 16" "Rect1 Enter 16" ...
と、次々と表示されます。
・Rect1に Enter した状態で、Rect2をタッチすると、
"R1 Leave 16" "R1 Enter 16" "R2 Leave 17" "R2 Enter 17" "R1 Enter 16" "R1 Leave 16" "R2 Enter 17"...
 と、次々と表示されます。

これが何故か分かる方、
また、この対処方法が分かる方はおりますでしょうか?

長文、申し訳ありませんがよろしくお願いします。

383:デフォルトの名無しさん
10/03/12 21:18:58
単純に「内部で単一のポイントとしてエンたーりーぶを計算している」ってことだろ。

間違っても「どうすればいいか」とかは聞かないでくれよ。

384:381
10/03/12 21:33:23
>383
早速のレスありがとうございます。

Down, Up は同一のポイントとして計算はされず
Enter, Leaveは同一として計算される
ことが分かる情報があるということでしょうか。

Down, Up と Enter, Leave に大きな違いがある
という情報にあたった経験がありません・・・。

よろしくお願いします。

385:デフォルトの名無しさん
10/03/12 21:43:57
きみが「こう実装されてるはずだ!」とどんだけ叫ぼうと帰ってきたイベントが答えだよ
いいたいことがあるなら上司かMSにでも言え。俺に言うな。

386:381
10/03/13 01:16:49
>>385
失礼しました。
>>383がそういう意図とは取れませんでした。

業務内容とはことなりますが
SRで訊けるかとり合ってみます。

387:デフォルトの名無しさん
10/03/15 15:26:35
TreeViewのSelectedItemプロパティが読み取り専用のため、コード上で
treeview.SelectedItem = item;
のように指定できません。
例えばディレクトリ構成をツリー表示している場合、初期ディレクトリを開いて
選択状態にしたい時はどのようにしたらいいでしょうか?

388:デフォルトの名無しさん
10/03/15 17:18:43
>>387
つEnsureVisible()

389:デフォルトの名無しさん
10/03/15 17:33:12
普通に、IsSelected=trueするだけだろ

390:デフォルトの名無しさん
10/03/19 01:16:40
WPF M-V-VM Toolkit 0.1のドキュメント
Model-View WPF Applications--Part 2, Walkthroughにおいて
コマンド呼び出しにわざわざCommandReferenceを間にかませているのだけど
これは何の意味があるのでしょうか?
ViewModelのプロパティ名を記述する部分を一箇所にまとめるという意味はあると思いますが。。。

そもそもCommandReference自体が何をするためのもの?


391:390
10/03/20 01:06:56
<KeyBinding Key="X" Modifiers="Control" Command="{StaticResource ExitCommandReference}" />

となってるところを

<KeyBinding Key="X" Modifiers="Control" Command="{Binding ExitCommand}" />

こうしちゃえばいいじゃんと思ったら依存関係プロパティじゃないからバインドできないということなのね~

StaticResourceでワンクッション置けばできる仕組みはなんとなくしか理解してないが
バインドできない(Dependencyでない)プロパティ用の中継オブジェクトという認識で理解。


392:デフォルトの名無しさん
10/03/20 20:34:28
Microsoft Extensible Application Markup Language (XAML) technical documentation set
URLリンク(www.microsoft.com)

読んでないけど、なんか来てた。

393:デフォルトの名無しさん
10/03/20 20:49:32
XAMLで書かれたベクタ画像を動的に読み込んで表示したいのですが、
どうしたらいいでしょうか?

394:デフォルトの名無しさん
10/03/20 20:53:25
XamlReader.Load

395:デフォルトの名無しさん
10/03/20 21:03:10
これでも動く。
[STAThread]
static void Main(string[] args) {
 Application application = new Application();
 application.StartupUri = new Uri(new FileInfo(args[0]).FullName);
 application.Run();
}


396:デフォルトの名無しさん
10/03/21 15:27:44
等幅フォントを列挙するにはどうしたら良いんでしょうか?
Fonts.SystemFontFamilies で列挙できる FontFamily で等幅かプロポーショナルか
判断する方法ありますか?

397:デフォルトの名無しさん
10/03/22 00:41:43
OnClosingのタイミングで設定保存とか続行確認とかしたいので
OnClosingとかOnLoadイベントにICommandをバインド?したいのですが
どう書けばいいのですか?
xamlに直接書けないのかな?
イベントハンドラ作ってxaml.csにコードで書くのかな?
できないことはないと思いますがぐぐっても情報が見つけられないです


398:397
10/03/22 23:32:43
いろんなblogとか見てると
MVVMでのイベント処理は結構悩みどころなんですね。

添付プロパティをくっつけてイベントキックさせるというメンドクサイやりかたが見つかりました。

URLリンク(blogs.wankuma.com)

xaml的には美しいですけどね・・・
このままではあまりに使い勝手が悪いので汎用的になるように改造してみます。
てか絶対誰か既に作ってるだろ。。。趣味だからいいんだけれどね・・・

399:デフォルトの名無しさん
10/03/23 10:59:35
OnClosing とかポップアップは MVVM 的にすとんと落ちないらしいよね。
個人的には落ちない部分は大人しくコードビハインド書いたらいいのにとは思うけど。

400:デフォルトの名無しさん
10/03/23 13:36:30
ViewModel→Viewの操作でどうしてもバインドで書けないところは
var service = (IWorkspaceService)this.Services.GetService(typeof(IWorkspaceService));
service.OpenWorkspace(HogeWorkspaceViewModel);
みたいにしたらだいたいなんとかなるとおもう

401:デフォルトの名無しさん
10/03/23 14:42:36
Eventにコマンドをバインドしたければ
AttachedCommandBehaviorが使えるよ。
URLリンク(marlongrech.wordpress.com)

402:デフォルトの名無しさん
10/03/23 16:22:41
WPF3.5でテキストがGDIに比べてぼやけた状態で描画されてしまう問題に対応しようとしています。

私なりに調べた結果、WPFの描画の際に論理座標で色を配置する仕様が原因であること、図形と画像については
RenderOptionsのパラメータで解決させることができる。
ですがテキストに関しては解決させる方法が見つからないでいます。
WPF4.0から対応するといった内容のページも見つけましたが、なんとか解決させたいと思っています。
どなたか解決方法を教授願えませんでしょうか。



403:397
10/03/23 17:04:58
>>399
まぁ >>122 ということなのです。
WPF触りたてなのでまだまだMVVMの華麗なる疎結合に夢と希望をもっていますのでw

>>400
IWorkspaceService ってインターフェースはMSDNもグーグルさんも知らないとおっしゃってるのですが・・・

>>401
おお!すばらしいです。
ぱっとみ問題ありそうなのはEventArgsが利用できなさそうなくらいですかな。
大変参考になります。

こんな↓ページを見つけまして
URLリンク(blogs.microsoft.co.il)

でも上のはRoutedEventにしか対応してないから普通のEventHandler対応版を追加するのに
リフレクション使ってイベント名からイベント追加してというコードを作ったのですが
同じコードがあるじゃないか・・・orz



404:デフォルトの名無しさん
10/03/23 17:29:16
>>402
WinFormsHost
敗北宣言に等しいけど

405:デフォルトの名無しさん
10/03/23 17:38:10
カスタムスタイルでレイアウトの入れ子が増えるとおかしくなる。

406:デフォルトの名無しさん
10/03/23 17:48:50
知らん
XAMLくらい出せるだろ

407:デフォルトの名無しさん
10/03/23 22:35:36
あと、.NET 3.5のWPFでぼけたように見える原因の1つに埋込ビットマップをまったく使わないせいというのもある。
だからどうしたらいいと言えるわけではないけれど。

408:デフォルトの名無しさん
10/03/23 22:51:45
VS2010RC, WPF4.0
を使っているのだが、
Win32におけるWM_GESTUREみたいなもので
Gestureイベントってあるのかな?

zoomとかrotateとか簡単に取得できると
良いのだが。

409:デフォルトの名無しさん
10/03/23 22:59:34
WPF マルチタッチ
でググる

410:デフォルトの名無しさん
10/03/23 23:34:37
>>409
それで解答が得られたのであれば
本気で教えて欲しい。
どうせ「WPF マルチタッチ」でググったことないんだろ?

411:410
10/03/23 23:38:39
>>409
正直スマンかった。
最近、海外のサイトばかり回っていたのだが
日本のサイトでもWPF4.0について書かれているサイトが
少しずつ増えているんだな。

412:デフォルトの名無しさん
10/03/24 21:26:14
これXPには対応していない部分とかあるの?
XP用に開発するのは無謀?

413:デフォルトの名無しさん
10/03/24 22:33:26
XPだとなんか重いし、見た目もいまいちだし。
俺はもうXPはサポート外でやろうと思ってるくらいだ。

414:デフォルトの名無しさん
10/03/24 23:08:34
WPF初めて触って面白そうと思ったんですが(まだハローワールドしかやってないんですが)そんなにはやってないんですか
XPだと表示が微妙なんでしょうか?

415:デフォルトの名無しさん
10/03/24 23:09:18
Silverlight使えば?
Silverlight4ならブラウザ外実行の普通のデスクトップアプリケーションとして
CDなどで直接配布できるよ

416:デフォルトの名無しさん
10/03/24 23:17:52
>>414
微妙っていうか重いってのが一番のネックかと。
今のところ、WPF でやってみました!!なんてのが売りになるぐらい流行ってないと思う。
少なくとも国内では。

417:デフォルトの名無しさん
10/03/24 23:28:38
WindowsFormで作られたC#アプリを
簡単にWPFのGUIに移行できる?
簡単に言うとform1だけwindows1にするだけで
作り変えられるのか?ってとこが疑問なんだけど
このGUIで非同期とか実現できるのかなー

418:デフォルトの名無しさん
10/03/24 23:31:12
新しい概念が登場しすぎで全体像把握すんのが大変
昔の素朴なイベントキューアーキテクチャって一目で理解できたもんな
それってある意味ではすごい

419:デフォルトの名無しさん
10/03/24 23:32:32
>>417
ならない

細かいところで変わってるから

420:デフォルトの名無しさん
10/03/24 23:33:31
>>417
> form1だけwindows1にするだけで作り変えられるのか?
一応WinFormとの相互運用性は確保されてるが、
Windowに直接System.Windows.Forms.Controlは乗せられないから多少手間が必要
しかしそれ以前にそもそもWPF使う意味皆無だろそんなもん

> このGUIで非同期とか実現できるのかなー
意味分からん

421:デフォルトの名無しさん
10/03/24 23:38:29
>>416
重いんですか、残念
こういうの待ってたんだけどなぁ
Silverlightってwikipedia見る限りWPFと同じなのかな??は調べてやってみまする

422:デフォルトの名無しさん
10/03/24 23:39:54
XPだと重いってどういうことよ?
プラットフォームに依存しないんじゃないの?

423:デフォルトの名無しさん
10/03/24 23:40:55
同じPC/AT互換プラットフォームなら全て同じ性能出せと言いたいのか

424:デフォルトの名無しさん
10/03/24 23:41:04
>>422
GUI周りの構造の問題じゃないの?

試してないけどもしかするとvistaのAero切ったらだめってのと同じかもね

425:デフォルトの名無しさん
10/03/24 23:42:41
まあSilverlightなら軽いし確実に同じ外観と操作性を実現できるもんなあ

426:デフォルトの名無しさん
10/03/24 23:43:42
vista以降ってOSのGUI周りがゲームと変わらないといっても過言じゃないくらい
GPUと融合果たしてるけど、xpまでは2Dが基本なのでWPFだといろいろ
無駄がありそうってイメージ

427:デフォルトの名無しさん
10/03/24 23:59:15
細かい違いはあるけど Silverlight 覚えるのも WPF 覚えるのも大差ないような気はするよね。


428:デフォルトの名無しさん
10/03/25 04:20:54
Expression Blend 3をダウンロードしてみたんだが
UIがめっちゃオサレですね
でも使い方が全然わからん
ほんとにデザイナさんこんなの使えるの???

429:デフォルトの名無しさん
10/03/25 06:40:20
flashでas3やってるデザイナなら使えると思う

430:デフォルトの名無しさん
10/03/25 10:53:57
体を使う技はデザイナでも訓練しなければ云々

431:デフォルトの名無しさん
10/03/25 13:04:21
>>426
OSはあんまり関係ないよ
WPFは基本的にウィンドウ内で完結してるのでほんとにゲームと全く変わらない

432:デフォルトの名無しさん
10/03/25 17:46:11
描画システムが違うって点でOS関係あるんじゃないの?

433:デフォルトの名無しさん
10/03/25 17:59:00
XPがWDDM1.1に対応してないという点では関係ある
ウインドウの中身をdirectxで書いてるという点では関係ない

434:デフォルトの名無しさん
10/03/25 22:30:39
XPだとGPU支援が得られず、CPU負荷が大きい。
なのでOSは思いっきり関係ある。

435:デフォルトの名無しさん
10/03/25 22:33:57
それ迷信
単なるゲームだと何度言ったら

436:デフォルトの名無しさん
10/03/25 22:42:50
XPでGPUアクセラレーションが効かないっていう噂の発端は
XPでは透明ウィンドウがソフトウェア処理されていたこと
.NET3.5ではXPでも透明ウィンドウにGPUが効くようになった

437:デフォルトの名無しさん
10/03/25 22:49:27
なるほど。
3.5以降ターゲットで作ればVista以降と比べて遅いってことはなくなるのか。

438:デフォルトの名無しさん
10/03/26 00:13:16
3.5のせいでウィンドウフックするタイプのソフトは全部使えなくなったわ

439:デフォルトの名無しさん
10/03/27 01:22:15
WPF3.5 SP1 です。

イラレで描いた絵をXAML形式で吐いて
WPFに配置することはできますが、
以下のことは可能でしょうか?

 ・座標 (a, b) を設定する
 ・ボタンを押す
 ・指定した座標に、イラレで描いた絵を配置する

たとえば、ある canvas に対する相対位置 (a, b) に
XAML形式のものを配置するということを、C#のコードで
実現することは出来るのでしょうか?

440:デフォルトの名無しさん
10/03/27 08:06:13
できるとしか答えられない

441:デフォルトの名無しさん
10/03/27 08:23:34
>>440
*.cs からイラレxamlって生成できるの?
どうやんの?

442:デフォルトの名無しさん
10/03/27 08:27:29
どうやるかは分からないが
労力を無視すれば
どんなことであれ不可能ではないだろう

443:デフォルトの名無しさん
10/03/27 09:08:38
*.cs で、はしらんけどイラストレーターには Xaml 出力のプラグインがあったよ?

URLリンク(www.mikeswanson.com)

444:デフォルトの名無しさん
10/03/27 09:24:27
>>439
XamlReaderでXAMLを読み込んでXAMLのルート要素の型(IllustratorならたぶんCanvas)にキャスト
Canvas.SetLeftとCanvas.SetTopで位置を設定
配置されてるCanvasのChildrenに追加


445:デフォルトの名無しさん
10/03/27 15:17:30
あるいはC#で静的にXAMLファイルを書きかえる

446:デフォルトの名無しさん
10/03/27 19:26:24
>>442
~でできますかという言い方をすれば俺ならこうやってできるぜ
という人が必ず現れるので労力は無視できる。

447:デフォルトの名無しさん
10/03/27 19:37:45
>>446
それが2ちゃんの正しい使い方

448:デフォルトの名無しさん
10/03/27 19:39:35
「◯◯って××も出来ないんだね→ばーかばーか、△△で出来るっつーの」メソッドと、
「◯◯ってどうやるんでしょう?→△△で出来ますよ(嘘自演)→アホ、□□だ情弱」メソッドもあるでよ。



449:デフォルトの名無しさん
10/03/27 19:44:39
もはやそのメソッドも使い古されて「△△で」「□□だ」は書かれない傾向が

450:439
10/03/27 22:09:58
>>443
ありがとうございます。
そのプラグインで生成したxamlを *.cs.xaml に記述するのではなく
*.cs の中から生成したいのです。

>>444
ありがとうございます。
今、外出中なので帰宅したらやってみます。
また、いただいた情報から更に調べてみます。

>>445
ありがとうございます。
検索の手がかりになるキーワードだけでも
教えていただけないでしょうか。

451:デフォルトの名無しさん
10/03/28 02:42:38
WPF覚える前に検索方法覚えたほうがいいんじゃね

検索キーワード聞かなきゃ検索できないとか冗談にもならないレベルだよ

452:デフォルトの名無しさん
10/03/28 09:35:00
いやいや何言ってんだ・・・キーワード知らなきゃ検索出来んだろ普通。


453:デフォルトの名無しさん
10/03/28 10:41:34
>>439
大漁でしたね

454:デフォルトの名無しさん
10/03/28 12:24:39
google入門とか読めよ。

簡単に言うと、自分が思いつくいちばん近いキーワードで検索してページを読んで
もっと近そうなキーワードを見つけていくんだよ。誰でもできるだろ? やれ。

455:439
10/03/28 14:13:30
ネットはテレホーダイの時代以前から触っているので
それなりに検索術はあると思っていますが
皆さんの反応を見る限り、そうではなかったようです。

>>454氏の書き込んでいることはもはや当然のことで、
かれこれ3週間MSDNやらcode projectやらブログやらを
探っていますが、解に到達できていません。
その上で質問に来ています。

が、経験上、この流れになったが最後、
これ以上の情報をこのスレで得ることは困難なため
大人しく身を引きます。ありがとうございました。


>>453
遊びではありません。

456:デフォルトの名無しさん
10/03/28 14:38:44
傲慢過ぎワラタ こんな捨て台詞数年ぶりに見たわ

457:デフォルトの名無しさん
10/03/28 16:01:23
そうか?俺も他スレで同じ経験すること多いぞ
技術的な他分野ってこんなもんだろ

458:デフォルトの名無しさん
10/03/28 16:06:43
無駄にプライド高いのに教えを乞うからだよ。

希望の機能ならライブラリにメソッドがちゃんと用意されてるよ。
遊びじゃないなら3週間給料泥棒だったね。

459:デフォルトの名無しさん
10/03/28 16:09:21
今質問すると、ググレカスで一蹴されそうだが
width, height を Auto にして Stretch にすると
たとえば Name="canvas1"のCanvasに対して
int w = (int)(canvas1.Width);
としても w に変な値が入ってしまう。

// HeightとWidthはあくまで開発者がデザイン時に設定した値

ということは分かったのだが、
ではどうやって値を取得するのかが分からん。

canvas1.RenderSize.Width
canvas1.ActualWidth
とか調べても分からん。

windowサイズの拡縮に合わせて変化する canvas の
縦横を取得するにはどうすれば良いの?

# VC#2008, WPF3.5SP1

460:デフォルトの名無しさん
10/03/28 16:15:53
ActualWidth/ActualHeightでいいはずだが?
「調べても分からん」?「確認したけど期待した値じゃない」じゃなくて?

461:デフォルトの名無しさん
10/03/28 16:17:37
計算される前に呼んでるんだろ

462:459
10/03/28 16:20:36
>>460
>「確認したけど期待した値じゃない」じゃなくて?
そうでした。すまん。
なんか 0 が返ってくる。

>>461
・・・ビンゴな気がする。
Invalidatなんたらを実行してからとか
そんなのですかね。色々試してみる。

お二方ありがとうノシ

463:デフォルトの名無しさん
10/03/28 16:35:23
ggrks

464:459
10/03/28 16:42:19
何を血迷ったか、WinMain() の中で呼んでいたよ orz
Window_Loaded() の中で呼んだら、期待した値が来ました。
本当にありがとうございました。

465:デフォルトの名無しさん
10/03/28 18:09:57
>>464
いいってことよ

466:デフォルトの名無しさん
10/03/28 18:44:24
おまえら質問のしかたで反応が違いすぎ

467:デフォルトの名無しさん
10/03/28 18:54:47
いや普通そうだろ

468:デフォルトの名無しさん
10/03/28 18:56:06
>>466
普通そうです

469:デフォルトの名無しさん
10/03/28 18:57:59
私は女子中学生だけどそれが普通だと思います。

470:デフォルトの名無しさん
10/03/28 19:02:41
「自分のしたいことが明確にわかっている」のが質問の最低条件だから。
ここコミュ力試験に出るよ。

471:デフォルトの名無しさん
10/03/28 19:07:14
エスパーじゃないからな

でも初めてのことだとたまにエスパーして欲しいことはあるな

そういうときは答えをもらおうとせずもらえそうなところに愚痴っておくといい

たまーにヒントがもらえるから

472:デフォルトの名無しさん
10/03/28 19:26:58
>>470
あと「回答すべきことを明確に伝えれる」「必要なことは書き余分なことは書かない」も重要。

「ネットはテレホーダイの時代以前から触っているので」とか
歯に詰まったクラッカーのカスほどの価値もないことを書いて
自分が調べたキーワードがどういうものかもかかない奴には当然冷たい。

473:デフォルトの名無しさん
10/03/28 20:01:39
>>459
最初の一行が効いたな

474:デフォルトの名無しさん
10/03/28 20:03:03
>>472
おまえはテレホマンの魂を侮辱した!

475:デフォルトの名無しさん
10/03/28 20:17:42
しかしネットで難解なドキュメントやマニアックなブログ見るよりも
ビギナー向けのXAML入門書読んだほうが早いような気もするが


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