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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
あたらしいユーザーインターフェースシステム、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/
2デフォルトの名無しさん:2009/12/27(日) 12:19:27
今年こそWPFを習得するぞ!!
3デフォルトの名無しさん:2009/12/27(日) 12:39:04
今年の抱負ですね
4デフォルトの名無しさん:2009/12/27(日) 12:46:28
>2>3
残り、5日ですね。
5デフォルトの名無しさん:2009/12/27(日) 13:17:10
それを言っちゃあ、おしめえよ
6デフォルトの名無しさん:2009/12/27(日) 14:18:37
なあに、5日もあれば十分さ
7デフォルトの名無しさん:2009/12/27(日) 14:26:06
諦めるには3日あれば十分さ。

完成度の低さを悟るには3分、
全体の出来の悪さを悟るには3時間あれば十分だけどな
(特にXAMLエディタとコントロールのなさ)。
8デフォルトの名無しさん:2009/12/27(日) 15:27:57
わからなくて悔し泣きしてる人
9デフォルトの名無しさん:2009/12/27(日) 15:29:07
コントロールとか自分で作れよ
作れるんだから
10デフォルトの名無しさん:2009/12/27(日) 15:32:27
足りないコントロールって例えばなんだっけ
そこの頭の足りなそうな人、上げてくれるかな
11デフォルトの名無しさん:2009/12/27(日) 15:33:56
PropertyGrid はほしいと思った
12デフォルトの名無しさん:2009/12/27(日) 15:37:46
>>11
これとかダメなの?
http://www.codeplex.com/wpg
13デフォルトの名無しさん:2009/12/27(日) 15:57:33
タイムライン(できればFlashのような)を扱うコントロールってあるでしょうか?
14デフォルトの名無しさん:2009/12/27(日) 15:59:26
>>12
使ってみたことあるけれどもいまいち
15デフォルトの名無しさん:2009/12/27(日) 16:23:09
まあでもFormに比べると習得難度の高さはネックだよなぁ。
ポトペタするだけならWPFじゃなくたっていいやってなるし。
16デフォルトの名無しさん:2009/12/27(日) 16:36:14
Formに比べて敷居が高くなっていた上、習熟しても手間が増えることには変わらない。
ツールの支援もションボリだし、4.0にならないと標準でテーブル部品すらない。
かといって「これがないとできないことが」という代物じゃない。
MSは一体どうしたいんだろう、コレを。
17デフォルトの名無しさん:2009/12/27(日) 16:44:01
Aero Glass を駆使するアプリを作るのは Forms よりだいぶ楽かな
18デフォルトの名無しさん:2009/12/27(日) 16:47:21
前スレだか前々スレで出てたけど、BtoBな業務システムでは致命的なぐらいおよびでないよね。
少なくとも今のところは。
19デフォルトの名無しさん:2009/12/27(日) 17:08:35
blendよりリッチなツールの支援なんて他のプラットフォームにないだろ
2年前にウケた発言を繰り返す猿だな
外人はもう移行してるよ
20デフォルトの名無しさん:2009/12/27(日) 17:18:14
外人移行してるかぁ????
21デフォルトの名無しさん:2009/12/27(日) 17:21:11
まぁやりたくない人には無理に勧めなくてもいいでしょ
俺はおもしろいから移行するけど
とりあえず新しいもの勧めて最終的には客が決めればいいよ
22デフォルトの名無しさん:2009/12/27(日) 17:31:46
今のところFormが廃止されるって話がでてるわけでもないし、
WPFは使いたい人が使うでいいんじゃね?

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

まさかWindows7の次でWPF廃止なんてこともないだろうしな。
23デフォルトの名無しさん:2009/12/27(日) 17:40:02
最終的にビットマップベースのUIのほうが生き残るなんてことはありえないよw
24デフォルトの名無しさん:2009/12/27(日) 17:49:35
Vista発売当時 Vistaユーザ「XPが生き残るなんてことはありえないよw」

WPFにWinFormを駆逐するほどメリットは無いし、必須でもない。
新しもの好きが使う代物、で終わる可能性もある。
25デフォルトの名無しさん:2009/12/27(日) 17:52:16
その例全然関係ないじゃん
だいたい「XPが生き残るなんてことはありえないよw」こんな発言聞いたことないわ
バカじゃないの
26デフォルトの名無しさん:2009/12/27(日) 17:58:26
「ビットマップベースだと生き残れない」も全くの暴論、根拠皆無だがな。
27デフォルトの名無しさん:2009/12/27(日) 18:01:47
廃止とか言っちゃってる人はプログラミングしたことないんじゃないだろうか
28デフォルトの名無しさん:2009/12/27(日) 18:03:12
WinGみたいな過渡期の遺物になるやもしれん
29デフォルトの名無しさん:2009/12/27(日) 18:07:36
formsが過渡期だよ
wpfが決定版になるかはわかんないけどね
30デフォルトの名無しさん:2009/12/27(日) 18:13:43
最後に生き残るのはSilverlight
31デフォルトの名無しさん:2009/12/27(日) 18:31:13
>>26
まあプリンタの歴史とかdirectorとflashどっちが残ったかとか考えるとわかるとおもうよ
暴論でもなんでもない話
32デフォルトの名無しさん:2009/12/27(日) 18:40:43
詭弁の特徴のガイドライン
3:自分に有利な将来像を予想する
4:主観で決め付ける
6:一見関係ありそうで関係ない話を始める

まぁプリンタとWPFが同じことになるか、VistaとWPFが同じことになるか知らんが、
技術の動静など単体の要素で決まるものでなし、どっちも風桶の域をでない。
33デフォルトの名無しさん:2009/12/27(日) 18:43:32
なにわかったようなこと言ってんだよバカ
formsじゃquartzに追いつけない
真横に実例があるんだよ
34デフォルトの名無しさん:2009/12/27(日) 18:50:38
何をそんなに火病っているのかは分からないし興味もないが、
技術的に優れている物が商業的に失敗する事例なんて山のようにある。
35デフォルトの名無しさん:2009/12/27(日) 18:52:46
そうだね
それを期待してformsと心中すりゃいいんじゃねえの
36デフォルトの名無しさん:2009/12/27(日) 19:06:33
別にWPFが流行ろうが廃れようが自分が死ぬわけじゃないんだし。

今勉強する余力がないなら(それは別に恥かしいことではない)
廃れろ廃れろ言ってないで横目にみてればいいのにね。
37デフォルトの名無しさん:2009/12/27(日) 19:11:53
廃れろ廃れろ、じゃなくて「メリットが分からん」じゃないのか?
俺も、どういう分野で需要(メリット)があるのかサッパリ分からないが。
38デフォルトの名無しさん:2009/12/27(日) 19:30:37
バインドを多用できるケースは明らかに楽。
後は、キチンと設計すればテストが楽。
従来の開発スタイルそのままでFormsを置換しようとするから有り難みがわからんのだと思う。
39デフォルトの名無しさん:2009/12/27(日) 19:40:35
ある程度の規模にならないとメリット見出せないと思う。
記述量だけでいったらFormより多くなるから。
40デフォルトの名無しさん:2009/12/28(月) 00:38:02
泳げなければ沈んでもいいじゃないか
41デフォルトの名無しさん:2009/12/28(月) 05:37:55
datagridview一式がD&D一発でセットできるformsはそりゃすごいけど

アニメもできないしHLSL使えないしグラフィック書くのもOnPaintだし、
そういう方面だとforms使う理由がないよね
42デフォルトの名無しさん:2009/12/28(月) 09:43:36
外観のキャッチーさが要求される業務自体が非常に少ないのが事実。
WPFの紹介では、とにかく見た目や動きがプッシュされがちだけど、従来との比較でいえば
アーキテクチャの違いの方が重要だと思う。
43デフォルトの名無しさん:2009/12/28(月) 10:21:28
見た目は副次的なものでしかないよな。
まあ分かりやすさでそれをアピールしたのだろうが、
それを勘違いして見た目だけだのなんだの言う馬鹿者が出てくる始末。
44デフォルトの名無しさん:2009/12/28(月) 10:31:58
リッチなUIを目指して設計されたんじゃないの?
見た目は重要な要素だと思うけど
45デフォルトの名無しさん:2009/12/28(月) 10:43:46
>>44
アニメーションがストレスを軽減するのはMacやiPhoneが実証している
実時間が長くても、見た目フリーズしてないだけでもイライラは抑えられるってこと
XP時代のGUIはキビキビ動くし隣に並べての比較でVistaに比べて早いことがアピールされてたけど、
実際Vistaだけ使ってると快適に感じるのと一緒(操作性は別として)
46デフォルトの名無しさん:2009/12/28(月) 11:34:18
ただ待たせるよりプログレスバー出したりスプラッシュスクリーンだしたりするだけで
具合がちがうってのは割と一般的なのにな。
4713:2009/12/28(月) 12:10:55
>>13
自己レスになりますが、動画編集に使うようなタイムラインコントロールはなさそうですね。
ExpressionBlendで使われているので標準であるものかと思っていたのですが・・・
48デフォルトの名無しさん:2009/12/28(月) 13:54:56
mac使って帰ってくると、なんつー雑なUIなんだ(例:windowsカレンダーとかlive writerとか・・・)って感じするからな
静止画的な見た目はむしろWinFormsでも張り合えるけどね
49デフォルトの名無しさん:2009/12/28(月) 14:44:46
ユーザーインターフェイスの話と
UIフレームワークの話とは全くの別物だべ。
50デフォルトの名無しさん:2009/12/28(月) 15:02:35
は?
51デフォルトの名無しさん:2009/12/28(月) 15:06:42
デザイン(見た目)そのものは作り手のセンスとスキル次第でどうとでもなるかんね。
フレームワークの良し悪しとはあんまり関係ない。
52デフォルトの名無しさん:2009/12/28(月) 15:11:41
もうちょっと勉強したほうがいい
53デフォルトの名無しさん:2009/12/28(月) 17:11:06
この世で最も非生産的な突っ込みだな。
54デフォルトの名無しさん:2009/12/28(月) 17:36:25
FormとWPFでどっちが良い見た目を簡単につくれるかもわかんないのか
55デフォルトの名無しさん:2009/12/28(月) 18:08:40
オナニーUIがなしたって?
56デフォルトの名無しさん:2009/12/28(月) 18:22:23
オナニーじゃ済まされないからフレームワークが必要
57デフォルトの名無しさん:2009/12/28(月) 18:28:00
たしかに雑なUIのほうがオナニーに近い気はする
まあそういう意味で「オナニーUI」って言ってるんじゃないだろうけど
58デフォルトの名無しさん:2009/12/28(月) 18:34:36
アニメーションとかも使い所間違うとストレスたまる一方だよな。
どういう局面ではどういうデザインが効果的かとかの
WPFガイドラインみたいなのってもう出てるんだろか。
59デフォルトの名無しさん:2009/12/28(月) 18:42:02
wpfっていうだけでストレスになってる人も多そうだw
60デフォルトの名無しさん:2009/12/28(月) 19:25:41
むしろ「WPFだからっつってむやみにアニメーション使うな」
というガイドラインなら出されてる
http://msdn.microsoft.com/ja-jp/library/aa511329.aspx
61デフォルトの名無しさん:2009/12/28(月) 20:02:30
>>60
おー
こういうのは結構助かる。
62デフォルトの名無しさん:2009/12/28(月) 21:24:42
長ったらしいアニメーションはストレスだからなー
きびきび0.2秒くらいで遷移してくれるならいいけど
63デフォルトの名無しさん:2009/12/28(月) 21:34:53
writeableBitmapって書き込んだのがそのまま表示されるの?
なんだか妙な変換されてるような気がしてならないんですけど
64デフォルトの名無しさん:2009/12/28(月) 21:54:54
PixelFormatによる
65デフォルトの名無しさん:2009/12/28(月) 22:05:05
ありがとう
妙な変換されないようにしたいんだけどどれ選べばいい?
66デフォルトの名無しさん:2009/12/28(月) 22:29:33
変換だろ? ならオリジナルのbitmapsourceのformatをそのまま押し込んでやればいい
67デフォルトの名無しさん:2009/12/28(月) 23:22:38
>>59
使う人にとってはWPFだろうが何だろうが関係ないが、
ある程度高機能なアプリをWPFで作ったら
推奨環境は平気でCore2Duo 3GHz以上になっちゃうんじゃないだろうか?
68デフォルトの名無しさん:2009/12/28(月) 23:23:56
>>67
重要なのはDirectXのハードウェアサポートだろう
69デフォルトの名無しさん:2009/12/28(月) 23:44:46
>>67
イメージしてる「高機能」がどのリソース使うのかわかんないからなんともいいようがないけど
個人的にはクロスプラットフォームのDTM系のソフト(いわゆるDAW)が社内で内製するような
ux重視のライブラリみたいなもんをMSが用意したという感じで捉えてる
こういうのは昔からリッチなGUIと高機能を同時に提供してた
wpfみたいなもんてどう使うのとかいう向きは一度この手のソフトを弄ってみるといいと思う
70デフォルトの名無しさん:2009/12/29(火) 01:00:22
WPFを会社で使い始めたんだがマジストレス溜まる。
なんでこんな継ぎ足しみたいな酷い設計になってるんだ?
思想自体は悪くないし、むしろ応援したいくらいなんだが、
内部の設計がお粗末すぎないかこれ。
ちょっとサンプルより凝った事しようとすると途端に辻褄合わせに苦労する。
そもそもサンプルも例外出まくってるし。

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

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

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

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

82デフォルトの名無しさん:2009/12/30(水) 14:59:25
俺らに言われてもな。どうしろと?
83デフォルトの名無しさん: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アプリを例にすると、どういう感じになるのでしょうか?
84デフォルトの名無しさん:2010/01/01(金) 11:16:24
>>83
メモ帳には無縁の世界
85デフォルトの名無しさん:2010/01/02(土) 20:28:47
>>83
Modelが文字のバッファで、
Business Layerは、文字の切り取り/貼り付けといったメモ帳の機能。
86デフォルトの名無しさん:2010/01/09(土) 11:39:06
WPFつくりずらいな
一回コンパイル失敗すると二度と通らなくなったりする
87デフォルトの名無しさん:2010/01/09(土) 12:04:16
それは流石に使う側の問題だと思う
88デフォルトの名無しさん:2010/01/10(日) 05:11:41
Popupが使いにくすぎる。Primitivesの癖に…
89デフォルトの名無しさん:2010/01/15(金) 00:06:39
折れ線を描くのはどうすればいいですか?
90デフォルトの名無しさん:2010/01/15(金) 00:27:29
Polyline
91デフォルトの名無しさん:2010/01/15(金) 00:49:21
ありがとう
DrawingGroupで使えないんだ
92デフォルトの名無しさん:2010/01/15(金) 01:19:43
93デフォルトの名無しさん:2010/01/15(金) 11:23:28
ありがとう、ためしてみる
94デフォルトの名無しさん:2010/01/15(金) 12:01:18
Imageって座標がマイナスだと勝手に全体を移動させてしまうのね
95デフォルトの名無しさん:2010/01/15(金) 13:31:20
>>94
???
96デフォルトの名無しさん:2010/01/15(金) 14:20:51
(-10, -10)に字を書くと(-10,-10)が左上角に表示されるように全体が右下方向に移動した
座標が大きいときは表示されないのに
97デフォルトの名無しさん:2010/01/15(金) 15:01:43
地球を一周させれば元にもどる( ・ω・)y─┛〜〜
98デフォルトの名無しさん:2010/01/15(金) 16:14:47
やっとわかった
DrawingGroup.ClipGeometry設定すればいいのか
とりあえず97は地球七周半してこい
99デフォルトの名無しさん:2010/01/17(日) 17:57:07
1秒かかりますが
100デフォルトの名無しさん:2010/01/17(日) 18:29:20
97から見れば0秒なので問題ない
101デフォルトの名無しさん:2010/01/18(月) 10:34:35
地球七周半というのは都市伝説なのに(´・ω・`)
102デフォルトの名無しさん:2010/01/18(月) 12:12:10
>>101
なんで?
光の速さが秒速30万kmで地球の赤道付近の円周が約4万kmだから
ほぼ7.5周じゃん?
103デフォルトの名無しさん:2010/01/18(月) 12:14:59
>>102
・光は地表に沿って曲らない
・真空じゃない

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

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

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

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

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

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

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

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

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

どうすればいいですか?
何を使えば早いですか?
129デフォルトの名無しさん:2010/01/22(金) 00:23:41
WriteableBitmapは?
130デフォルトの名無しさん:2010/01/22(金) 00:30:59
自分で点を打っていくんですか・・・くたびれるなぁ
131デフォルトの名無しさん:2010/01/22(金) 00:32:48
RenderTargetBitmap使って適当にキャッシュしたら
132デフォルトの名無しさん:2010/01/22(金) 00:40:59
Bitmapをいっぱいつくるってことなんですかね?
トライしてみます
ありがとう
133デフォルトの名無しさん:2010/01/22(金) 00:59:50
Evernote3.5のクライアントってWPFなんだな
134デフォルトの名無しさん: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

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

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

JUDEの時はJava出力に関してはフリー版でも出来たと思ったんだけどなぁ。
142134:2010/01/23(土) 10:08:28
143デフォルトの名無しさん:2010/01/23(土) 11:16:31
WPFでバルーンヘルプ出すにはどうしたらいいの?
教えて偉い人。
144デフォルトの名無しさん:2010/01/23(土) 11:36:30
Accordion+Binding+Resize時の4004エラー回避できぬ。
ぬぬぬぬ…。
145デフォルトの名無しさん:2010/01/23(土) 12:13:25
146デフォルトの名無しさん:2010/01/23(土) 12:14:54
最近MSDNの内部リンク切れまくっていないか?使い辛いっつーか、使い物にならん。

>>143
目的が分からんからどうとも言えんがツールチップかポップアップ使えばいいんじゃないか?
偉くはないが
147デフォルトの名無しさん:2010/01/23(土) 12:43:18
>>145,146
すごい。瞬速で解決。ありがとう偉い人たち!
148デフォルトの名無しさん:2010/01/23(土) 13:04:48
>>146
リンク切れ?例えばどこのこと?
149デフォルトの名無しさん:2010/01/23(土) 13:05:44
サンプルのダウンロードとかそこらじゅう
150デフォルトの名無しさん:2010/01/23(土) 13:18:19
>>149
>>142で訂正したけどサンプルが更新されている場合は「.Net Framework 3.5」の方からダウンロードできる。
あとブラウザをIEに変えるとうまくいくことがあったので試してみて。
151デフォルトの名無しさん:2010/01/23(土) 13:34:10
>>148
WPFの話から脱線してスマン。サンプルが切れているのは元からだが
最近クラス自体の説明へのリンクが切れている所が多くなった気がする。
多すぎてうる覚えだが、PrivateObject関連の構造体の説明あたりとか、
ttp://msdn.microsoft.com/ja-jp/library/h58hxyt6.aspx のクラス説明へのリンクとか。
152デフォルトの名無しさん:2010/01/23(土) 14:50:23
ライトウェイトにしてるから?
153デフォルトの名無しさん:2010/01/23(土) 14:52:36
>>152
え?

…クラシックだと見れるのね。なんじゃコリャw。
切り替えるとなおるのか、キャッシュ探すよりもずっと楽だ。トン
154デフォルトの名無しさん:2010/01/23(土) 17:28:24
ライトウェイトけっこう適当な作りしてんのなw
155デフォルトの名無しさん:2010/01/23(土) 21:41:58
ItemsSourceにBindしてる時、その中の子のコントロールが自分のItemを知る事は出来ますか?
子のコントロールでBindしてパラメータとして渡したいのです。
156デフォルトの名無しさん:2010/01/23(土) 21:54:06
ん? DataContextじゃダメ?
157デフォルトの名無しさん:2010/01/23(土) 22:11:02
すみません、情報不足でした。
Prism for Silverlight使っててxamlで指定して上げたいのです。

<ItemsControl ItemsSource="{Binding Items}">
  <ItemsControl.ItemTemplate>
    <DataTemplate>
       なんちゃらこうちゃら
       CommandParameter="{Binding 現在のアイテム}"←ここ
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>
158デフォルトの名無しさん:2010/01/23(土) 22:23:50
Itemsの中の要素に対してバインドしたいんだよね?
「Binding Path=.」か「Binding RelativeSource={RelativeSource Self}, Path=DataContext」でいけない?
159デフォルトの名無しさん:2010/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デフォルトの名無しさん:2010/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デフォルトの名無しさん:2010/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デフォルトの名無しさん:2010/01/24(日) 00:21:57
上記がMVVMの仕様です。
これで説明しやすくなりました。

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

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

ttp://msdn.microsoft.com/ja-jp/library/cc645024%28VS.95%29.aspx#ppincode
(ここも見てみましたが上位?Pathの設定の仕方がわかりませんでした。)

ためしにModel側にMyCommandをもちバインドさせ>>158の方法で"Item"を参照できるか試しましたがOnMyCommandの"Model item"はnullとなってました。
163デフォルトの名無しさん:2010/01/24(日) 00:24:30
>>161の訂正
×this.MyCommand = new DelegateCommand<RequestItem>(OnMyCommand);
○this.MyCommand = new DelegateCommand<Model>(OnMyCommand);
164デフォルトの名無しさん:2010/01/24(日) 00:42:12
.NET4.0のMediaElementでH.264のサポートはないの?
silverlight3では動いたので.NET4.0で験してみたのだけど。
165デフォルトの名無しさん:2010/01/24(日) 01:41:12
>>160
UserControlに名前をつけてa)の方法でDataContextを参照したところうまくいきました。

本当はUserControlに名前をつけるとBlendにて警告が出るのでb)のAncestorTypeを使ったものを採用したかったのですが
SilverlightではSelfとTemplatedParentしか用意されていませんでした…。
166デフォルトの名無しさん:2010/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デフォルトの名無しさん:2010/01/24(日) 21:05:50
>>166
うまくいきました!
ありがとうございます。
168デフォルトの名無しさん:2010/01/24(日) 21:10:02
WPFの質問スレとか見当たらなかったので、お手数ですが少しよろしいですか?

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

有用だというのならば、思い切って専門書買ってみようと思うのですが、
よろしければアドバイス頂けませんか?
169デフォルトの名無しさん:2010/01/24(日) 21:15:09
WPFはオサレなGUI(ボタンや部品がうにゅーっと動くようなの)を作るのには向いているがかなり重たい。
作れなくはないが、ADVなら積極的に採用する理由はあまりないんじゃないか?
170デフォルトの名無しさん:2010/01/24(日) 21:18:44
まあWinFormsのSystem.Drawingで作るよりは遥かに速いし簡単に綺麗なものが作れるよ
171デフォルトの名無しさん:2010/01/24(日) 21:20:35
172デフォルトの名無しさん:2010/01/24(日) 21:22:32
>>168
2DゲーでADVに近い物ならVC#でも十分可能だけどね
173デフォルトの名無しさん:2010/01/24(日) 23:13:51
んー、やっぱり動かしてみないと判断難しいんだろうか?
かといって図書館にも置いてないしなあ。

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

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

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

>>172
どうもゲームプログラミングは苦手で、それなのに任されちゃって四苦八苦なんです。
いざ調べてみると想像以上に資料少ないですよね。
市販の書籍なんて、ほとんど画像表示の方法とかに終始してますし。
174デフォルトの名無しさん:2010/01/24(日) 23:26:25
ピクセルシェーダが簡単に使えるのは面白いよな
>>171はやってみると意外と難しくない
175デフォルトの名無しさん:2010/01/24(日) 23:28:21
・・・環境にもよるんだろうけど作るだけなら吉里吉里でも
使えばよかろうに
176デフォルトの名無しさん:2010/01/25(月) 00:02:01
でもADVみたいなのにWPFはありだと思うけどなぁ。
UIかっこよくしてなんぼって感じもするし。
177デフォルトの名無しさん:2010/01/25(月) 00:34:22
>>174
やれるとしても当分先だと思いますが、これは確かに面白そうですよね。
たとえ今回の件にそぐわないとしても、近いうちにWPFには手をつけてみようかなーと思い始めてきました。
数値計算とかばかりやってきた身としては、もう少し普及して間口が広くなってほしいってのも本音ですけどね……

>>175
ADVみたいなものって説明が悪かったですね。
雰囲気としてはそれっぽいものではあるのですが、某レトロゲームのシステムを踏襲+拡張したものなので、
簡易的なものじゃちょっとまかなえないんです。分かりにくくてすみません。
178デフォルトの名無しさん:2010/01/25(月) 02:21:15
WPFと吉里吉里とで作れるゲームの幅は変わらないと思うよ
179デフォルトの名無しさん:2010/01/25(月) 03:55:47
吉里吉里はJavaScriptライクな言語TJS2の実行環境+クラスライブラリといった体裁だから、やろうとおもえば結構がっつり組めるよ

でもWPF製のゲームも見てみたいから頑張れ
180デフォルトの名無しさん:2010/01/25(月) 15:07:56
>>171
こういうの見るとモチベーションが上がるな。
上がって何をするかというと、2chとMSDNを往来することなのだが。
181デフォルトの名無しさん:2010/01/25(月) 15:14:07
こういうのは早いのになんでDrawingContextは遅いの?
もっと早く線描けないの?
182デフォルトの名無しさん:2010/01/25(月) 15:27:21
>>181
処理が違うから?
大量の色情報に対して同じ処理を高速にやってるだけだし
上画像のピクセルのアルファ値を高速に変えればできる処理なんで
GPUのもっとも得意とするところじゃん

DrawingContextで描画するような内容ってピクセルのアルファ値かえるだけのような
話じゃないしね
183デフォルトの名無しさん:2010/01/25(月) 16:27:31
c#でも画像の合成表示ならできたな
ちらつきとか抑える方法はよくわからんけど
サンプルソース居る?

というか配布する際どれを渡せばいいんだろうw
.netのソースって開発環境のパスが埋もれてるとか聞いたけど
184デフォルトの名無しさん:2010/01/25(月) 16:35:33
*.Cs とか *.xaml とかでいいんじゃね?
185デフォルトの名無しさん:2010/01/25(月) 16:44:34
http://uproda.2ch-library.com/2079536UQ/lib207953.zip
pass 無し

formにpicturebox x1とbutton x3とtimer x1を貼り付けてイベントハンドラを
割り当ててくれれば動くと思うよ
186デフォルトの名無しさん:2010/01/25(月) 17:19:21
あと最近いじっててこんなのもできた
http://uproda.2ch-library.com/207979P9U/lib207979.png

FormのPaitイベントでDrawLineにArrowAnchor指定して物なんだけど
別の機能をちょっと足せばグラデーション+AntiAliasで描ける
187デフォルトの名無しさん:2010/01/25(月) 17:27:00
なるほど
188デフォルトの名無しさん:2010/01/25(月) 18:38:03
デバッガでエラーが起きた場所が分からなくてつらい
189デフォルトの名無しさん:2010/01/25(月) 19:47:44
>>185
スレチ
190デフォルトの名無しさん:2010/01/25(月) 20:39:07
遅くなってしまい申し訳ありません。168その他です。
昨日はくだらない質問に対していろいろとありがとうございました。

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

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

191デフォルトの名無しさん:2010/01/25(月) 23:07:44
むしろWPFを使いこなせてないから同レベルくらいに見えるんだろう
それが悪いというんじゃなく、それくらい習熟するのは時間がかかる
192デフォルトの名無しさん:2010/01/26(火) 00:14:08
ほとんどのノートPCで使われてるSynapticsのタッチパッドドライバがWPFと相性悪いらしく、
ListBoxほか大多数のScrollViewer系のコントロールで
パッドのフチを使ったスクロールができず困っていたのだけど、
今年に入ってSynapticsがScrybeというツールのCTPを公開し
その中に最新のタッチパッドドライバ15.0.0.1が含まれていて、
インストールしたところWPFアプリでもスクロールできるようになった!
http://www.uscrybe.com/index.html

PCメーカーのサポートページから入手できるタッチパッドドライバは大抵古いバージョンなので
WPFのスクロールで困ってる人はこっちをインストールしてみてくれ
以上チラシの裏でした
193デフォルトの名無しさん:2010/01/26(火) 02:49:31
>>191
つまりWPFのほうがより高度なものが作れるってこと?
194デフォルトの名無しさん:2010/01/26(火) 08:05:08
>>171の例1つとっても、画像使うか既定プリセットしかないきりきりより、
自分でHLSL書けるWPFのほうが高度だよ。サンプラーだって上限まで使えるしね。

ていうか、制御するコードにしてもVSとC#使えるんだから、そこらの簡易言語じゃ
勝負にならんでしょ。覚えることは多いけどね。
195デフォルトの名無しさん:2010/01/26(火) 08:21:32
綺麗なのだけじゃなく、スピード重視のローレベルな描画メソッド充実させてほしいな
そしたらもっと裾野広がるのに
196デフォルトの名無しさん:2010/01/26(火) 09:36:54
どっちにしてもWPF使ってツクールみたいなの作るはめになるんだと思うけどな。
べたがきだと使い回しきかんだろうし。
197デフォルトの名無しさん:2010/01/26(火) 09:49:21
>>196
ツクールを作ってた人が楽になるだけだよね

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

windows ≒ IE
XAML ≒ HTML
C# ≒ Javascript

こんな感じじゃない?
198デフォルトの名無しさん:2010/01/26(火) 09:50:21
windows ≒ IE
これより
VM ≒ IE
199デフォルトの名無しさん:2010/01/26(火) 10:14:38
Imageに画像のセンタリングをやめさせる方法はありますか?
200デフォルトの名無しさん:2010/01/26(火) 10:19:40
自己解決
VerticalAlignment, HorizontalAlignment
失礼しました
201デフォルトの名無しさん:2010/01/26(火) 20:42:54
パラメータに複数のエレメントを渡したい時はどのようにすればいいのでしょうか?


<Button CommandParameter="ここで同xaml内にある複数のエレメントを渡したい"/>
202デフォルトの名無しさん:2010/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デフォルトの名無しさん:2010/01/26(火) 21:53:48
>>202
おぉ!これは素晴らしい!
ありがとう!
204デフォルトの名無しさん:2010/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デフォルトの名無しさん:2010/01/26(火) 22:49:49
>>204
おぉぉ、なるほど!
Dependency関係がよくわからなかったけどこういう風に使うのか!
また一つ勉強になしました。
ありがとう!
206デフォルトの名無しさん:2010/01/27(水) 10:21:45
そういえばGyaOがヤフーに行ってから動画配信がSilverLight使ってるんだが
あんなに重いものかね?

プログラム作る上でネットブックをスペックの下限の指標にしてるんだが
動画配信中はその他ウインドウのReDrawすらままならないんだが
207デフォルトの名無しさん:2010/01/27(水) 10:32:39
OSを
書け
208デフォルトの名無しさん:2010/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デフォルトの名無しさん:2010/01/27(水) 11:02:35
>>208です
プロジェクト内にResources.resxがないことが原因のようです。
お騒がせしました。
210デフォルトの名無しさん:2010/01/27(水) 14:29:15
WPFでWindowが閉じられる原因ってどうやったらわかりますか?

WinFormsだとStackTrace使ったりFormClosingEventArgsにCloseReasonが
あったんだけど、WPFでどうやったらいいか分からない
211デフォルトの名無しさん:2010/01/27(水) 14:38:53
212デフォルトの名無しさん:2010/01/27(水) 14:51:29
WndProc使うしか無いのか…

ありがと
213デフォルトの名無しさん:2010/01/27(水) 20:47:45
ChildFormのthis.DialogResultはViewに対する操作だからView側で処理して良いのかな?
それともICommand等でバインドしてViewのコントロールをViewModelに渡すのが正しい作法?
214デフォルトの名無しさん:2010/01/27(水) 20:48:27
×ChildForm
○ChildWindow
215デフォルトの名無しさん:2010/01/28(木) 12:04:19
Modelを触らない操作だからViewでOK
216デフォルトの名無しさん:2010/01/28(木) 21:34:09
同一ソリューション内の他のプロジェクトをclr-namespaceを使ってXAML内で参照すると"CLR名前空間が定義されていません"と警告が出ます。
コンパイルOK、実行も何も問題ないのでこの警告をやめさせたいのですが何か方法はありますか?
217デフォルトの名無しさん:2010/01/28(木) 23:37:42
WPFでhttp://daisuke-watanabe.com/350/みたいなローディングの画面は簡単に作れますか

ってぐぐったらでてきたわ。
おまえらは自作で作れたか?
218デフォルトの名無しさん:2010/01/28(木) 23:41:06
ラスターイメージ使ったら負けだろ
それくらいベクトルで描けよ
219デフォルトの名無しさん:2010/01/29(金) 10:08:13
>>217
WPFでそういうことをやろうとも思わなかったけど
DirectXでやれたようなことがむき出しになってるので
できないことはないだろうな

というかWPF使わなくてもVC#でも可能なレベルだろ
個人的にはそのアニメーションすらCPUパワーの無駄とか
思ってしまう
220デフォルトの名無しさん:2010/01/29(金) 11:21:42
221デフォルトの名無しさん:2010/01/30(土) 00:44:46
>>220
わたし女子中学生だけどそれはないわ
222デフォルトの名無しさん:2010/01/30(土) 10:23:14
>>220
あたし女子小学生だけどそれはないね
223デフォルトの名無しさん:2010/01/30(土) 10:26:29
ぼく女子高生だけどそれはない
224デフォルトの名無しさん:2010/01/30(土) 10:43:06
男子相撲部だけどごっつあんです
225デフォルトの名無しさん:2010/01/30(土) 13:20:27
http://www.dotup.org/uploda/www.dotup.org606221.png
わがままなおっさんたちだな
226デフォルトの名無しさん:2010/02/02(火) 13:45:51
MVVMって流行だけどさ、
例えば、読み込むModelが複雑かつ長大な入れ子構造になっている様なとき、
ViewModelを作るコーディング時間と、実行時のコストって大変なものになると思うけど、
それでも分離しなくてはならないの?
227デフォルトの名無しさん:2010/02/02(火) 14:05:59
>>226
テストによる品質保持にかかるコストがそれらを上回るなら。
228デフォルトの名無しさん:2010/02/02(火) 14:19:23
ModelがINotifyPropertyChangedをしっかり実装してるなら、
そのままか同型のコピーをViewModelやViewに引き回しても問題ない。
229デフォルトの名無しさん:2010/02/02(火) 15:40:50
最近はそれを見越して始めから依存関係プロパティ付けて実装することが多いな・・・
230デフォルトの名無しさん:2010/02/02(火) 22:04:52
WPFはまだ仕事では使ってないけどみんなはどう?
231デフォルトの名無しさん:2010/02/02(火) 22:12:19
当分縁がなさそう。
クライアントアプリを開発する案件がそもそも無いっす。
232デフォルトの名無しさん:2010/02/04(木) 01:28:18
クライアントアプリを開発する人に聞いてるんだと思うよ
233デフォルトの名無しさん:2010/02/04(木) 06:35:44
そういう人が居ないんじゃない?
234デフォルトの名無しさん:2010/02/04(木) 07:04:51
よく”まだ”使ってませんって聞くけどいつになったら使う日が来るんですか?
235デフォルトの名無しさん:2010/02/04(木) 08:21:35
VS2010、.NET4のbetaがとれたくらいか、
VS2010SP1、.NET4.5がでるころ
236デフォルトの名無しさん:2010/02/04(木) 08:24:51
Win2kが根絶されるまでは無理ぽ
237デフォルトの名無しさん:2010/02/04(木) 13:34:40
タブページとかXPで表示するとひどい目に遭うけどね
238デフォルトの名無しさん:2010/02/04(木) 20:00:09
NT6が天下を取る頃
239デフォルトの名無しさん:2010/02/05(金) 01:12:51
楽だから選択権があれば使ってるよ
でも重いから客には嫌われてるみたい
240デフォルトの名無しさん:2010/02/05(金) 02:22:05
directx9が満足に動かないビジネス機じゃ重いかもな
241デフォルトの名無しさん:2010/02/05(金) 07:52:21
・・ということは私を含めみんな趣味レベルでWPFやってるってことか・・・。
主流になってくれとまでは言わんが、日の目を見ることなく自然消滅ということにはならんことを祈る
242デフォルトの名無しさん:2010/02/05(金) 08:45:02
いや、趣味レベルでやってるのはあんただけだとおもうぞw
243デフォルトの名無しさん:2010/02/05(金) 09:12:23
VS2010、Expression Encoder 3、Evernoteとかビジネスアプリの事例も増えてきてる
244デフォルトの名無しさん:2010/02/05(金) 09:33:08
MDXやXNA臭がするのは事実
245デフォルトの名無しさん:2010/02/05(金) 09:38:54
> XNA臭
するするwwww
246デフォルトの名無しさん:2010/02/05(金) 09:42:25
わざわざageて自演ですか?
247デフォルトの名無しさん:2010/02/08(月) 22:32:50
>>228
そこまでやったら、Modelを直接バインドしたいなw
248デフォルトの名無しさん:2010/02/08(月) 22:49:34
エッセンシャルWPFのP324にあるTreeViewとHierarchicalDataTemplateの
例がさっぱり分かんねーーーーー。
Binding Path='.'ってなんぞ。
249デフォルトの名無しさん:2010/02/08(月) 22:58:47
そこにバインドされているDataContext自体。
250デフォルトの名無しさん:2010/02/08(月) 23:01:54
綺麗さよりもスピード重視したWPFがあればいいのに
251デフォルトの名無しさん:2010/02/08(月) 23:02:37
DirectXで直接ゴリゴリやればいいじゃん
252デフォルトの名無しさん:2010/02/08(月) 23:10:06
DirectXわかんない
253デフォルトの名無しさん:2010/02/08(月) 23:14:50
WPFはバインドで動的にリフレクションの黒魔術で
エロイムエッサイムしている時点でどうがんばっても速度は限界があるだsろ。
254デフォルトの名無しさん:2010/02/08(月) 23:17:57
フレームワーク全体としてはともかく描画だけなら速くできるだろ
そこ分離するためにDrawingみたいなちょっと低レベルなレイヤがあるんだから
255デフォルトの名無しさん:2010/02/08(月) 23:35:42
>>247
そこまでやったら、俺のItemを美人Modelに直接バインドしたいなw
256デフォルトの名無しさん:2010/02/09(火) 00:10:06
面白いと思って書いてるんだろうか
257デフォルトの名無しさん:2010/02/09(火) 00:17:26
たくさんレス付いてると思ってわくわくしながらリロードしてるんだろな
258デフォルトの名無しさん:2010/02/09(火) 00:28:51
少しつれた...
259デフォルトの名無しさん:2010/02/09(火) 00:30:59
今時こんなレスでも釣れたって言うのか
260デフォルトの名無しさん:2010/02/09(火) 05:07:34
十分大漁です(´・ω・`)
261デフォルトの名無しさん:2010/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デフォルトの名無しさん:2010/02/09(火) 06:58:15
> <HierarchicalDataTemplate DataType="{x:Type io:DirectoryInfo}">
> <HierarchicalDataTemplate.ItemsSource>
> <Binding Path='.'>
型を返しているんじゃなくて、DataType=...は、「この型を表示要素に変換するDataTemplateだよ」と書いているだけ。
リソースに書いてあるデータテンプレートがあれば、明示的にデータテンプレートを書かなかった場合に
その型のインスタンスをバインドしたときに自動的に適用される。

> 返ってきたDirectoryInfo[]もHierarchicalDataTemplateの対象になってるってことですか?
このコンバータはDirectoryInfoから、IEnumerable<DirectoryInfo>に変換するのかな?
ならば、上と同様に型が一致すれば適用される。あとは再帰的に。
263デフォルトの名無しさん:2010/02/09(火) 10:40:42
>>262
後出しになってすいません。
コンバータはreturn ((DirectoryInfo)value).GetDirectories();です。
レスありがとうございます。理解が進みました。
264デフォルトの名無しさん:2010/02/10(水) 00:48:39
VS2010RC出たね
WPFは作る方は楽なんだろうけど
使う方から見ると悪夢だな
265デフォルトの名無しさん:2010/02/10(水) 00:50:17
>>264
そう?
266デフォルトの名無しさん:2010/02/10(水) 10:30:27
VS2010に関して言えばレンダリングにWPF使ってるだけなので
WPFだから特に楽って事もないだろう
267デフォルトの名無しさん:2010/02/10(水) 15:12:52
WPFでフリーソフト作ってるけどWinXPは動作保障外にしてる
間違ってないよね俺
268デフォルトの名無しさん:2010/02/10(水) 15:19:44
>>267
間違ってます
269デフォルトの名無しさん:2010/02/10(水) 15:21:37
フリーソフトで動作保証なんてあるんか?
270デフォルトの名無しさん:2010/02/10(水) 15:24:47
>>269
上手く動かなくても知らんってこと
271デフォルトの名無しさん:2010/02/10(水) 15:46:09
フリーソフトなんだから好きにしたらいいよ
272デフォルトの名無しさん:2010/02/10(水) 19:30:19
XPなんて臭いもん外すだろ…>>267は正しい
273デフォルトの名無しさん:2010/02/10(水) 19:33:19
WPFを使っているとXPとVista/7で細かい部分で挙動が違うことがままあるからなぁ…
XPを保証外ってのは賢明だな。
274デフォルトの名無しさん:2010/02/10(水) 19:36:04
XPは臭いのか

まあそれはいいとして確かにXP->Vistaでかなり変わってるからなあ
275デフォルトの名無しさん:2010/02/10(水) 20:59:02
そろそろ保証外にしてもいいんじゃないの?フリーソフトなら。
仕事だとなかなかそうはいかんかもしれないけど。
276デフォルトの名無しさん:2010/02/10(水) 21:43:12
>>266
VS2010で再変換が使えるようになったのはWPF採用のおかげだと思う。
277デフォルトの名無しさん:2010/02/10(水) 21:54:37
再変換って?
278デフォルトの名無しさん:2010/02/10(水) 21:56:43
え?
279デフォルトの名無しさん:2010/02/10(水) 21:59:35
再変換って言われてもIMEの再変換くらいしか思いつかない
280デフォルトの名無しさん:2010/02/10(水) 22:11:42
違うのか?
281デフォルトの名無しさん:2010/02/10(水) 22:26:36
VS2010で再変換できるのがそんなにうれしいのかなと
282デフォルトの名無しさん:2010/02/12(金) 15:11:04
WPFで、Silverlightアプリをホストできますか?
283デフォルトの名無しさん:2010/02/12(金) 16:43:40
できるよ
284デフォルトの名無しさん:2010/02/12(金) 20:12:47
codeplexにあったな
285デフォルトの名無しさん:2010/02/17(水) 15:39:06
マウスクリックしてPopup表示するのどうすればいいんだ?
最初から表示させとくことしかできないの?
286デフォルトの名無しさん:2010/02/17(水) 15:57:18
tooltipなのかダイアログかはっきり汁
287デフォルトの名無しさん:2010/02/17(水) 16:03:08
Popupクラスだよ
イベントハンドラかいて出来たけど
288デフォルトの名無しさん:2010/02/18(木) 13:05:12
DataGridで右寄せにするにはどうすればいいですか?
あるサイトにあった

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

をそのまま書くとPropertyDescriptorの値が無効ですといわれてしまいます
289デフォルトの名無しさん:2010/02/18(木) 13:45:39
・・・忘れてください
290デフォルトの名無しさん:2010/02/18(木) 14:30:15
忘れられるもんか
291デフォルトの名無しさん:2010/02/18(木) 17:01:05
あなたのことが忘れられないの///
292デフォルトの名無しさん:2010/02/18(木) 19:15:11
俺が忘れさせてやるよ
293デフォルトの名無しさん:2010/02/18(木) 20:21:05
金属バットで頭をバコーン☆! か
294デフォルトの名無しさん:2010/02/19(金) 05:29:22
http://msdn.microsoft.com/ja-jp/library/bb613591.aspx#Images
ここの解説で、
>この不要なオーバーヘッドを回避するには、
>WPF に対して、イメージをサムネイル サイズにデコードするように要求するか、

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

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

これはもとから小さいサイズの画像を用意しておくってことでいい?
ImageコントロールのWidth/Heightでの指定は非効率つーことだよね
295デフォルトの名無しさん:2010/02/19(金) 05:35:55
>>294
その辺はメモリやディスクの場所とCPU(GPU)の演算資源とのトレードオフだよ

どの段階でサムネイルを用意するかはソフト次第ってところだけど
たとえば3Dゲームなんかだとミップマップというのがそれっぽい
画像の管理かなあ
296デフォルトの名無しさん:2010/02/20(土) 11:48:58
質問です。

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

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

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

どのような解決方法がございますでしょうか?
297デフォルトの名無しさん:2010/02/20(土) 12:09:35
>>296
BitmapImage読み込み後にFreezeすればスレッド間で共有できる筈
298デフォルトの名無しさん:2010/02/20(土) 12:55:58
>>297
早速調べてみます、ありがとうございます!
299デフォルトの名無しさん:2010/02/20(土) 13:17:10
>>297
無事成功しました。

操作したい場合はCloneで置き換えればよいみたいですね。
ありがとうございました。
300デフォルトの名無しさん:2010/02/20(土) 17:52:46
最近WPF使ってるが、バインディングやらテンプレートのせいで
ちょっと規模が大きくなってくるとコードの見通しが絶望的に悪くなってくる。
せっかくC#なのに・・・
301デフォルトの名無しさん:2010/02/20(土) 17:57:45
そりゃ本来XAMLは人が読み書きするもんじゃないから
302デフォルトの名無しさん:2010/02/20(土) 17:59:44
>>301
じゃ、どーやってつくるんだよ
303デフォルトの名無しさん:2010/02/20(土) 18:01:34
XAMLでプログラムとデザインや設定が綺麗に分離されたのは素晴らしいんだが
WPFの本領を発揮しようとすると途端に至る所で色んな処理を書かなきゃいけなくなって死ぬ
304デフォルトの名無しさん:2010/02/20(土) 18:03:25
XAMLはGridだけで充分
305デフォルトの名無しさん:2010/02/20(土) 18:05:28
>>304
表示も入力もできないよママン
306デフォルトの名無しさん:2010/02/20(土) 18:36:38
XAMLはエディタが全プロパティきっちり書けるようになってからが本領発揮だと思う。
いまはどうしても手で書き足さないとだめだもんな。

Expression Blendは使ったことないからわからない。
307デフォルトの名無しさん:2010/02/23(火) 11:52:03
WPF Toolkit - February 2010 Release
308デフォルトの名無しさん:2010/02/23(火) 11:58:44
>>307
kwsk
309デフォルトの名無しさん:2010/02/23(火) 12:37:08
310デフォルトの名無しさん:2010/02/23(火) 12:38:50
Ratingってなーに?
311デフォルトの名無しさん:2010/02/23(火) 12:48:42
iTun○sのアレ
312デフォルトの名無しさん:2010/02/23(火) 18:08:56
・18歳未満使用禁止になりました
とかだとは流石に思わなかった
313デフォルトの名無しさん:2010/02/28(日) 16:59:57
WPF始めてサンプル作ってみたが、UI外観のカスタマイズやアニメーションがタグ要素だけでできて実行ファイルサイズも小さいんだな
リソースどうなってん?
XAMLがUI要素だけのための超高級言語っぽくて正直とっつきにくいが、日本語解説サイトもっと増えてくれー!
ついでにasp.net使える無料スペースも増えてくりゃれ、ドメインはいらんのです

314デフォルトの名無しさん:2010/03/04(木) 19:53:39
WPFは無くなると思うよ。
もともと.NET FrameworkにGUIアプリ向けのライブラリが混入してること自体が間違いだし、それをSilverlightで是正しようとしてるね。
315デフォルトの名無しさん:2010/03/04(木) 21:22:57
えっ?
316デフォルトの名無しさん:2010/03/04(木) 21:25:15
何それこわい
317デフォルトの名無しさん:2010/03/04(木) 21:27:31
WPFは無くならん

何を勘違いしてるのか知らんが、.NETをはじめとしたMSの言語群は「短期間で高品質な生産」を行うためにある
つまりアイデアが最も重要で、使い方を考えられない人間は価値を見いだせていないだけだ
318デフォルトの名無しさん:2010/03/04(木) 21:37:58
なくならないだろうけど
クライアントアプリはなんかどんどん微妙な立ち位置になってきてる気はするね。
319デフォルトの名無しさん:2010/03/04(木) 22:09:13
WPFはGridだけ残るよ
320デフォルトの名無しさん:2010/03/04(木) 22:38:42
Silverlightでもクライアントアプリ作れるし、将来的に完全にWPFに置き換わるようになっていくってこと。
WPFにある程度追いついてしまったらSilverlightの方が幅広く活用されるのはは当然です。

Gridありますし。
321デフォルトの名無しさん:2010/03/04(木) 22:54:37
Silverlight も WPF も基本は一緒だもんな。
322デフォルトの名無しさん:2010/03/04(木) 22:56:26
設計は全然違うけどな
Silverlightの勝利はマネージコードの敗北です
323デフォルトの名無しさん:2010/03/04(木) 23:30:53
>>320
>Silverlightでもクライアントアプリ作れるし、将来的に完全にWPFに置き換わるようになっていくってこと。

将来Visual Studioの実装がSilverlightで置き換えられるって? んなアホな。
Visual Studioの軽量版がSilverlightで実装されることはあるかもしれないが、
それは新規需要の開拓であって今のVisual Studioの置き換えでは無かろうよ。
324デフォルトの名無しさん:2010/03/04(木) 23:58:39
Vistaを7で無かったことにするのと同じですよ
325デフォルトの名無しさん:2010/03/05(金) 00:13:44
エッセンシャルの先頭10ページを読めばどうしてWPFが必要か理解できて、そんな寝言など出てこないはずなんだが
キミがそう思うのは自由だがひとには話さないことだな
326デフォルトの名無しさん:2010/03/05(金) 00:26:27
WPFで作られたアプリが起動しなくなった
WPFじゃないアプリじゃこんなことなかったのに
327デフォルトの名無しさん:2010/03/05(金) 01:07:10
釣針垂らすならもうちょっと頑張れよ…
328デフォルトの名無しさん:2010/03/05(金) 07:55:34
>>314
gui用のライブラリが入ってるのが間違いとか、意味分からんわ。
view無しのフレームワークとかありえんだろ。ウェブのDOMも間違いとかいい出しそうだな。
329デフォルトの名無しさん:2010/03/05(金) 08:19:56
>>325
先頭10ページを要約してよ。

→ 自分で買って読め

はいはい
330デフォルトの名無しさん:2010/03/05(金) 10:54:55
そのへんの書籍がよくフリーでpdf公開されてたりするのも知らんのだろうな
331デフォルトの名無しさん:2010/03/05(金) 12:23:09
URLも示さずに何言ってんのこの人。
エッセンシャルは公開*されてません*
332デフォルトの名無しさん:2010/03/05(金) 12:37:34
SilverlightはUI周りの実装がなあ
さすがにXAMLパーサまでアンマネージコードで実装するのはどうかと
333デフォルトの名無しさん:2010/03/05(金) 12:37:56
立ち読みでもしてこいよ。おれはおまえのママじゃないんだから
334デフォルトの名無しさん:2010/03/05(金) 18:54:28
>>333
実は読んだことないでしょ?w
335デフォルトの名無しさん:2010/03/05(金) 22:44:45
WPFやってるやつならみんな持ってるよ。これしかまともな本がないからな。君はもってないのか? 笑う。
336デフォルトの名無しさん:2010/03/05(金) 23:21:14
マトモとは思えないが、相対的にはマトモだなw
337デフォルトの名無しさん:2010/03/05(金) 23:33:56
WPF詳しい奴本書いて出版しろよ
今ならベストセラー狙える
338デフォルトの名無しさん:2010/03/06(土) 00:20:54
>>335
俺もってないけど?
普通はMSDNだのブログだので充分だと思うが。
339デフォルトの名無しさん:2010/03/06(土) 01:07:31
WPF本は2年ぐらい前にここで教えてもらったAdam NathanのWPF UnleashedとエッセンシャルWPFしか読んでない。
最近はネットの情報も増えてきて随分過ごしやすくなったね。
340デフォルトの名無しさん:2010/03/06(土) 03:55:02
本を所持してるだけでどんだけ高圧的になれるんだw
341デフォルトの名無しさん:2010/03/06(土) 09:50:06
>>339
その本正直ゴミみたいな本だよね
342デフォルトの名無しさん:2010/03/06(土) 10:39:55
>>338
ほぼそれで大丈夫だよ。
343デフォルトの名無しさん:2010/03/06(土) 12:23:51
Programing WPFは良かったよ。Pro WPFはどうなんだろ。
日本語の本では、新しいのが出ないね。
344デフォルトの名無しさん:2010/03/06(土) 13:11:01
WPF流行ってないからしかたない。
今使ってる層はWebから情報得たり英語ソースあたったりする層ぐらいじゃないの?

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

http://www.atmarkit.co.jp/fdotnet/vblab/uiframework_01/uiframework_01_01.html
> Silverlightはラインタイムのサイズを4MBytes台に抑えるという
> 至上命令があったため、WPFと比べると機能が削られているという
> 違いが存在する。

「ラインタイム」ではなく「ランタイム」だと思うのですが、
別にそういう用語があるのか気になってます。
346デフォルトの名無しさん:2010/03/06(土) 13:44:41
ランタイムで合ってると思うよ。
347デフォルトの名無しさん:2010/03/06(土) 13:45:53
ないです
348デフォルトの名無しさん:2010/03/06(土) 13:47:56
>>346
ありがとうございます。
349デフォルトの名無しさん:2010/03/07(日) 00:05:23
SilverlightのUIフレームワークはWPFに似せた全くの別物なので
WPFと比べて削られてるって言うのはちょっと不適切だと思う
.NET Frameworkと比べてSilverlightは機能が削られているというならわかるけど
350デフォルトの名無しさん:2010/03/07(日) 11:54:17
Expressionの開発に携わってる人が、SilverlightはWPFのサブセットだって言ってたよ。
351デフォルトの名無しさん:2010/03/07(日) 17:29:50
サブセットなめんな
352デフォルトの名無しさん:2010/03/07(日) 18:48:56
silverlightがサブセットといってもWPFが完全な上位互換でも無いんだよね。
silverlightにあってWPFに無い機能もあって移植のときに困る。
353デフォルトの名無しさん:2010/03/07(日) 18:52:27
じゃあどちらか無くした方がいいな
354デフォルトの名無しさん:2010/03/07(日) 19:29:00
UI部分に関してはAPIは似てるけど実装が全く違うんだよな
他のところはだいたいそのまま.NETのコードを拝借しただけなんだけど
355デフォルトの名無しさん:2010/03/08(月) 22:09:33
ようするにバカは使うなってことだ
ユトリは大人しくオナニーでもしてろ
356デフォルトの名無しさん:2010/03/09(火) 11:32:09
>>344
結局は面倒くさいからな
マイクロソフトのこの手の製品の癖として、何でも出来るようにさせるがために、全体の簡便さや明快さを犠牲にする。

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

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

ソフト制作の環境が昔と様々に違っている上、「また数年も経てば新プログラミング製品を出すんだろ?だとしたら過渡期のものをいちいち細かく研究してられるか。」感も強く、流行らないのも仕方ない。
357デフォルトの名無しさん:2010/03/09(火) 11:48:54
でもおまえらもこれくらい10分もあれば作れるだろ
http://www.dotup.org/uploda/www.dotup.org711436.png
358デフォルトの名無しさん:2010/03/09(火) 12:00:40
>>537
WPF と全然関係なくね?
359デフォルトの名無しさん:2010/03/09(火) 12:10:24
おまえらのいうWPFってGUI記述マークアップのことじゃないのか
360デフォルトの名無しさん:2010/03/09(火) 13:29:06
MS製の割には無駄に複雑な感があるよね
Javaみたい
361デフォルトの名無しさん:2010/03/09(火) 15:51:45
むしろMSの代名詞みたいなもんじゃないか>無駄に複雑
362デフォルトの名無しさん:2010/03/09(火) 16:01:49
OLE/COM時代を通っている者ならば問題ない
363デフォルトの名無しさん:2010/03/09(火) 16:37:36
無駄に複雑な方が色々金になるし。
あんまり簡単すぎるとうちらの仕事もなくなっちゃうよorz
364デフォルトの名無しさん:2010/03/09(火) 16:42:22
依存プロパティ作るのめんどくさいからバインディングとかあまり使ってない
365デフォルトの名無しさん:2010/03/09(火) 17:01:04
バインディング使わないとか勿体無すぎる
366デフォルトの名無しさん:2010/03/09(火) 17:12:59
バインディングは使っても依存プロパティ自体あまり使わないと思うの
367デフォルトの名無しさん:2010/03/09(火) 17:21:53
プロパティ型、プロパティ名、定義している型、初期値の4つを指定するだけじゃん
自動実装のプロパティと比べて2つも増えているのが面倒とか?
368デフォルトの名無しさん:2010/03/09(火) 17:24:33
あとおまけでCLRラッパーも
369デフォルトの名無しさん:2010/03/09(火) 17:57:11
依存関係プロパティは専用の構文とか用意すべきだったと思う。
正直くどい。
370デフォルトの名無しさん:2010/03/09(火) 18:42:37
たしかにくどいけどC#全般がそういう言語だと思うことにした。
Visual Studio使っていれば、propdp[Tab][Tab]と叩くいて雛形を埋めるだけで出来上がるし。
371デフォルトの名無しさん:2010/03/09(火) 18:47:50
スニペット必須なぐらいならいっそ #define みたいな仕掛け用意しときゃいいのにね。
不毛すぎる。
372デフォルトの名無しさん:2010/03/09(火) 20:17:36
ツールヒントの表示の仕方も分からない
373デフォルトの名無しさん:2010/03/10(水) 13:13:42
WPFはなくなるの?




答えはもちろんNO!
374デフォルトの名無しさん:2010/03/10(水) 15:24:48
まあさすがに30年ぐらいしたらなくなってるとは思う。
375デフォルトの名無しさん:2010/03/10(水) 15:30:32
COBOLは残ったんだよな・・・そう言われつつ
376デフォルトの名無しさん:2010/03/10(水) 17:37:34
無くなると分かっている技術を習得しなければならないこともあるということさ
377デフォルトの名無しさん:2010/03/10(水) 17:55:12
というよりSE/PGは(それに限らずどんな職業も)そういったくだらないその場限りの
バッドノウハウをお客さんのかわりに網羅する仕事だもんな。

Oracle のあるバージョン特有のチューニング方法とかどう考えても10年後20年後に役立つ知識じゃない。
378デフォルトの名無しさん:2010/03/11(木) 00:30:28
1日役に立てば十分だ
379デフォルトの名無しさん:2010/03/11(木) 01:17:27
WPF は Silverlight 4 の INotifyDataErrorInfo みたいにコントロールに非同期でエラーを伝える方法ってないのかな?
DataGrid で行の確定ごとにサーバーに問い合わせて、エラーを表示したいんだけど良い方法が分からない。
380379:2010/03/11(木) 22:13:56
自己解決した。
IDataErrorInfo と INotifyPropertyChanged を実装してエラー更新後に PropertyChanged 呼んでやれば良いだけだった。
PropertyChanged でエラー情報も拾ってくれるんだね。
381デフォルトの名無しさん:2010/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イベントによってマルチタッチアプリを開発しています。
参考になるサイトは以下です。
ttp://blog.andreweichacker.com/2009/02/windows-7-multi-touch-using-wpf/

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

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

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

(※すみません、次のレスに続きます)
382381:2010/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デフォルトの名無しさん:2010/03/12(金) 21:18:58
単純に「内部で単一のポイントとしてエンたーりーぶを計算している」ってことだろ。

間違っても「どうすればいいか」とかは聞かないでくれよ。
384381:2010/03/12(金) 21:33:23
>383
早速のレスありがとうございます。

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

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

よろしくお願いします。
385デフォルトの名無しさん:2010/03/12(金) 21:43:57
きみが「こう実装されてるはずだ!」とどんだけ叫ぼうと帰ってきたイベントが答えだよ
いいたいことがあるなら上司かMSにでも言え。俺に言うな。
386381:2010/03/13(土) 01:16:49
>>385
失礼しました。
>>383がそういう意図とは取れませんでした。

業務内容とはことなりますが
SRで訊けるかとり合ってみます。
387デフォルトの名無しさん:2010/03/15(月) 15:26:35
TreeViewのSelectedItemプロパティが読み取り専用のため、コード上で
treeview.SelectedItem = item;
のように指定できません。
例えばディレクトリ構成をツリー表示している場合、初期ディレクトリを開いて
選択状態にしたい時はどのようにしたらいいでしょうか?
388デフォルトの名無しさん:2010/03/15(月) 17:18:43
>>387
つEnsureVisible()
389デフォルトの名無しさん:2010/03/15(月) 17:33:12
普通に、IsSelected=trueするだけだろ
390デフォルトの名無しさん:2010/03/19(金) 01:16:40
WPF M-V-VM Toolkit 0.1のドキュメント
Model-View WPF Applications--Part 2, Walkthroughにおいて
コマンド呼び出しにわざわざCommandReferenceを間にかませているのだけど
これは何の意味があるのでしょうか?
ViewModelのプロパティ名を記述する部分を一箇所にまとめるという意味はあると思いますが。。。

そもそもCommandReference自体が何をするためのもの?
391390:2010/03/20(土) 01:06:56
<KeyBinding Key="X" Modifiers="Control" Command="{StaticResource ExitCommandReference}" />

となってるところを

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

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

StaticResourceでワンクッション置けばできる仕組みはなんとなくしか理解してないが
バインドできない(Dependencyでない)プロパティ用の中継オブジェクトという認識で理解。
392デフォルトの名無しさん:2010/03/20(土) 20:34:28
Microsoft Extensible Application Markup Language (XAML) technical documentation set
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=52A193D1-D14F-4335-AA86-C53193E1885D

読んでないけど、なんか来てた。
393デフォルトの名無しさん:2010/03/20(土) 20:49:32
XAMLで書かれたベクタ画像を動的に読み込んで表示したいのですが、
どうしたらいいでしょうか?
394デフォルトの名無しさん:2010/03/20(土) 20:53:25
XamlReader.Load
395デフォルトの名無しさん:2010/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デフォルトの名無しさん:2010/03/21(日) 15:27:44
等幅フォントを列挙するにはどうしたら良いんでしょうか?
Fonts.SystemFontFamilies で列挙できる FontFamily で等幅かプロポーショナルか
判断する方法ありますか?
397デフォルトの名無しさん:2010/03/22(月) 00:41:43
OnClosingのタイミングで設定保存とか続行確認とかしたいので
OnClosingとかOnLoadイベントにICommandをバインド?したいのですが
どう書けばいいのですか?
xamlに直接書けないのかな?
イベントハンドラ作ってxaml.csにコードで書くのかな?
できないことはないと思いますがぐぐっても情報が見つけられないです
398397:2010/03/22(月) 23:32:43
いろんなblogとか見てると
MVVMでのイベント処理は結構悩みどころなんですね。

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

ttp://blogs.wankuma.com/kazuki/archive/2009/05/05/172467.aspx

xaml的には美しいですけどね・・・
このままではあまりに使い勝手が悪いので汎用的になるように改造してみます。
てか絶対誰か既に作ってるだろ。。。趣味だからいいんだけれどね・・・
399デフォルトの名無しさん:2010/03/23(火) 10:59:35
OnClosing とかポップアップは MVVM 的にすとんと落ちないらしいよね。
個人的には落ちない部分は大人しくコードビハインド書いたらいいのにとは思うけど。
400デフォルトの名無しさん:2010/03/23(火) 13:36:30
ViewModel→Viewの操作でどうしてもバインドで書けないところは
var service = (IWorkspaceService)this.Services.GetService(typeof(IWorkspaceService));
service.OpenWorkspace(HogeWorkspaceViewModel);
みたいにしたらだいたいなんとかなるとおもう
401デフォルトの名無しさん:2010/03/23(火) 14:42:36
Eventにコマンドをバインドしたければ
AttachedCommandBehaviorが使えるよ。
http://marlongrech.wordpress.com/2008/12/13/attachedcommandbehavior-v2-aka-acb/
402デフォルトの名無しさん:2010/03/23(火) 16:22:41
WPF3.5でテキストがGDIに比べてぼやけた状態で描画されてしまう問題に対応しようとしています。

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

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

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

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

こんな↓ページを見つけまして
ttp://blogs.microsoft.co.il/blogs/tomershamam/archive/2009/04/14/wpf-commands-everywhere.aspx

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

404デフォルトの名無しさん:2010/03/23(火) 17:29:16
>>402
WinFormsHost
敗北宣言に等しいけど
405デフォルトの名無しさん:2010/03/23(火) 17:38:10
カスタムスタイルでレイアウトの入れ子が増えるとおかしくなる。
406デフォルトの名無しさん:2010/03/23(火) 17:48:50
知らん
XAMLくらい出せるだろ
407デフォルトの名無しさん:2010/03/23(火) 22:35:36
あと、.NET 3.5のWPFでぼけたように見える原因の1つに埋込ビットマップをまったく使わないせいというのもある。
だからどうしたらいいと言えるわけではないけれど。
408デフォルトの名無しさん:2010/03/23(火) 22:51:45
VS2010RC, WPF4.0
を使っているのだが、
Win32におけるWM_GESTUREみたいなもので
Gestureイベントってあるのかな?

zoomとかrotateとか簡単に取得できると
良いのだが。
409デフォルトの名無しさん:2010/03/23(火) 22:59:34
WPF マルチタッチ
でググる
410デフォルトの名無しさん:2010/03/23(火) 23:34:37
>>409
それで解答が得られたのであれば
本気で教えて欲しい。
どうせ「WPF マルチタッチ」でググったことないんだろ?
411410:2010/03/23(火) 23:38:39
>>409
正直スマンかった。
最近、海外のサイトばかり回っていたのだが
日本のサイトでもWPF4.0について書かれているサイトが
少しずつ増えているんだな。
412デフォルトの名無しさん:2010/03/24(水) 21:26:14
これXPには対応していない部分とかあるの?
XP用に開発するのは無謀?
413デフォルトの名無しさん:2010/03/24(水) 22:33:26
XPだとなんか重いし、見た目もいまいちだし。
俺はもうXPはサポート外でやろうと思ってるくらいだ。
414デフォルトの名無しさん:2010/03/24(水) 23:08:34
WPF初めて触って面白そうと思ったんですが(まだハローワールドしかやってないんですが)そんなにはやってないんですか
XPだと表示が微妙なんでしょうか?
415デフォルトの名無しさん:2010/03/24(水) 23:09:18
Silverlight使えば?
Silverlight4ならブラウザ外実行の普通のデスクトップアプリケーションとして
CDなどで直接配布できるよ
416デフォルトの名無しさん:2010/03/24(水) 23:17:52
>>414
微妙っていうか重いってのが一番のネックかと。
今のところ、WPF でやってみました!!なんてのが売りになるぐらい流行ってないと思う。
少なくとも国内では。
417デフォルトの名無しさん:2010/03/24(水) 23:28:38
WindowsFormで作られたC#アプリを
簡単にWPFのGUIに移行できる?
簡単に言うとform1だけwindows1にするだけで
作り変えられるのか?ってとこが疑問なんだけど
このGUIで非同期とか実現できるのかなー
418デフォルトの名無しさん:2010/03/24(水) 23:31:12
新しい概念が登場しすぎで全体像把握すんのが大変
昔の素朴なイベントキューアーキテクチャって一目で理解できたもんな
それってある意味ではすごい
419デフォルトの名無しさん:2010/03/24(水) 23:32:32
>>417
ならない

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

> このGUIで非同期とか実現できるのかなー
意味分からん
421デフォルトの名無しさん:2010/03/24(水) 23:38:29
>>416
重いんですか、残念
こういうの待ってたんだけどなぁ
Silverlightってwikipedia見る限りWPFと同じなのかな??は調べてやってみまする
422デフォルトの名無しさん:2010/03/24(水) 23:39:54
XPだと重いってどういうことよ?
プラットフォームに依存しないんじゃないの?
423デフォルトの名無しさん:2010/03/24(水) 23:40:55
同じPC/AT互換プラットフォームなら全て同じ性能出せと言いたいのか
424デフォルトの名無しさん:2010/03/24(水) 23:41:04
>>422
GUI周りの構造の問題じゃないの?

試してないけどもしかするとvistaのAero切ったらだめってのと同じかもね
425デフォルトの名無しさん:2010/03/24(水) 23:42:41
まあSilverlightなら軽いし確実に同じ外観と操作性を実現できるもんなあ
426デフォルトの名無しさん:2010/03/24(水) 23:43:42
vista以降ってOSのGUI周りがゲームと変わらないといっても過言じゃないくらい
GPUと融合果たしてるけど、xpまでは2Dが基本なのでWPFだといろいろ
無駄がありそうってイメージ
427デフォルトの名無しさん:2010/03/24(水) 23:59:15
細かい違いはあるけど Silverlight 覚えるのも WPF 覚えるのも大差ないような気はするよね。
428デフォルトの名無しさん:2010/03/25(木) 04:20:54
Expression Blend 3をダウンロードしてみたんだが
UIがめっちゃオサレですね
でも使い方が全然わからん
ほんとにデザイナさんこんなの使えるの???
429デフォルトの名無しさん:2010/03/25(木) 06:40:20
flashでas3やってるデザイナなら使えると思う
430デフォルトの名無しさん:2010/03/25(木) 10:53:57
体を使う技はデザイナでも訓練しなければ云々
431デフォルトの名無しさん:2010/03/25(木) 13:04:21
>>426
OSはあんまり関係ないよ
WPFは基本的にウィンドウ内で完結してるのでほんとにゲームと全く変わらない
432デフォルトの名無しさん:2010/03/25(木) 17:46:11
描画システムが違うって点でOS関係あるんじゃないの?
433デフォルトの名無しさん:2010/03/25(木) 17:59:00
XPがWDDM1.1に対応してないという点では関係ある
ウインドウの中身をdirectxで書いてるという点では関係ない
434デフォルトの名無しさん:2010/03/25(木) 22:30:39
XPだとGPU支援が得られず、CPU負荷が大きい。
なのでOSは思いっきり関係ある。
435デフォルトの名無しさん:2010/03/25(木) 22:33:57
それ迷信
単なるゲームだと何度言ったら
436デフォルトの名無しさん:2010/03/25(木) 22:42:50
XPでGPUアクセラレーションが効かないっていう噂の発端は
XPでは透明ウィンドウがソフトウェア処理されていたこと
.NET3.5ではXPでも透明ウィンドウにGPUが効くようになった
437デフォルトの名無しさん:2010/03/25(木) 22:49:27
なるほど。
3.5以降ターゲットで作ればVista以降と比べて遅いってことはなくなるのか。
438デフォルトの名無しさん:2010/03/26(金) 00:13:16
3.5のせいでウィンドウフックするタイプのソフトは全部使えなくなったわ
439デフォルトの名無しさん:2010/03/27(土) 01:22:15
WPF3.5 SP1 です。

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

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

たとえば、ある canvas に対する相対位置 (a, b) に
XAML形式のものを配置するということを、C#のコードで
実現することは出来るのでしょうか?
440デフォルトの名無しさん:2010/03/27(土) 08:06:13
できるとしか答えられない
441デフォルトの名無しさん:2010/03/27(土) 08:23:34
>>440
*.cs からイラレxamlって生成できるの?
どうやんの?
442デフォルトの名無しさん:2010/03/27(土) 08:27:29
どうやるかは分からないが
労力を無視すれば
どんなことであれ不可能ではないだろう
443デフォルトの名無しさん:2010/03/27(土) 09:08:38
*.cs で、はしらんけどイラストレーターには Xaml 出力のプラグインがあったよ?

http://www.mikeswanson.com/xamlexport/
444デフォルトの名無しさん:2010/03/27(土) 09:24:27
>>439
XamlReaderでXAMLを読み込んでXAMLのルート要素の型(IllustratorならたぶんCanvas)にキャスト
Canvas.SetLeftとCanvas.SetTopで位置を設定
配置されてるCanvasのChildrenに追加
445デフォルトの名無しさん:2010/03/27(土) 15:17:30
あるいはC#で静的にXAMLファイルを書きかえる
446デフォルトの名無しさん:2010/03/27(土) 19:26:24
>>442
〜でできますかという言い方をすれば俺ならこうやってできるぜ
という人が必ず現れるので労力は無視できる。
447デフォルトの名無しさん:2010/03/27(土) 19:37:45
>>446
それが2ちゃんの正しい使い方
448デフォルトの名無しさん:2010/03/27(土) 19:39:35
「◯◯って××も出来ないんだね→ばーかばーか、△△で出来るっつーの」メソッドと、
「◯◯ってどうやるんでしょう?→△△で出来ますよ(嘘自演)→アホ、□□だ情弱」メソッドもあるでよ。

449デフォルトの名無しさん:2010/03/27(土) 19:44:39
もはやそのメソッドも使い古されて「△△で」「□□だ」は書かれない傾向が
450439:2010/03/27(土) 22:09:58
>>443
ありがとうございます。
そのプラグインで生成したxamlを *.cs.xaml に記述するのではなく
*.cs の中から生成したいのです。

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

>>445
ありがとうございます。
検索の手がかりになるキーワードだけでも
教えていただけないでしょうか。
451デフォルトの名無しさん:2010/03/28(日) 02:42:38
WPF覚える前に検索方法覚えたほうがいいんじゃね

検索キーワード聞かなきゃ検索できないとか冗談にもならないレベルだよ
452デフォルトの名無しさん:2010/03/28(日) 09:35:00
いやいや何言ってんだ・・・キーワード知らなきゃ検索出来んだろ普通。
453デフォルトの名無しさん:2010/03/28(日) 10:41:34
>>439
大漁でしたね
454デフォルトの名無しさん:2010/03/28(日) 12:24:39
google入門とか読めよ。

簡単に言うと、自分が思いつくいちばん近いキーワードで検索してページを読んで
もっと近そうなキーワードを見つけていくんだよ。誰でもできるだろ? やれ。
455439:2010/03/28(日) 14:13:30
ネットはテレホーダイの時代以前から触っているので
それなりに検索術はあると思っていますが
皆さんの反応を見る限り、そうではなかったようです。

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

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


>>453
遊びではありません。
456デフォルトの名無しさん:2010/03/28(日) 14:38:44
傲慢過ぎワラタ こんな捨て台詞数年ぶりに見たわ
457デフォルトの名無しさん:2010/03/28(日) 16:01:23
そうか?俺も他スレで同じ経験すること多いぞ
技術的な他分野ってこんなもんだろ
458デフォルトの名無しさん:2010/03/28(日) 16:06:43
無駄にプライド高いのに教えを乞うからだよ。

希望の機能ならライブラリにメソッドがちゃんと用意されてるよ。
遊びじゃないなら3週間給料泥棒だったね。
459デフォルトの名無しさん:2010/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デフォルトの名無しさん:2010/03/28(日) 16:15:53
ActualWidth/ActualHeightでいいはずだが?
「調べても分からん」?「確認したけど期待した値じゃない」じゃなくて?
461デフォルトの名無しさん:2010/03/28(日) 16:17:37
計算される前に呼んでるんだろ
462459:2010/03/28(日) 16:20:36
>>460
>「確認したけど期待した値じゃない」じゃなくて?
そうでした。すまん。
なんか 0 が返ってくる。

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

お二方ありがとうノシ
463デフォルトの名無しさん:2010/03/28(日) 16:35:23
ggrks
464459:2010/03/28(日) 16:42:19
何を血迷ったか、WinMain() の中で呼んでいたよ orz
Window_Loaded() の中で呼んだら、期待した値が来ました。
本当にありがとうございました。
465デフォルトの名無しさん:2010/03/28(日) 18:09:57
>>464
いいってことよ
466デフォルトの名無しさん:2010/03/28(日) 18:44:24
おまえら質問のしかたで反応が違いすぎ
467デフォルトの名無しさん:2010/03/28(日) 18:54:47
いや普通そうだろ
468デフォルトの名無しさん:2010/03/28(日) 18:56:06
>>466
普通そうです
469デフォルトの名無しさん:2010/03/28(日) 18:57:59
私は女子中学生だけどそれが普通だと思います。
470デフォルトの名無しさん:2010/03/28(日) 19:02:41
「自分のしたいことが明確にわかっている」のが質問の最低条件だから。
ここコミュ力試験に出るよ。
471デフォルトの名無しさん:2010/03/28(日) 19:07:14
エスパーじゃないからな

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

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

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

「ネットはテレホーダイの時代以前から触っているので」とか
歯に詰まったクラッカーのカスほどの価値もないことを書いて
自分が調べたキーワードがどういうものかもかかない奴には当然冷たい。
473デフォルトの名無しさん:2010/03/28(日) 20:01:39
>>459
最初の一行が効いたな
474デフォルトの名無しさん:2010/03/28(日) 20:03:03
>>472
おまえはテレホマンの魂を侮辱した!
475デフォルトの名無しさん:2010/03/28(日) 20:17:42
しかしネットで難解なドキュメントやマニアックなブログ見るよりも
ビギナー向けのXAML入門書読んだほうが早いような気もするが
476デフォルトの名無しさん:2010/03/28(日) 20:34:18
普段、難解なことを扱っているんだろ。
入門書で分かるレベルのことであっても
いつも通りの調べ方をしてしまったんだろな。
それ故にプライドも高い。
477デフォルトの名無しさん:2010/03/28(日) 20:44:19
スレチ
478デフォルトの名無しさん:2010/03/28(日) 20:44:23
WPFで、マウスポインタがディスプレイの端を触った時に
発生するイベントってありますか?

現状では、以下の2通りの方法で何とか実現していますが
美しくありません。

1) DispathderTimer を使う
 ・ System.Windows.Forms を参照
 ・ timer で定期的に呼ばれる関数内で Cursor.Position.X, Y を取得し
  予め取得しておいた、解像度の情報と X, Y を比較して判定
問題点:タイマーを設けることで常に関数が呼ばれることになる

2) 透明の Rectangle などを置いて、MouseEnter で判定
 ・そのままです。
問題点:問題と言うか、美しくないです。

もしあるようでしたら、ご教授願いたいです。
よろしくお願いします。
479デフォルトの名無しさん:2010/03/28(日) 20:55:04
2)は美しくなくない
480デフォルトの名無しさん:2010/03/28(日) 20:55:39
MouseMoveイベントと
http://www.atmarkit.co.jp/fdotnet/dotnettips/003screen/screen.html
を組み合わせてみては?
481478:2010/03/28(日) 21:11:57
>>479
美しくなくないですか。
例えば市場に出すアプリを組んでいるプロ?の方でも
こういった力技で解決するのでしょうか。

>>480
あぁーなるほど。MouseMoveですか。盲点でした。
座標比較が頻繁に行われることに違いはありませんが、
timerよりかは遥かに良い方法ですね。


以下、つぶやきです。
1)の方法でも、OSは定期的に MouseEnter しているのか
判定しているのでしょうかね。それなら1)も2)も処理量は
大差ないかもしれません。が、仮定の話なので無駄ですね。
482デフォルトの名無しさん:2010/03/28(日) 21:19:33
マウスポインタがある領域に入ったってイベントが欲しいわけでしょ
正しい実装じゃん
力技じゃない
483デフォルトの名無しさん:2010/03/28(日) 21:21:40
タイマで処理するにしてもそれぐらいカスみたいなコスト
484478:2010/03/28(日) 21:21:56
>>482
なるほど、考えを改めます。
ありがとうございました。
485デフォルトの名無しさん:2010/03/29(月) 21:53:38
Blendでコードビハインドべったりで書いていくと簡単だったりするんだよなwpf
昔のVBと大して変わんないってくらい
486デフォルトの名無しさん:2010/03/30(火) 08:02:13
macで使われてるGUIのボタンってなんっていいましたっけ・・・
あれを再現は可能ですか?
487デフォルトの名無しさん:2010/03/30(火) 09:03:01
Dockか?
そりゃWPFはまさにああいうことをやるためのフレームワークだから
488デフォルトの名無しさん:2010/03/30(火) 10:29:01
aquaのことじゃないの
489デフォルトの名無しさん:2010/03/30(火) 13:00:22
ボタンの見栄えを自由にするなんてのはお手のもんでしょうな。
別にFormで出来なかったわけでもないけど。
490デフォルトの名無しさん:2010/03/30(火) 21:11:48
WPF Themesにいろいろ綺麗なテーマがあるよ
Macの真似みたいな貧乏臭いことはやめてくれ
491デフォルトの名無しさん:2010/03/31(水) 22:27:14
WPFで3Dグラフィックの仕事をやることになったんだが、皆目見当がつきません。
何か良い本は無いでしょうか。
492デフォルトの名無しさん:2010/03/31(水) 22:46:11
まずは、Essential WPF。後は英語でググレ。
493デフォルトの名無しさん:2010/03/31(水) 23:18:18
そんなもん読んでるに決まってるだろ。
他に無いでしょうか。
494デフォルトの名無しさん:2010/03/31(水) 23:28:13
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→(ry

まぁ、挙げるだけ無駄ってことだなw
495デフォルトの名無しさん:2010/03/31(水) 23:45:33
返答してる人が同一人物である保証すらないしな。
496デフォルトの名無しさん:2010/03/31(水) 23:51:02
idほしいお・・・
497デフォルトの名無しさん:2010/04/01(木) 00:12:50
3D PROGRAMMING FOR WINDOWS
498デフォルトの名無しさん:2010/04/01(木) 07:31:59
WPF 3Dプログラミング―誰でも簡単に3Dゲームやツールが作れる最新技術!
499デフォルトの名無しさん:2010/04/01(木) 11:24:40
WPFによる3Dプログラミングの極意 (民明書房)
500デフォルトの名無しさん:2010/04/01(木) 14:45:12
質問かいてたら答えが見つかったけどもったいないのカキコ

HTMLのMarquee的な動作をするテキストブロックを作ろうと

<Canvas>
  <TextBlock 〜>
</Canvas>

としておいて、
下記のように添付プロパティのCanvas.Leftをアニメーションさせています。

<Storyboard x:Key="test" RepeatBehavior="Forever">
  <DoubleAnimation
    From="1"
    To="100"
    Duration="0:0:10"
    Storyboard.TargetName="textBlock1"
    Storyboard.TargetProperty="(Canvas.Left)"/> <!-- ←なんで括弧が必要? -->
</Storyboard>

括弧がなぜ必要なのか教えてください。
ひょっとして拡張部分のそういう仕様ですか?

仕様でした><
501デフォルトの名無しさん:2010/04/01(木) 21:45:22
GJ
502デフォルトの名無しさん:2010/04/01(木) 22:58:08
Canvas canvas1
Ellipse elli1, elli2

ああるとして

canvas1.Children.Add(elli1);
canvas1.Children.Add(elli2);

とした後に

elli2 だけ Clear することってどうやれば良いんですか?
503デフォルトの名無しさん:2010/04/01(木) 23:01:24
Remove
504デフォルトの名無しさん:2010/04/01(木) 23:07:15
>>503
あ・・・ありがとう。
なんで見つからなかったんだろう。
505デフォルトの名無しさん:2010/04/02(金) 04:26:05
>>491
Practical WPF Graphics Programming
この本なんかはどう?
506デフォルトの名無しさん:2010/04/02(金) 07:52:30
>505
ttp://www.free-ebooks-download.org/free-ebook/dotnet/Framework/practical-wpf-graphics-programming.php

なんかあったがなんかいろいろばら撒く気満載泣きガス・・・
とりあえずダウンロードはできた。中身もあってるっぽいが・・・
507デフォルトの名無しさん:2010/04/02(金) 09:09:51
最近Freeに影響されたかバラ撒くとこ増えたねえ。
それとも欧米では結構昔からこういうことするとこ多かったのかな?
508デフォルトの名無しさん:2010/04/02(金) 09:55:54
ローマ字変数名しか使えない俺には無用
509デフォルトの名無しさん:2010/04/02(金) 10:16:55
少なくともWPFに関する本はほぼすべてネットで拾えてしまうからなあ。
実に由々しき事態だ。(棒)
510デフォルトの名無しさん:2010/04/02(金) 10:19:12
ちょっと目を通してみたけどWPFの本というよりグラフィックスの基礎の本だなあ
普通は可視化にOpenGLとか使うところをたまたまWPF使ってるだけな感じ
511デフォルトの名無しさん:2010/04/04(日) 22:14:21
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/717excelfile/excelfile.html
こちらを参考にしてWPFにExcelファイルを読み込まれるまではできたのですが、
これをWPFコントロールにそのまま表示させることって出来ないのでしょうか。

セルの1つひとつの情報を取ることはできるので
Gridをひいてセルを写すことは可能なのですが、
Excelの表をそのままWPFのwindowに表示させたいのです。

それとも、セルから全部コピーしないとダメなのでしょうか?
512デフォルトの名無しさん:2010/04/05(月) 01:03:51
>WPFにExcelファイルを読み込まれる
たぶんもうちょっと理解してから弄った方がいい(というかformsで構築したほうがいいだろ)
こういう方法はあるみたい
http://social.msdn.microsoft.com/Forums/ja-JP/wpfja/thread/b0612ddb-2390-4458-bb3d-86c904509d82
513デフォルトの名無しさん:2010/04/05(月) 02:52:05
>>512
ありがとうございます。
その質問+解答も見ていましたが
やはりその方法しかないみたいですね。
まずはWinFormで作ってみてから
WPFに応用してみます。

※Animationを使いたいので、WPFのが良いんです。
514デフォルトの名無しさん:2010/04/06(火) 00:11:32
BeginAnimationって、
「さーアニメってこい!」
ってゴーサイン出すだけじゃん?

FromからToまで行き終わったときに
何か処理して欲しい場合って
どうすれば良いの?

FinishedAnimationとかあれば良いのに。
515デフォルトの名無しさん:2010/04/07(水) 13:49:44
completedイベントなかったっけ
516デフォルトの名無しさん:2010/04/08(木) 00:05:35
もうexpression4が出るのか・・・まあ出るわな
なにが変わるのかわかる資料が全然見当たんないなー
517デフォルトの名無しさん:2010/04/09(金) 01:02:24
まだ出ないんじゃない?
518デフォルトの名無しさん:2010/04/09(金) 01:05:14
無料あぷでは確定です
519デフォルトの名無しさん:2010/04/10(土) 00:12:37
Focus()して成功する条件って何でしょう?
キーボードフォーカスをそのエレメントに移動できなければfalse、ってのは分かるのですが
そもそもキーボードフォーカスを移動できる条件って何でしょうか?
520デフォルトの名無しさん:2010/04/10(土) 06:20:25
ウインドウの初期化が終わる前にコントロール関連のメソッドを呼ぶなと
521514:2010/04/11(日) 15:59:49
>>515
おそくなりましたが
ありがとうございました。
522デフォルトの名無しさん:2010/04/11(日) 21:49:49
>>520
CheckBoxのIsCheckedをTrueにしてると、初期化中にチェックイベントが実行されたりするあれ?
523デフォルトの名無しさん:2010/04/13(火) 17:17:58
Expression BlendとかWPFで作られたソフトが起動しなくなった
524デフォルトの名無しさん:2010/04/13(火) 17:33:22
環境壊れてるんじゃないか
525デフォルトの名無しさん:2010/04/13(火) 21:48:30
趣味でWPFで3Dモデリングツールを作ろうとしてるんだけど、OpenGLとかDirectXでやった方が幸せかな?
ざっくりした質問で悪いけど、皆さんWPFの3Dって総合的にどう評価してます?
526デフォルトの名無しさん:2010/04/14(水) 05:48:41
>>525
「wpf direct3d 制約」でググるいいよ。
正直、WPFの3Dっておまけ機能だと思ってるけど。
527デフォルトの名無しさん:2010/04/14(水) 10:17:47
UIはWPFで3DビューはD3DImage+MDX/SlimDXくらいが現実的なんじゃね
528デフォルトの名無しさん:2010/04/14(水) 13:52:27
http://msdn.microsoft.com/ja-jp/windows/cc811510.aspx
XAMLなんて誰が考えたんだ?
こんなソース読む気も書く気もしねー
529デフォルトの名無しさん:2010/04/14(水) 13:58:43
めちゃめちゃ頭のいい人
ただ、凡人の限界を知らなかったらしい
530デフォルトの名無しさん:2010/04/14(水) 14:02:34
100円の和菓子1つを10万円の箱に入れてるようなもんだな
531デフォルトの名無しさん:2010/04/14(水) 15:10:29
ツールの使用を前提にしてるよなぁ〜
532デフォルトの名無しさん:2010/04/14(水) 15:45:31
ワロタ
Xamlコードを出力するツールをまず自作しなきゃな。
blend?高いしイラネ
533デフォルトの名無しさん:2010/04/14(水) 17:04:29
コードで計算してジオメトリ作ってxamlで書き出すんだよ?
まあなんとかいうモデリングソフトで書いてxaml出力してもいいけどね
534デフォルトの名無しさん:2010/04/14(水) 18:41:57
>>528
> 2 次元から抜け出そう

心にぐさりと来ました
535デフォルトの名無しさん:2010/04/14(水) 19:02:31
まだ入り込めてもいないのに
536デフォルトの名無しさん:2010/04/14(水) 20:04:03
まあ普通はツールで出力するだろ
そのためのXMLだ
537デフォルトの名無しさん:2010/04/14(水) 20:15:00
WPFの3Dって、モデリングツール(DirectX)で画像処理ー>XAMLフォーマットで出力という使い方を想定してんじゃねえの?
わざわざ手かせ足かせを嵌めて走る意味はなかろう。
538デフォルトの名無しさん:2010/04/14(水) 20:59:43
Visual Studio 2010 + WPF4.0
を使っている方は少ないと思いますが、
「これが原因じゃない?」程度でも構いませんので
何か思い当たることがありましたら、お願いします。

■質問内容
以下の2つの方法で、挙動がことなります。
 1) xmalで Button を配置して Click イベントを与えたもの
 2) csファイルに Button b = new Button(); b.Click += new RoutedEventHandler(hoge);
  として Click イベントを与えたもの

■挙動
 1) Win7+タッチ対応ディスプレイにて、タッチでも Click が反応します
 2) Win7+タッチ対応ディスプレイにて、タッチでは Click が反応しません

ButtonをManipulationで操作したいため、TouchUp などは使えません。
ボタンの Click イベントを 2) の方法で生成した Button に対して適用したい
のですが、どのようにしたら良いかアイデアが思いつく方、お願いいたします。
539デフォルトの名無しさん:2010/04/14(水) 23:46:11
MouseMoveとか他のイベント捕まえてみたら?
540デフォルトの名無しさん:2010/04/15(木) 00:01:33
MouseMoveですか?
ManipulationではなくMouseMoveで
操作しろということでしょうか?
541デフォルトの名無しさん:2010/04/15(木) 07:51:03
WPFってなんでこんなもっさりしてんの?

Direct3Dとか少ししか触ってないので見当違いなこと言ってたらすまん。

1.UIElementツリー
2.Direct3DのVertexBufferとかMesh
3.実際の出力

WPFは主に1の画面要素自体とイベントなどのハンドリング、状態通知でごにょごにょとなどとそれらを2に反映させるものだと思ってるんだが、
1自体が重いのか1から2への変換などが重いのか?
2,3とかは高速なんだろうし、現状では削りようのないところなんだろうけれど。

たとえば画面のボタンの背景色を変えた場合は内部でどんな動作になるんざんしょ。
542デフォルトの名無しさん:2010/04/15(木) 08:03:57
普通に1だろ
ちなみに1と2の間にはもう一つ層がある
Direct3DをGUI向けにラップしたネイティブコードのライブラリを使ってる
543デフォルトの名無しさん:2010/04/15(木) 10:08:43
もっさりっていうならまずスペック更科よ
544デフォルトの名無しさん:2010/04/15(木) 21:06:10
ゲーム作成にWPFを使いたいんですが、文献が少なくて困ってます。
オススメの文献とかありませんか?
545デフォルトの名無しさん:2010/04/15(木) 21:33:45
ゲームってジャンルくらい書きなよ
546デフォルトの名無しさん:2010/04/15(木) 21:40:07
WPFの文献だと日本語のはエッセンシャルWPFぐらいしかないんだっけかね?
547デフォルトの名無しさん:2010/04/15(木) 21:40:59
失礼しました。2Dで、ベクター画像を用いた格闘ゲームです。
ですが、格闘ゲームに限らず、
WPFでのゲームプログラミングの情報自体が見つけられなかったので、
ほかのジャンルの情報でも充分助かります。
548デフォルトの名無しさん:2010/04/15(木) 21:47:43
ギャルゲーくらいですよこれ。
ギャルゲーでビデオカード要求とかあり得ないんでギャルゲーでは主流になってもいいと思います。
549デフォルトの名無しさん:2010/04/15(木) 21:50:22
WPFは基本的にビデオカード要求だけど
550デフォルトの名無しさん:2010/04/15(木) 21:58:28
>>547
「エッセンシャル WPF」
「XAML プログラミング WPFアプリケーションの概要と開発」
このスレではこの2冊がそこそこ評判が良かった。
もし英語に抵抗が無ければ出版数が多い洋書で探した方が良いかと。
個人的には書籍じゃないけどMSDNのサンプルが一番役に立ったよ。

WPFでゲームを作ってる人は少ないだろうなあ。
DirectXかXNAを使った方が良いと思うんだけど。
551デフォルトの名無しさん:2010/04/15(木) 22:29:22
google booksでwpf検索してみたら
だいたい用は足りると思う
552デフォルトの名無しさん:2010/04/16(金) 00:11:31
ボタンの中に画像を置く
ということをXMALではなくC#のコードから実現したいです。

ネタとしては、ここの質問のC#版です。
質問内容を理解しないでXAMLの話をする回答者が多いみたいですが。
ttp://bbs.wankuma.com/index.cgi?mode=al2&namber=38523&KLOG=66

プログラム内で動的にButtonを配置したいため、
XAMLではなくC#から生成したいのです。
画像の情報も動的に取得するので、画像もC#で生成したいです。
(実際には、画像のパスを動的に取得し、そのパスからImageを生成)

ググってもXAMLの話ばかりです。よろしくお願いします。
553デフォルトの名無しさん:2010/04/16(金) 00:23:24
Imageを持ったButtonのUserControlをXAMLで書いておいて、コード内で生成
554デフォルトの名無しさん:2010/04/16(金) 01:45:52
>ということをXMALではなくC#のコードから実現したいです。
そうですか
>質問内容を理解しないでXAMLの話をする回答者が多いみたいですが。
そうですか
>XAMLではなくC#から生成したいのです。
そうですか
>画像の情報も動的に取得するので、画像もC#で生成したいです。
そうですか
>ググってもXAMLの話ばかりです。よろしくお願いします。
なにをよろしくですか
555デフォルトの名無しさん:2010/04/16(金) 01:48:33
ちなみに
38526の回答以外のなにものでもないよ
質問内容を理解しないんじゃなくて、回答読んでも理解できない脳みそを恨め
556デフォルトの名無しさん:2010/04/16(金) 02:02:05
>>554
中身の無いレスだな
お前みたいなのは来なくて良いよ
557デフォルトの名無しさん:2010/04/16(金) 02:11:34
>>556
これがどれだけ程度の低い質問かわかんないってことは本人だろうな・・・
558552:2010/04/16(金) 02:19:45
>>553
ありがとうございます。
UserControlなるものを使ったことが無いので
早速調べてみます。

>>554-555
38526がコードの話をしていることは分かっています。
>XAMLの話をする回答者が多いみたいですが。
と書いているのは、それを示しています。
38526の回等と>>553氏のレスが同値だと分かるレスを
していただき、ありがとうございます。

>>556
555のレスから得たことがありますので大丈夫です。

>>557
552は私です。
UserControlの話など、もっと汎用的な調べ方をすれば
沢山情報が得られるのかもしれませんが、具体的な事例が
あまりないというのは、それだけ壊滅的なほどに初歩的ということなのですね。


もっと勉強します。ありがとうございました。
559デフォルトの名無しさん:2010/04/16(金) 02:20:54
>>557
は?程度の低さは関係ないだろ
どれだけ馬鹿なんだよ
560デフォルトの名無しさん:2010/04/16(金) 02:21:32
>>558
違うよ
ButtonオブジェクトのContentプロパティにImageオブジェクト突っ込めばいいだけ
561デフォルトの名無しさん:2010/04/16(金) 02:22:47
>>559
はいはい
お前が気の済むように回答してやれよ
562デフォルトの名無しさん:2010/04/16(金) 02:29:42
>>561
>はいはい
え?マジで分かってないの?
こりゃ重症だな。関わらないでおくよ。

>お前が気の済むように回答してやれよ
うわーまいったねこりゃ。
既に解答が出ているのに更に回答しろと?

別の機会に謹んで回答させていただきますw
563デフォルトの名無しさん:2010/04/16(金) 02:32:36
>>562
中身の無いレスだな
以下略
564558:2010/04/16(金) 02:55:46
>>560
お恥ずかしいです。ありがとうございます。

質問をする前にスレを見返していましたが、
人を馬鹿にするレスしかしない人が多い中、
あきれずに回答していただきありがとうございました。
565デフォルトの名無しさん:2010/04/16(金) 06:49:02
横着せずにWPF入門書を最初から読んでいけばコントロールの追加方法なんて最初にかいてある。
なんで未知の言語なのにチュートリアルすっとばそうとするかな。

別にすっとばしてもいいけどひとりで悩んでくれよ。ひとのせいにすんな。
566デフォルトの名無しさん:2010/04/16(金) 07:26:49
これだからIDの無い板は。
567デフォルトの名無しさん:2010/04/16(金) 07:51:10
>>565
おおむね同意だが

>ひとのせいにすんな。
これってどこを見て感じたことなんだ?
なぜこう感じたのか、俺には全く分からんのだが。
568デフォルトの名無しさん:2010/04/16(金) 11:50:17
blend4のベータ出たな
http://www.microsoft.com/expression/products/Blend4RC_Features.aspx
めぼしい機能追加はピクセルシェーダくらいじゃないのかな
あとはギャラリーで公開してくれれば済むような追加しかないような
569デフォルトの名無しさん:2010/04/16(金) 11:59:39
ああでも3->4のアップグレードは全員無料なのか
570デフォルトの名無しさん:2010/04/16(金) 12:02:40
スレ伸びてるから WinSDK 7.1 でも出たのかと思ったら・・・

>>552
>質問内容を理解しないでXAMLの話をする回答者が多いみたいですが。

XAML ←→ C#コード なんか、ボタンやイメージどうこう以前に WPF の基礎だから。
自分の無知を棚上げに「理解しないで」などと回答者をアホ扱いするから荒れる訳。
「M女史の遺したもの」を一回は読んでおくといいよ。

public Window1()
{
  InitializeComponent();
  this.Content = new Button { Content = new Image { Source = new BitmapImage(new Uri("c:\\image\\test.bmp", UriKind.Absolute)) } };
}
571デフォルトの名無しさん:2010/04/16(金) 14:07:51
「.netなんて池沼にもできる障碍者用言語だろ余裕だよ。入門書?そんなもん小学生にでも読ませとけ」
→「はー?なんでうごかねーんだよこの欠陥言語。おいくずどもどうなってるか説明しろ!」

ようするにこういう思考だろ。
「なんでおれがこんな低レベル言語にてこずらなきゃならないんだよ」みたいな
雰囲気ぷんぷんさせながら質問するとか鼻で笑うわ
572デフォルトの名無しさん:2010/04/16(金) 22:21:44
> ボタンの中に画像を置く
> ということをXMALではなくC#のコードから実現したいです。

キチ○イwww
573デフォルトの名無しさん:2010/04/17(土) 00:01:45
>>570
へーこんな書き方できるんだ
はじめて知った。

>>571
お前みたいに"決め付ける"人って
大抵・・・
574デフォルトの名無しさん:2010/04/18(日) 09:50:13
WPFで「コードから動的にボタンを配置したい」ということ自体めったに無いよね
WinFormsでそうやってたようなことはアイテムテンプレート使えばだいたいXAMLだけで完結する
575デフォルトの名無しさん:2010/04/18(日) 13:18:15
アイテムテンプレートでできるけどある条件の時はこっちとかするのも含めてコードで書いちゃった方が好きかなー
576デフォルトの名無しさん:2010/04/18(日) 14:52:46
XAMLって「データ言語」っていうんだっけ。
プロパティの指定はXAMLコードから判るが、メンバの設定は何度読んでも混乱する。
577デフォルトの名無しさん:2010/04/19(月) 22:05:41
Rectangleを20個ほど一気にAnimationさせると
Core2 E7400 + GeForce9400GT でも若干ガクガクするんだけど
WPFってそんなもんなの?
それとも、うまい書き方があるの?

RectangleはXAMLで配置して、AnimationはC#内で書いてるんだけど。
578デフォルトの名無しさん:2010/04/19(月) 22:18:56
描画だけでよければDrawingVisual使ってみたら
間違ってもDrawingContextは使わないように
579577:2010/04/19(月) 23:12:18
>>578
ありがとう、調べてみた。
これってアニメーションできないように思うんだけど
そんなことないの?
イベントとかは使わないから描画だけといえばそうなんだけど。

20個(できればそれ以上)のRectangle、長い長方形をぐるぐる回したいんだよね。
風車がたくさん立っているイメージ。
580デフォルトの名無しさん:2010/04/20(火) 00:46:03
オブジェクトの重なりが多いほど重くなる
581デフォルトの名無しさん:2010/04/20(火) 00:47:39
CPUでピクセルの合成してるんだっけ?
そういうのはGPUが得意なんだがな・・・
582デフォルトの名無しさん:2010/04/20(火) 00:49:14
WPFのウインドウ内部は全部directxで書いてるって何回書いたらわかるんだよ
けちらずエッセンシャル買え
583デフォルトの名無しさん:2010/04/20(火) 01:35:21
>>579
その程度のアニメーションなら普通にStoryboardじゃいかんの?
584デフォルトの名無しさん:2010/04/20(火) 12:27:39
描画じゃなくてレイアウトとか入力とか高次の部分で引っかかってるんだろ
RenderTransform使ってみるとか
585デフォルトの名無しさん:2010/04/21(水) 11:11:04
みんなRelayCommandとDelegateCommandのどちらを使ってる?
586デフォルトの名無しさん:2010/04/21(水) 12:11:56
使うも何も両方ともただのサンプルでしょ
必要に応じて自分で作るんだよ
587デフォルトの名無しさん:2010/04/21(水) 12:19:10
他人に説明するとき、アレと一緒で済むから楽じゃん。
588デフォルトの名無しさん:2010/04/21(水) 15:06:02
http://www.codeproject.com/KB/WPF/NitoMVVMCommands.aspx?msg=3132936
面白い比較の記事を見つけた。
こういうのを探していたんだ。
終わりの方の比較のところね。
589デフォルトの名無しさん:2010/04/21(水) 21:53:09
というか RelayCommand でも DelegateCommand でもどっちでもいいけど
標準で用意しときゃいいのにとはおもったわ。
590デフォルトの名無しさん:2010/04/21(水) 22:00:52
だってMとVMはWPFと関係ないじゃん
591デフォルトの名無しさん:2010/04/21(水) 22:26:42
依存プロパティではCLRラッパーが使えて、添付プロパティでは
使えないのはどうして?
MSDNでは「WPF の添付プロパティには、get および set のアクセスを容易にするための
標準的な CLR "ラッパー" メソッドはありません。
これは、添付プロパティが設定されたインスタンスの CLR 名前空間に、
その添付プロパティが属しているとは限らないからです。」
って書いてあったけど。つまり・・・どういうことだってばよ
592デフォルトの名無しさん:2010/04/21(水) 22:33:09
自分自身のプロパティじゃなくて他のオブジェクトに設定するプロパティだから
プロパティ構文じゃ書けないよってこと
593デフォルトの名無しさん:2010/04/21(水) 22:33:59
たとえばCanvasのLeft添付プロパティはCavnasクラスに定義されたプロパティだけど
そのプロパティの値を実際に持つのはCanvasの中に追加する他のクラスのインスタンスだろ
CLRプロパティではプロパティが定義されてるクラスとその値を持つインスタンスのクラスは必ず一致するけど
添付プロパティでは一致しないからCLRプロパティでは表現できない
594デフォルトの名無しさん:2010/04/21(水) 22:39:53
でも、アクセスする構文ってCanvas.Leftみたいに[クラス名].[プロパティ名]でしょ。
ラッパーを静的にする必要はあるけど、コードからでも普通に使えそうだけどなあ。
595デフォルトの名無しさん:2010/04/21(水) 22:42:44
だからCanvas.SetLeftメソッドがあるだろ
596デフォルトの名無しさん:2010/04/21(水) 22:44:03
「どのオブジェクトの」Canvas.Leftなのよ?
ということになって結局Canvas.GetLeft(obj)で十全だろ、分かりやすいし
597デフォルトの名無しさん:2010/04/21(水) 22:48:49
設定を行うインスタンスを知る必要がある(引数として送る)からラッパーでは出来ないってことか
なっとく
598デフォルトの名無しさん:2010/04/21(水) 23:04:20
Obj.Canvas.Left とかならまだわかる
599デフォルトの名無しさん:2010/04/21(水) 23:06:01
Obj[Canvas.Left]だな
600デフォルトの名無しさん:2010/04/21(水) 23:15:27
DependencyObjectにthis[DependencyProperty]を定義すると
obj[Canvas.LeftProperty]にせざるを得ないからなぁ objectでしか扱えないし
それ以上は言語の方に手を入れなきゃなんなくなる

いや、dynamicでなんとかなる・・・か? しないで良いけど
601デフォルトの名無しさん:2010/04/21(水) 23:20:15
WPF は結局ユーザーの要求するパフォーマンスに達しなかったね。
602デフォルトの名無しさん:2010/04/21(水) 23:50:23
自分が使いこなせないからってひとも同じだと思う人って…
603デフォルトの名無しさん:2010/04/22(木) 02:50:17
BlendとかXamlPadみたいにリアルタイムでXamlの内容を表示するのってどうやるの?
604デフォルトの名無しさん:2010/04/22(木) 06:57:38
>>603
これがおのぞみのかな?

XamlPadを作ってみた。
http://pro.art55.jp/?eid=863237
605デフォルトの名無しさん:2010/04/22(木) 07:42:46
>604
それリアルタイムでの編集内容反映は入ってないよね?
606デフォルトの名無しさん:2010/04/22(木) 21:28:40
>>604
おー、意外にシンプルでびっくり。さんくす
>>605
更新タイミングは工夫次第でいけそう。
607デフォルトの名無しさん:2010/04/22(木) 23:02:07
テキスト変更イベントのたんびにパースするとかね。
608デフォルトの名無しさん:2010/04/22(木) 23:26:42
あるWindow window1 があって、
window1の中のある領域に X を配置して、
その X の中を右方向にアニメーションさせた場合、
X の右端がXの左端にくっついたように
ずっと X がループされてスライドするアニメーションって
どうやったらできますか?

ここで X とは、CanvasでもPageでも何でもよいので、
ボタンとかラジオボタンとかが配置できる領域のことです。

説明が難しいのですが、例えば window1 に電車を描き、
電車の窓から X (外の景色) を眺めているとし、外の景色が
ずっとスライドしていく感じです。

このとき、X に動的に「電柱」の絵を置いたら、ループ絵として
次に現れる X にも「電柱」が存在するように見せたいです。
609デフォルトの名無しさん:2010/04/22(木) 23:36:59
はじっこにきたら座標もどせばいいだけじゃないの?
610デフォルトの名無しさん:2010/04/22(木) 23:40:12
一番手抜きだと1枚の画像を座標変えて常に2回表示すればいいだけだろ
611デフォルトの名無しさん:2010/04/23(金) 00:01:30
>>609
ありがとうございます。ですが、それだと絵が切れてしまいます。
窓の大きさが X と同じで、動かす絵が X の場合、
X を右にスライドさせると、Xの左側が空白になります。
X1 X2 と Xを並べて、X2がXの領域からはずれたら X1 の左に
配置するようにすれば実現できますが、そうすると X1 と X2 が
同じものになりません。X1に電柱が追加されたらX2にも追加、となると
処理が重たくなりますので・・・。

>>610
ありがとうございます。
そちらの方法で、チカチカさせない方法があるのでしょうか??
612デフォルトの名無しさん:2010/04/23(金) 00:08:20
>>611
まあ>>610の方法はゲームの一般的なループの作り方なだけで
そのまんまはだめかもしれないけどねw
なるべく再利用した方がいいかと思って>>610として書いたけど
ちらついたりするならとりあえずは1つのファイルを内部で2つ同じものを作って
とかはだめ?
613デフォルトの名無しさん:2010/04/23(金) 00:11:20
それでもうまくいかないならとりあえずは読み込む画像その物を
同じ物を2枚並べた横長で作っておいて座標で調整するか
614デフォルトの名無しさん:2010/04/23(金) 00:13:10
expressionの4にMVVMのプロジェクトテンプレートが入るみたいね
これが標準のフレームワークってことになんのかしら
615デフォルトの名無しさん:2010/04/23(金) 00:14:55
>>612-613
やはり冗長な部分を作って
必要な部分だけ見せるのが手っ取り早いみたいですね。
なるべくなら再利用したいのですが、ひとまず↑でやってみます。

では、失礼します。
616デフォルトの名無しさん:2010/04/23(金) 00:25:33
>>615
画像をTile指定で表示してやれば自動的に繰り返しになる。
あとはViewportを動かしてやればいい。
ttp://www7a.biglobe.ne.jp/~fbsoft/test/miku1.cgi
617デフォルトの名無しさん:2010/04/23(金) 00:31:51
IEはソース表示が出来ないようなのでXAMLのソースも張っとく。
ttp://codepad.org/jGnPpTxR
618デフォルトの名無しさん:2010/04/23(金) 00:43:03
>>616-617
おぉ、このようなものもあるのですね。
寝る前に見て良かったです。

ざざっと調べてみたのですが、こちらの方法では
画像を複製表示することはできるようですが、
Buttonなどが配置されたPage(を配置したFrameなど)を
複製表示させることはできないみたいですね。

(調べ方が甘かったらすみません)

教えていただいた TileMode で絵を複製して、
Buttonなどは自分で複数配置する方法も検討してみます。
619618:2010/04/23(金) 00:55:24
度々書き込み失礼します。

TileMode から色々と調べてみましたが、
Canvas Neme="canvas1"
にボタンなどを配置し、

<Rectangle ... >
 <Rectangle.Fill>
  <VirualBrush Visual={Binling element=canvas1}" />
 </Rectangle.Fill>
</Rectangle>

とすると、一応 Button なども複製されますね。
しかし(当然ですが)複製された絵の Button は操作できませんね。
残念です。
620デフォルトの名無しさん:2010/04/23(金) 01:19:32
スライドしてる状態でボタンなどを操作する必要も無いだろうから、
動いてないときは普通に表示して、
スライド中だけVirtualBrushに入れ替えればいいんじゃない。
621デフォルトの名無しさん:2010/04/23(金) 01:36:50
スライドといってもゆっくりのものでして
移動中でもクリックに反応して欲しいんです。
622デフォルトの名無しさん:2010/04/23(金) 02:09:47
その手のは一枚絵としてスクロールさせるというよりも同サイズでスライスした要素みたいに考えて
クリッピングと組み合わせて実現するのが常套じゃないのかな
623デフォルトの名無しさん:2010/04/23(金) 04:11:30
プログラムなんてプリミティブなアイデアの集合体なんだから
自分ですこしは考えなよ
624デフォルトの名無しさん:2010/04/23(金) 06:47:11
>>623
そういうことは2ch言ってもしかたないと思うんだぜ
625デフォルトの名無しさん:2010/04/23(金) 07:47:11
>>623
>>619では「考えている」認定されないのか。
2chって厳しいインターネットなんだなw
626デフォルトの名無しさん:2010/04/23(金) 14:20:14
二度手間でもエレガントじゃなくても冗長でも、数学的な問題じゃない限り
自分の望むことをコードにすることはできるだろう、諦める=考えてない、ってことさ
627デフォルトの名無しさん:2010/04/23(金) 18:38:39
richtextboxで行間を指定する方法はない?
LineHightやMarginを試してみても変わらなかった
628デフォルトの名無しさん:2010/04/23(金) 18:39:55
nyuryuが言っていたが、WPFでもすべての部分にDirectXを使っているわけではないらしい。
629デフォルトの名無しさん:2010/04/23(金) 18:49:52
>>627
WPFじゃなくてWinFormのでいいんだよな?
LineHeightってどのクラスのプロパティ?
行間ってのは段落間じゃない行間のことでOK?

まあEM_SETPARAFORMATとPARAFORMAT2使うことになると思う

>>628
にゅりゅ ってエロい響きだな
630デフォルトの名無しさん:2010/04/23(金) 19:13:55
>627
WPFでフォントコントロールったら、
FormattedText クラスじゃないんか?

ttp://msdn.microsoft.com/ja-jp/library/system.windows.media.formattedtext%28v=VS.80%29.aspx
631629:2010/04/23(金) 19:16:34
あ、ここWPFスレだった
C#スレと勘違いしてた、ごめん
632デフォルトの名無しさん:2010/04/23(金) 19:22:45
FlowDocument全体の行間ならFlowDocument.LineHeightで問題ないと思うけど
633デフォルトの名無しさん:2010/04/23(金) 22:08:51
>>627
WPFの方
634デフォルトの名無しさん:2010/04/24(土) 12:07:11
すまん。
自己解決した。
トークンごとに読み取ってそのトークンをパラグラフを追加するときに\r\nを無視しないのが原因だったらしい。
xamlを調べて初めて原因が分かった
間違い
<flowdocument>
 <paragarh>aaaa<run>(見えないが\r)</run><run>(見えないが\n)</run></paragrah>
</flowdoument>
正しくは
<flowdocument>
 <paragarh><run>aaaa</run></paragrah>
</flowdoument>
635デフォルトの名無しさん:2010/04/24(土) 14:56:26
Paragraph p = richtextbox.CaretPostion.Paragraph;
TextRange range = new TextRange(p.ContentStart, p.ContentEnd);
this.para = new Paragraph();
this.para.Margin = new Thickness(0);
this.Spilitter.Parse(range.Text);
this.doc.Blocks.InsertBefore(p, this.para);
this.doc.Blocks.Remove(p);
パラグラフの置き換えを行うとキャレットがパラグラフの一番最後に移動してしまう。これを防ぐ方法はない?あらかじめCaretPostionを覚えておいて、置き換えた後で戻してもダメだった。
636デフォルトの名無しさん:2010/04/24(土) 16:15:42
>>635
var curP = richTextBox.CaretPosition.Paragraph;
var offset = curP.ContentStart.GetOffsetToPosition(richTextBox.CaretPosition);
var newP = new Paragraph();
newP.Inlines.Add("New Paragraph");
richTextBox.Document.Blocks.InsertBefore(curP, newP);
richTextBox.Document.Blocks.Remove(curP);
richTextBox.CaretPosition = newP.ContentStart.GetPositionAtOffset(offset) ?? newP.ContentEnd;
これじゃダメなん?
637デフォルトの名無しさん:2010/04/24(土) 21:42:03
>>636
それだとだめだ。
aaa
(aaaの先頭でzを入力)
zaaa
(連続で入力すると、zazaaになってしまう)

なんでWPFってこんなに面倒なの?
文字単位で選択することもできないし、キャレットを文字単位で動かすことすらできない。
開発者は馬鹿なの?
638デフォルトの名無しさん:2010/04/24(土) 22:10:32
>>637
何がしたいのか分からないんだけど。
文字単位で選択するなら:
richTextBox.Selection.Select(richTextBox.CaretPosition, richTextBox.CaretPosition.GetPositionAtOffset(10));
キャレットを次の文字に移動するなら:
richTextBox.CaretPosition = richTextBox.CaretPosition.GetNextInsertionPosition(LogicalDirection.Forward);

TextPointer クラスと RichTextBox クラスについて、もうちょっと調べたら?
639デフォルトの名無しさん:2010/04/24(土) 22:33:53
>>638
目がシパシパしたwww
640デフォルトの名無しさん:2010/04/25(日) 02:37:57
>>638
パラグラフが
aaa
となっているときに
bbb
aaa
とすると、aaaを削除するとキャレットがaaaの先頭にあるにもかかわらず、bbbの後ろに移動してしまうのをどうにかして防ぎたい。
TextPointerについても調べたんだが、画面に表示されている文字単位で位置を取得するメソッドはなぜかなかった。
641デフォルトの名無しさん:2010/04/25(日) 09:54:47
>>640
>aaaを削除すると

>>635
this.doc.Blocks.Remove(p);に当たるのかな
言ってることがあんまよくわからないけど、空のパラグラフを置いといてその先頭にキャレット置くというのがやりたいんじゃないの?
ソースはそうなってないだろ
642デフォルトの名無しさん:2010/04/25(日) 10:24:40
>>641
>言ってることがあんまよくわからないけど、空のパラグラフを置いといてその先頭にキャレット置くというのがやりたいんじゃないの?
それじゃなくて、パラグラフを置き換えてもキャレットの位置をそのまま保つということがやりたい
643デフォルトの名無しさん:2010/04/25(日) 23:47:54
ScrollViewerのマウスホイールによるスクロールを無効化する方法はありますか?
644デフォルトの名無しさん:2010/04/26(月) 00:03:42
PreviewMouseWheelでHandledしちゃうとか
645デフォルトの名無しさん:2010/04/26(月) 00:52:19
>>644
e.Handle = trueでうまくいきました
ありがとうございます
646デフォルトの名無しさん:2010/04/26(月) 03:26:57
こんな感じでボタンを並べるにはどうすればいいんでしょうか?
http://uproda.2ch-library.com/239369drL/lib239369.png

平行四辺形とかでしたらなんとかなるんですが・・・
647デフォルトの名無しさん:2010/04/26(月) 04:25:39
表示部分にしかあたり判定がないんだから同じpanelに全部かさねて表示だけかえればいいじゃない
そんな形なら標準ボタンを使うわけでもないんでしょ
648デフォルトの名無しさん:2010/04/26(月) 06:27:53
http://ufcpp.net/study/dotnet/wpf_uielement.html
傾斜とかもできるので上辺もしくは下辺を短くするとか
できるかなあと思ったんですが無理ですかね?
649デフォルトの名無しさん:2010/04/26(月) 07:04:59
Expression Blend で簡単に星形のボタンとか作れるみたいだね。
650デフォルトの名無しさん:2010/04/26(月) 07:09:59
ジオメトリの作り方がわからないから四角の変形で作りたいっていうなら
アフィン変換使いなよ自分で計算してな
651デフォルトの名無しさん:2010/04/26(月) 08:48:31
Blend使えればベストだけどボタンぐらいならXAMLだけでなんとかなる。
ContorolTemplateを書けばいいだけでサンプルも結構転がってるから。
あとエッセンシャルWPF読んどけ
652デフォルトの名無しさん:2010/04/26(月) 09:41:08
>>648
それは線形変換で表現できないから無理
高校数学C参照
653デフォルトの名無しさん:2010/04/26(月) 13:08:53
文字単位で選択するメソッドがないので作ってみた。だが、どうも、遅いような気がする。これより早い方法があったら教えてほしい。
TextPointer getPostionAtCharacters(int offset)
{
for (int i = offset; this.Document.ContentStart.GetPositionAtOffset(i) != this.Document.ContentEnd; i++)
{
TextRange range = new TextRange(this.Document.ContentStart, this.Document.ContentStart.GetPositionAtOffset(i));
if (range.Text.Length == offset)
return range.End;
}
return null;
}
654デフォルトの名無しさん:2010/04/26(月) 15:05:53
>>649>>650>>651
ありがとうございます。

しかしここまでGUIをいろいろ変えやすいとなるとデザインセンスないと
きついですね・・・
655デフォルトの名無しさん:2010/04/26(月) 18:47:52
宇宙仮面のHP
エラーでまくり
656デフォルトの名無しさん:2010/04/26(月) 19:03:56
RadioButtonをC#からCheckする方法ありますか?
657デフォルトの名無しさん:2010/04/26(月) 19:07:39
あるよ
658デフォルトの名無しさん:2010/04/26(月) 20:20:09
>>656
XAML側でコントロールに名前(Name="hoge")とかやれば
C#側から従来のWinFormのようにいじり放題
659デフォルトの名無しさん:2010/04/26(月) 20:38:00
でも実際にはバインディングオブジェクトのプロパティの方を操作するよね
660デフォルトの名無しさん:2010/04/26(月) 20:41:36
WPFは要素にName付けたら負け
661デフォルトの名無しさん:2010/04/26(月) 20:46:27
それなんてみすりーど。
662656:2010/04/26(月) 21:22:55
>>657-661
>>658さんの方法以外はどのように書けばいいんでしょうか?
663デフォルトの名無しさん:2010/04/26(月) 21:38:08
気にせず名前付けたらいい
664デフォルトの名無しさん:2010/04/27(火) 00:08:38
>>660
コードビハインド使ったら負け
665デフォルトの名無しさん:2010/04/27(火) 00:53:01
真の勝者はXAMLを使わない
666デフォルトの名無しさん:2010/04/27(火) 00:54:50
blend+コードビハインド
都会派はこれ
667デフォルトの名無しさん:2010/04/27(火) 00:55:03
ソフトなんか他人に作らせるよね真の勝者なら。
668デフォルトの名無しさん:2010/04/27(火) 00:57:01
こだわりのソフト作成なら至福だろ
作らされてるなら敗者
669デフォルトの名無しさん:2010/04/27(火) 01:27:42
WPFの場合

プログラマーはバインド関連をマスター
デザイナーはXAML関連をマスター

そんなところですかね?
670デフォルトの名無しさん:2010/04/27(火) 02:18:51
BeginAnimationのタイミングが異なっても、
アニメの動きのタイミングを同期させる方法ってありますか。
671デフォルトの名無しさん:2010/04/27(火) 04:59:26
あるよ
672デフォルトの名無しさん:2010/04/27(火) 08:28:30
INotifyPropertyChangedから依存プロパティへのバインドが機能したりしなかったりする
わけがわからない
673デフォルトの名無しさん:2010/04/27(火) 09:00:47
>>669
正解じゃない。

プログラマーはバインド関連とXAML関連をマスター 。
674デフォルトの名無しさん:2010/04/27(火) 22:14:00
XAML自体はマスターするには.NETプログラミングに習熟してないといけないからデザイナには酷
デザイナーはExpression BlendとXAMLの基礎事項をマスター
675デフォルトの名無しさん:2010/04/28(水) 00:05:19
だな。MSはデザイナがXAMLを触らなくても大丈夫なようにツールを揃えた方が良いだろね。
676デフォルトの名無しさん:2010/04/28(水) 00:08:47
WPFのバインディングは勉強すればするほど魅力的なんだよな
C#のコントロールにも一応項目あったけどここまで使えたっけ?
677デフォルトの名無しさん:2010/04/28(水) 00:15:35
デザイナが実際には動かさないスタイルを自由奔放に作成して
上司は「デザイナの作った物がそのまま動く!素晴らしい!」と言い出して
結局はプログラマが地獄を見る。そういう代物だろ?
678デフォルトの名無しさん:2010/04/28(水) 00:17:38
うーん
まあ前ほどは地獄をみないんじゃないかな
バインディングが強力なのでいい感じだよ
679デフォルトの名無しさん:2010/04/28(水) 00:17:43
そこは誤解がないようにちゃんと主張しろよ
680デフォルトの名無しさん:2010/04/28(水) 00:18:51
.NET 4.0 では NumericUpDown コントロールはサポートされますか?
681デフォルトの名無しさん:2010/04/28(水) 00:19:17
デザイナーが作る範囲は所詮はwebページで言えばhtmlに毛の生えたことしかしてないからなあ
682デフォルトの名無しさん:2010/04/28(水) 01:14:12
.NET4な。CLRは4.0。
683デフォルトの名無しさん:2010/04/28(水) 01:48:52
blend上で動くなら何も心配しなくていいんじゃないの何かあるの?
684デフォルトの名無しさん:2010/04/28(水) 02:07:24
http://www.atmarkit.co.jp/fdotnet/vblab/uiframework_02/uiframework_02_04.html
上のサイトの中央付近から始まる「コレクション・オブジェクトへのバインド」のところを
動かそうとしたのですが下記のようなエラーとなり動きません。

>エラー 1 値 ' {Binding}' をプロパティ 'ItemsSource' に割り当てることができません。
>型 'IEnumerable' のプロパティ 'ItemsSource' は文字列として指定できません。

どのように対処すればよいのでしょうか?
685デフォルトの名無しさん:2010/04/28(水) 02:14:01
>>682
.NET 4 と .NET 4.0 の違いを詳しく教えてください。
区別すべきなのでしょうか?
686デフォルトの名無しさん:2010/04/28(水) 02:15:10
.NET 4.0 とかくことは意味があると思いますが、
.NET 4 と指摘していることについて詳しく教えてください
687デフォルトの名無しさん:2010/04/28(水) 02:19:37
>>684
素直にXAMLで書けよ
688684:2010/04/28(水) 02:28:18
自己解決しました。
ListBoxを使っているほかのサンプルと見比べたところ

<Grid x:Name="MainPanel" Loaded="MainPanel_Loaded">
<ListBox ItemsSource=" {Binding}"
DisplayMemberPath="Bmi"/>
</Grid>



<ListBox ItemsSource=" {Binding}"
{Binding}の前の半角スペースが原因で文字列として認識されていたようです。


>>687
質問に対する答えになってないと思いますが・・・
689デフォルトの名無しさん:2010/04/28(水) 02:37:07
VS2005 / .NET2.0 しか許されない環境で、
MVVMを模倣して手動でモデリングしたクラスプログラミングをすることは効率化になりますか?
690デフォルトの名無しさん:2010/04/28(水) 02:37:15
ガベージイン、ガベージアウト
691デフォルトの名無しさん:2010/04/28(水) 02:43:57
>>685-686
「.NET Framework 4」が正式名称。
.NET 4.0と言っても問題なく通じるので実用上の問題はない。わざわざ指摘する程の事でもないだろ>>682
692689:2010/04/28(水) 03:17:09
>>74が気になるなぁ。リフレクション調べてみるか…
693デフォルトの名無しさん:2010/04/28(水) 03:21:53
>>692
目指す目標としてXAMLなどがあるんだし、それと同じ仕組みにすれば
MVVMも可能じゃないかな?

まあ自前であれこれするより本当はWPFにするべきなんだが

ところでなんでそんな古い環境にこだわらないといけないんだろうw
694デフォルトの名無しさん:2010/04/28(水) 05:26:27
VとVMの疎結合さえ保てればとりあえずMVVMって言えるのかな?
・Viewを定義する「なにか」を設計する
 (WPFではXAML)
・「なにか」からViewを生成するライブラリを実装する
 (WPFではSystem.Presentationとかかな?)
・「なにか」と実行時バインドする方法も実装する
 (依存プロパティみたいな仕組み。ここでリフレクションががっつり登場)

マンドクセ・・・
XAMLの仕様はそのまま使って.net 2.0 WinFormsでもViewが構築できるライブラリ作れば
それなりに需要は・・・ないか
695デフォルトの名無しさん:2010/04/28(水) 05:34:57
一番重要なのはMとVVMと間のデカップリングだと思うよ。
696デフォルトの名無しさん:2010/04/28(水) 05:37:58
そういえば依存関係を切り離せるコンテナってあったよね?
あれは使えないの?
697デフォルトの名無しさん:2010/04/28(水) 06:30:25
ざっくりいうとVMはVからのMに対するブリッジって認識だがよろし?

>693
ぶっちゃけマシン性能にもよるんだろうが未だにWPF遅くね?
頻繁な更新が必要なデイトレアプリみたいなもんとか向いてなさそうなんだが。

>694
そげんな感じのもん作ったお。未だに2000とかにも配慮しなきゃいけなくてな( ^ω^)・・・
698デフォルトの名無しさん:2010/04/28(水) 06:42:25
DIコンテナは未だによくわからん・・・
699デフォルトの名無しさん:2010/04/28(水) 07:39:00
>>693-697
thx.
2005なのは、そういう環境でWindowsXpとWindowsCEの開発レッスンを受けてますw
自分が2000使ってるのでその点も嬉しいかなw
700デフォルトの名無しさん:2010/04/28(水) 10:36:39
>>696
CAL(Prism)なんかはUnityのDIコンテナ使ってるよ。

.NET4で追加されたMEFもかな、仕組みはDIコンテナっぽいが。
701デフォルトの名無しさん:2010/04/28(水) 10:46:10
ブラウザアプリでエクセルを操作するプログラムが入っててエクセルオブジェクトバージョンが違ってる人がアドレス開いてアプリ操作したらどうなるの?
702デフォルトの名無しさん:2010/04/28(水) 10:52:10
WPFが描画にGPUとCPUどっちを使ってるかどうすればわかるんですか?
自分のグラボがWPFに対応出来てるかしりたいんです
703デフォルトの名無しさん:2010/04/28(水) 12:52:20
>>702
WPF のパフォーマンス プロファイリング ツール
http://msdn.microsoft.com/ja-jp/library/aa969767(VS.90).aspx
704デフォルトの名無しさん:2010/04/28(水) 13:55:32
依存関係の向きがV→VM→Mとなってればいいだけのことで
VのコードビハインドでVとVMを手で結びつければバインディングはいらないよ
コマンドはVMのメソッドを呼び出せばいいだけ
705デフォルトの名無しさん:2010/04/28(水) 14:11:36
MVVMの目的はVMを単体テストすることだよ
それが必要ないんだったらコードビハインドをVMとみなして
XAMLで自身のプロパティにバインドするだけでいい
それが本来WPFで想定されていたバインディングの使い方
706デフォルトの名無しさん:2010/04/28(水) 14:12:00
C++ と XAML の組み合わせで使えないのはなんで?
707デフォルトの名無しさん:2010/04/28(水) 14:22:27
WPFはマネージコード専用だから
C++/CLIで使えないのは単にMSにやる気がないから
WPFはアンマネージドな世界との相互運用がしづらいしものすごく高レベルなので
わざわざC++/CLIから使うというのはちょっと考えられない
708デフォルトの名無しさん:2010/04/28(水) 14:27:11
>>703
WindowsSDKツールのV6.0A V6.1の両方ともWpfPerf アプリケーションが入ってません
どのSDKですか?
709デフォルトの名無しさん:2010/04/28(水) 14:30:10
ブラウザアプリでファイルにアクセスできないと何も出来なくないですか
同一サーバー上のファイルにアクセスするにはどうすればいいんですか
710デフォルトの名無しさん:2010/04/28(水) 15:39:52
>>709
下手に許すとローカルのファイルをいじり放題。その気になればスパイウェアも仕込み放題ということになってしまうから、それはできないことになってる
711デフォルトの名無しさん:2010/04/28(水) 16:12:42
>635で質問したものだが、こういう風にすることでとりあえず解決した
http://ideone.com/OemER
712デフォルトの名無しさん:2010/04/28(水) 19:15:20
>>708
V6.0 か V7.0。
以前は単体でもダウンロードできたけど、今は出来ないみたい。
(http://windowsclient.net/wpf/perf/wpf-perf-tool.aspx の previous version of WpfPerf)。
SDK を入れるなら Win32 Development Tools だけ入れればいい。
713デフォルトの名無しさん:2010/04/28(水) 20:57:54
XAML:<ListBox ItemsSource="Binding ."/>
結果:
B
i
n
d
i
n
g

.

あぁそうか…stringもIEnumerableだったな…  ってこんなんアリなのかw
714デフォルトの名無しさん:2010/04/28(水) 23:35:19
ちょっとワロタw
715デフォルトの名無しさん:2010/04/29(木) 11:29:33
>>712
できたありがとう
ハードウェアレンダー 1 になってた
サンプルサイト見てるとカクカクだから絶対CPUレンダーだと思ったのに・・・
716デフォルトの名無しさん:2010/04/29(木) 17:32:32
Shazzam(WPF/Silverlight用のシェーダエディタ)良いね
シンプルだけどWPFやSilverlightのシェーダ書くのには十分
C#側のコードを自動生成してくれる
WPFの見本みたいなかっこいいインターフェイス
717デフォルトの名無しさん:2010/04/29(木) 19:15:45
WPF入門者用のサイトいくつか教えてくれ
718デフォルトの名無しさん:2010/04/29(木) 19:20:07
ゲームパッド使えるの?
719デフォルトの名無しさん:2010/04/29(木) 19:25:12
720デフォルトの名無しさん:2010/04/29(木) 19:28:45
>>717
ここだなあ
http://www.atmarkit.co.jp/fdotnet/vblab/uiframework_01/uiframework_01_01.html

WinFormで動的にコントロール追加したりオーナードローとかやったことある人なら
それほど違和感なくやれると思うがこれからって人は2010のマウスでデザインできる
ってを利用した方がいいかもね〜
721デフォルトの名無しさん:2010/04/29(木) 22:40:11
XNAだとXBOX用コントローラしか使えない
DirectXは参照できたからそっちで攻めるしかないんじゃない
722デフォルトの名無しさん:2010/04/29(木) 22:50:42
>>721
PS2パッドも使えるわ
適当なこと言うな
723デフォルトの名無しさん:2010/04/29(木) 22:54:59
>>723
使えねえよ
724723:2010/04/29(木) 22:57:13
>>722
つ、使えないと思います
725デフォルトの名無しさん:2010/04/29(木) 22:58:27
訂正来てよかったぜ
どう突っ込んでいいか悩んだぜ
726デフォルトの名無しさん:2010/04/29(木) 22:58:49
いやいや現に使ってるしw
なにいってんの?
727デフォルトの名無しさん:2010/04/29(木) 23:01:09
もしかしたら古いコンバーター使っているんじゃないのか?
1年前に買った奴だと普通に使えたわ
728デフォルトの名無しさん:2010/04/29(木) 23:40:58
>>726
そういうのもう良いから。

しかし DirectInput に未対応なのはなんでなんだろね。
729デフォルトの名無しさん:2010/04/29(木) 23:45:29
XNA+DirectXならXBOXコン以外使える
WPF+XNAならXBOXコンしか使えない
730デフォルトの名無しさん:2010/04/29(木) 23:48:59
>>720
全部読んでサンクス

読んで思ったのが
stackpanelに複数配置されたコンテンツを
そっくり別のコンテンツに取り替えるようなのって
xamlじゃ無理?
画像を表示してた場所をすべてボタンに変えるとか
そういうのはやっぱりC#でやるのかね

決まった雛形だら自由に作れるような感じだけど
GUIの表示をごっそり変えるのはどうするのかな

次はバインド読んでみるか
731デフォルトの名無しさん:2010/04/29(木) 23:50:28
ListBox.ScrollIntoView を使うと、指定したアイテムを画面内に持ってくることができますが、
一番端に表示されます。

これを一番端ではなく、もうちょっと内側(2、3個要素が見えるような位置)にしたいんですが、
どうすればよいでしょうか?
732デフォルトの名無しさん:2010/04/29(木) 23:50:34
>>729
ああ、そういうことか
733デフォルトの名無しさん:2010/04/29(木) 23:53:22
>>731
そういうかゆいところに手が届かないこと多すぎるよな
それの対処にやたら時間かかって先に進めないのが
すごくイラつくわ
コアの部分に全然時間かけれない
734デフォルトの名無しさん:2010/04/30(金) 00:05:49
2,3個上の要素を指定すればいいのでは・・・
735デフォルトの名無しさん:2010/04/30(金) 00:11:44
やってみたら例外がでた!→範囲内に丸めろよ…

やっと初心者がWPFをやる時代が到来胸が熱くなるな
736デフォルトの名無しさん:2010/04/30(金) 00:46:35
WPF みたいな一部でしか使えないものは危険。
737デフォルトの名無しさん:2010/04/30(金) 00:53:21
意味わからん
738デフォルトの名無しさん:2010/04/30(金) 02:00:54
>>718
>>729
このスレならどうせWindows専用ってことだろうから
joyGetPosをP/InvokeすればXBOXコントローラ以外も使える。
Windows 95から存在するAPIなので安心。
ttp://msdn.microsoft.com/ja-jp/library/cc410473.aspx
739デフォルトの名無しさん:2010/04/30(金) 10:12:31
WPF勉強しているんだけど
初心者にはあえてこちらの方がお勧めのような気がする
GUI部分とロジック部分を自然に分離して記述するから
ソースも見やすくなりそう
740デフォルトの名無しさん:2010/04/30(金) 13:01:04
実際に初心者に使わせたら大半をコードビハインドに記述、
ViewModelでViewを生成し、
ViewがViewModelのコントローラという素敵構造にしたんだが…
741デフォルトの名無しさん:2010/04/30(金) 13:18:34
>>720
これずーっと読んでいって
第 3回 “見た目”を決めるリソースとスタイル
で詰まった
むずぅ
742デフォルトの名無しさん:2010/04/30(金) 13:24:51
>>741
そう?
WinFormでもImageListなんてあるけどあれの汎用版みたいなもんでしょ
743デフォルトの名無しさん:2010/04/30(金) 13:26:15
おっと途中になった
スタイルはCSSと似てるし
744デフォルトの名無しさん:2010/04/30(金) 17:50:21
みんなExpression Blen使ってるの?
745デフォルトの名無しさん:2010/04/30(金) 21:31:35
>>744
これからWPF試してみたいのでExpression Blend 4が早くでないかなと思ってる。
VS10が出たし、もうすぐだと思ってたんだがアナウンスがないな…
746デフォルトの名無しさん:2010/04/30(金) 22:57:26
ブレンド無しで WPF ってwww
747デフォルトの名無しさん:2010/05/01(土) 02:07:09
Blendなんて飾りですよ
ControlTemplate生成にしかわからんのです
748デフォルトの名無しさん:2010/05/01(土) 05:48:20
別にボタンを星型にしたいとか思わないしなあ
749デフォルトの名無しさん:2010/05/01(土) 08:02:08
ボタンを星形にするだけがテンプレートじゃないだろ
WPFの胆はDataTemplateやItemTemplate
VSだけだと手書きしないといけない
750デフォルトの名無しさん:2010/05/01(土) 09:16:53
Blendなきゃだめなのか
WPF一気にやる気なくなったわ
751デフォルトの名無しさん:2010/05/01(土) 10:52:30
やる気も金もない人間は必要とされていないようだ。
752デフォルトの名無しさん:2010/05/01(土) 10:52:45
2010を使い.NET4でWPFを始めてみました
ググりながら試行錯誤してコマンドとコンテキストメニューを繋ごうとしています
キー操作だと正常に動作し、PlayPause_Executeが呼ばれるのですが、
コンテキストメニューは見出しやキーの表示は合っていますが、グレー表示のままで選択できません
何が悪いのでしょうか?

タイマで定期的にCommandManager.InvalidateRequerySuggested();してみても変わらないようですし
キーを押したときにはCheckCanExecuteCommandが呼ばれますが、それ以外では呼ばれないようです

public class Commands
{
public static RoutedUICommand PlayPause = new RoutedUICommand("再生/一時停止", "PlayPause", typeof(Commands),
new InputGestureCollection { new KeyGesture(Key.Space) });
}

XAMLで(はしょっています)
<Window xmlns:local="clr-namespace:hoge">
<StatusBar.ContextMenu>
<ContextMenu>
<MenuItem Command="{x:Static local:Commands.PlayPause}" IsEnabled="True" />
</ContextMenu>
</StatusBar.ContextMenu>

C#側コンストラクタで
CommandBindings.Add(new CommandBinding(Commands.PlayPause, PlayPause_Execute, CheckCanExecuteCommand));

private void CheckCanExecuteCommand(Object sender, CanExecuteRoutedEventArgs e) {
e.CanExecute = true;
}
753デフォルトの名無しさん:2010/05/01(土) 11:04:27
>>751
お前は一日中いろんなスレで煽るしかできない人間みたいだな
754752:2010/05/01(土) 14:06:29
>>752
どうやらContextMenuの場合だけのようで、理由はまだよくわかりませんが
とりあえずコンストラクタの最後にFocus();を入れることで回避できることがわかりました。
755デフォルトの名無しさん:2010/05/01(土) 14:11:55
>>753
お前は一日中いろんなスレで煽られるしかできない人間みたいだな
756デフォルトの名無しさん:2010/05/01(土) 14:48:48
Blendなんて飾りですよ。漢は手書き。マジで、Blendは非プログラマ向けの
ツールだから、開発者はUIをちゃんと設計して手書きした方が覚えがいい。
757デフォルトの名無しさん:2010/05/01(土) 14:51:15
うむ確かに手書きで覚えないとここまで分離した作りになると
わからなくなるぞ

JavaScript書くやつだってhtmlやCSSは知ってるだろ?

C#とXAMLの関係ってそういうもんだよ
758デフォルトの名無しさん:2010/05/01(土) 14:59:42
非プログラマ向けとかまで言い切っちゃうのは逆にblendを過大評価しすぎ
手書きすることとUIを設計することは全然関係ないし
細かいアニメーションとかスタイル指定とかblendあったほうがいいに決まってんじゃん
759デフォルトの名無しさん:2010/05/01(土) 15:05:52
設計して、手書きしろと薦めただけだから関係なんて求められてもねぇ。
設計してBlendで作れるんなら別にそれでいいけど、細かいアニメも
スタイルも、設計さえしてあれば、手書きできるから、敢えてBlendじゃ
無いとできないものって無いでしょ。

感覚的に作りたいという意味でBlendはプログラマ的じゃないよ。
でも、非プログラマに使わせて使えるかというと、使えないんだけど。
下手にソースを汚されても困るし、やっぱBlendは要らないなぁ。
存在が非常に中途半端。
760デフォルトの名無しさん:2010/05/01(土) 15:09:09
ああそれだとまあ同じように感じてるのかな
現状のblendはプログラマがデザイン的な作業をすることをサポートするツールって感じる
で俺には有用
アニメ付けるのにプレイバックなしで手書きとかやってらんない
761デフォルトの名無しさん:2010/05/01(土) 15:48:50
ホームページビルダー使えたからって
プログラミングができるわけじゃない
762デフォルトの名無しさん:2010/05/01(土) 16:41:15
html・cssの手書きとかあんな糞つまらん作業したって別に自慢には
763デフォルトの名無しさん:2010/05/01(土) 17:57:43
>762
cssは手書きしてた頃しか知らない。誰でもできる技術になった頃には
辞めてたから。XAMLもアホでもできるようになる前には、辞めて別の
何かを始めるよ。

元々は、つまんないとかの話じゃなくて、プログラマなら、デザイナで
操作するだけじゃなくて、ソースで中身を覚えろって話なんだけどね。
764デフォルトの名無しさん:2010/05/01(土) 18:46:17
何こいつ気持ち悪い
765デフォルトの名無しさん:2010/05/01(土) 18:55:34
わろた
手書きしてる俺カッケー(キリッ
766デフォルトの名無しさん:2010/05/01(土) 18:58:13
>>763
アホでもできるようなコードしか書けないから
すぐに追い抜かれて嫌になるのですね
767デフォルトの名無しさん:2010/05/01(土) 19:00:47
並のレベルのプログラマならblendの出力なんかいざとなればいつでも読めるんだからどうでもいい話
768デフォルトの名無しさん:2010/05/01(土) 19:06:25
>767
あぁ、いかにもやったこと無いって感じのコメントだね。
できるけど、嫌んなるよ。
769デフォルトの名無しさん:2010/05/01(土) 19:24:15
>>767
やればできる、っていうのとは あんまり関わりたくない・・・
770デフォルトの名無しさん:2010/05/01(土) 19:24:57
どうだろね
まだ本質的にややこしいGUIは作ってないし
blendで弄って出てきたXAML見てなるほどとか言っちゃうことがあるレベルだからわからんけど
でもXAML一緒に表示して弄れるんだからあんま問題なくない?
771デフォルトの名無しさん:2010/05/01(土) 19:52:49
>770
仕様的に危ない点もあるけど、デザイナが他にいるとして、見た目は
他人が作るわけだ。大概のデザイナはソースが読めないから、
ソースにコメントを入れるとか、読みやすいソースを書くというセンスも
無く、Blendが生成したソースがそのまま送られてくる。

書き直そうと思っても、こういうソースになった意図(内部的な実装仕様)
を読み解かないと、書き直せない。けど、デザイナは内部実装の仕様なんて
存在自体を知らんよ。

一人でやるなら自分の頭の中だけで解決するから、好きにすりゃいいと思う。
772デフォルトの名無しさん:2010/05/01(土) 20:07:41
まあ俺はもともとblendがデザイナとの協働ツールとして優れてるとは全然思ってないからね
773デフォルトの名無しさん:2010/05/01(土) 20:24:49
言い訳するな
774デフォルトの名無しさん:2010/05/01(土) 20:50:34
言い訳ってw
>現状のblendはプログラマがデザイン的な作業をすることをサポートするツールって感じる
先にこう書いてるよ
775デフォルトの名無しさん:2010/05/01(土) 21:36:36
ListViewで6000行10列ぐらいのDataTableバインディングしてるんだけど、スクロールが遅い
コンテナのリサイクルと仮想モードは有効にしてて、遅延スクロールは最終手段ってことで保留してて、
現状でこれなんで、デザインどころじゃないんだが
兄さん達はどうやって最適化してる?
776デフォルトの名無しさん:2010/05/01(土) 22:05:12
>>775
表示しているところだけListViewに追加する
他はダミー
777デフォルトの名無しさん:2010/05/01(土) 22:10:14
バインドするアイテムを制限するしかない気がする。
778デフォルトの名無しさん:2010/05/01(土) 22:22:34
そういうの必要になったらなにを試すかなと考えたら
直結するんじゃなくてvisualBrush化して並べるとかかなと思った
スクロールは早そうじゃない?
779デフォルトの名無しさん:2010/05/01(土) 22:42:03
>>778
visualBrushが分からんので調べたらようはハリボテか!それ頂き!

適当にブラーかけて描画省略してもよさそうだ、
兄さん達ありがとう。試行錯誤してみるよ
780デフォルトの名無しさん:2010/05/01(土) 22:44:25
描画というより重いのはレイアウトだろ
781デフォルトの名無しさん:2010/05/02(日) 03:19:00
ボタンをひし形にして疑似3Dゲームのように並べるにはどうすればいいだろう?
理想としてはウインドウの大きさに合わせて縮尺が変わってくれるといいのだが・・・
782781:2010/05/02(日) 03:40:35
イメージとしてはこんなのです
ttp://tsushima.2ch.at/s/news2ch61559.png
青のラインの上をめざしてて、下の方は避けた挙動です。
783デフォルトの名無しさん:2010/05/02(日) 04:38:03
SkewTransform弄れば擬似3Dっぽい表現は一発
ウィンドウのサイズに追従させるのはパっとはわからない
784デフォルトの名無しさん:2010/05/02(日) 04:57:30
一人で作る小規模アプリにWPFは効率悪すぎる
785デフォルトの名無しさん:2010/05/02(日) 05:12:47
>>783
自己レス
初期表示で傾斜つけたコンテナをウィンドウに収まるように配置しとけばリサイズには勝手に追従するなあ
uniformgridならうまく拡大してくれるような気がする
786781:2010/05/02(日) 05:15:31
>>783>>785
朝早くありがとう
ボタン単体で傾斜つけてグリッドに埋め込んだりしてたけどどうもおさまり悪いので
ボタンを入れ込むグリッドそのものを回転しちゃえって方向で今調べてました・・・
Blend使った方が楽かなあ・・・・
こいつが出力するxamlで勉強した方が速そう・・・orz
787デフォルトの名無しさん:2010/05/02(日) 05:30:40
UniformGridでかっちりできるね
縦横比によっては見えなくなっちゃうけど
blendはそりゃあったほうがいいでしょ
なかったらこんなのめんどくさくて試す気もしないもん
788デフォルトの名無しさん:2010/05/02(日) 06:16:28
こういうことか

ttp://tsushima.2ch.at/s/news2ch61563.png

ひし形の場合って影は下と右どっちが普通なんだろう
789デフォルトの名無しさん:2010/05/02(日) 06:19:16
おっとボタン上のテキストは正面向いてないといけないのかなー
それだと一手間いるな・・・
790デフォルトの名無しさん:2010/05/02(日) 06:19:45
>>788
まさにそういうのです
まあ影はこの際いらないかなあ・・・
将来的にはスキンも考えてるので
791デフォルトの名無しさん:2010/05/02(日) 06:30:26
>>788
あれですかね
ボタンを回転させるよりボタンを星形にするようにベクターをいじって
ひし形のボタンを作った方がいいかもしれないですね

ただそういう場合ってヒットエリアって矩形なんだろかそれとも作った形そのままなんだろうか・・・
792デフォルトの名無しさん:2010/05/02(日) 06:56:29
ちなみに>>787で作ったのはこんなのね
ttp://tsushima.2ch.at/s/news2ch61565.png
簡単だけどかなり見劣りするな・・・
793デフォルトの名無しさん:2010/05/02(日) 07:25:32
>>792
なるほど・・・
こちらでもBlend入れてデザインしてみましたが難しいですねw
ttp://tsushima.2ch.at/s/news2ch61568.png

ボタンそのものの形は変わるのですがあたり判定が元のままw
794デフォルトの名無しさん:2010/05/02(日) 07:53:44
あら?傾斜(擬似3D)じゃなくて回転でいいわけ?
だったらこういうのも
ttp://tsushima.2ch.at/s/news2ch61570.png
簡単・・・プレゼンターだけをグリッドとは逆に回転させるスタイルを定義する
判定も問題なしなんだけどこれだとリサイズしたときにむちゃくちゃになっちゃうな
795デフォルトの名無しさん:2010/05/02(日) 07:59:31
>>794
まあ本当はウインドウサイズ固定などができれば楽なんですけど
なにせウインドウズアプリなのでどうしてもウインドウサイズの変更は
できて当たり前みたいなところがあるのがつらいんですよね・・・

まあこんな状況だからウインドウズ関連で指を使ったタッチパネルUIが
普及しないんでしょうけど

細かいタッチ制度を出せるマウスもしくはスタイラスのような
ポインティングデバイス向けUIは得意なんでしょうけどね・・・
796デフォルトの名無しさん:2010/05/02(日) 08:08:12
>>793
ちゃんとClipしていれば当たり判定は問題ないはず
フォーカスの破線は自分で描画(もしくは消す)

ついでに、>>788のXAML
ttp://pastebin.com/TngzgvvF
797デフォルトの名無しさん:2010/05/02(日) 08:37:34
>>796
ありがとうございます

うーん難しいw
798デフォルトの名無しさん:2010/05/02(日) 10:51:49
というか、ゲーム作るならこれぐらいボタン使わないで描画しろよって話だな
中学生でもできるぞ
799デフォルトの名無しさん:2010/05/02(日) 10:53:36
WPFの3Dはゲーム作成の為にある
800デフォルトの名無しさん:2010/05/02(日) 10:57:55
データの視覚化とかトランジション効果とかの為だろ
801デフォルトの名無しさん:2010/05/02(日) 10:59:10
>>798
こういうUIを採用してるアプリが思い当らなかったのでゲームを例題にしてますが
ゲームじゃないですよ
802デフォルトの名無しさん:2010/05/02(日) 10:59:52
>例題にしてますが
>ゲームじゃないですよ
例題にしてますが
作っているのはゲームじゃないですよ
803デフォルトの名無しさん:2010/05/02(日) 11:06:15
ttp://tsushima.2ch.at/s/news2ch61577.png
改造して影をつけてみたけど解像度あがると重い・・・

ttp://tsushima.2ch.at/s/news2ch61578.png
赤丸のあたりに別途ボタンをつけたりする方法がわからない・・orz
804デフォルトの名無しさん:2010/05/02(日) 11:32:16
Gridはレイヤーみたいな使い方もできるぞ
がんばれ
805デフォルトの名無しさん:2010/05/02(日) 11:42:44
道具に振り回されている感じだね
もっと頭使えよ
806デフォルトの名無しさん:2010/05/02(日) 12:03:17
gridの使い方もわからない男の人って…
807デフォルトの名無しさん:2010/05/02(日) 13:10:06
>>803
これが進化したらビューポイントが出来上がりそうだと思った。
808デフォルトの名無しさん:2010/05/02(日) 17:30:25
>>804
はい

>>805
まあ休みの暇つぶしに始めたのでいろいろわからないことだらけなんですよね・・・
809デフォルトの名無しさん:2010/05/02(日) 19:28:29
>>803
これ格闘ゲームのキャラクター選択画面みたいだな
810デフォルトの名無しさん:2010/05/02(日) 19:52:56
こんなしょぼいもん作って喜んでるって
レベル低いな
811デフォルトの名無しさん:2010/05/02(日) 20:04:58
俺のデザイン最強(キリ
こんなしょぼいもん作って喜んでるって
レベル低いな(キリ

どんなUI作ってるんだろう見てみたい
812デフォルトの名無しさん:2010/05/02(日) 20:06:23
言ったもん勝ちだし。
MVPの俺が言うんだから確か。
813デフォルトの名無しさん:2010/05/02(日) 20:11:33
そういえばWinFormのClientSizeに相当する動きってどうやればいいんだろう
814デフォルトの名無しさん:2010/05/02(日) 20:15:45
コントロールとDataSetとの接続の仕方が判らない・・・
データベースを介さないと出来ないのか?
815781:2010/05/02(日) 20:21:27
>>810
新しいことへの挑戦中なのでこれもラフスケッチみたいな物ですよ
今後でるであろうタッチパネル搭載端末で使いやすいUIの研究ですから
ある程度決まった画面内やりとりするってのはゲームUIから学ぶことが
多いのでこれもその一つなんですよ

WPFの勉強も兼ねてですから
まあ偉い人にはわからないでしょうねw
816781:2010/05/02(日) 20:31:16
勝手にコメントしないでください
817781:2010/05/02(日) 21:12:26
じゃあ、俺が変わりに。

アノデスネ・・・。
818デフォルトの名無しさん:2010/05/02(日) 21:16:50
Fromの上にWPFのMediaElementを乗せた簡易メディアプレイヤーを
.NET4で完全WPFに書き換えたら重くなった
やってることはほとんど大差ないのに何故だ
819デフォルトの名無しさん:2010/05/02(日) 23:36:30
>>813
Window.ContentのWidthとかHeightじゃだめ?
820デフォルトの名無しさん:2010/05/02(日) 23:43:45
>>815
研究なら自分でやることだな
この程度のことを質問しているようじゃ
何も出来そうにないな
821781:2010/05/03(月) 01:19:15
>>820
その人成りすましなんですって・・
ID欲しいよ・・・
822デフォルトの名無しさん:2010/05/03(月) 01:40:50
>>819
ありがとうございます。

別件で
動的にコントロールを追加したりする場合はやはりC#側で制御するしかないんですかね?
823デフォルトの名無しさん:2010/05/03(月) 03:13:09
動的の度合いがわからない
824デフォルトの名無しさん:2010/05/03(月) 08:03:33
技術制約無視して条件分けとか言い出すんだから「xamlにコード埋め込め」でいいと思うよ
825818:2010/05/03(月) 10:07:19
>>818
動画の上にテキストを表示するためにOuterGlowBitmapEffectを使ってたけど
.NET4で削除された?のでDropShadowEffectに書き換えたがこれが重いらしい
ウインドウサイズをいじって動画と重ならないようにすると少しだけ軽くなり
非表示にしたりEffectを無効にするとぐんと軽くなる

ヘルプの.NET4の相違点のページかなんかで
描画方法が変わったとか何か書いてあった気がするけどページが見つからない
826デフォルトの名無しさん:2010/05/03(月) 10:27:06
BitmapEffectはパフォーマンスがクソだからというので
ピクセルシェーダでGPUを思いっきり使うようになったんだけど(.NET3.5〜)
ハードウェアが対応してないとか
827デフォルトの名無しさん:2010/05/03(月) 21:51:18
>>825
俺は、動画はないけど文字列をいっぱい表示してるけど縁取りでDropShadowEffectを使ってみたら重いな、OuterGlowBitmapEffectも重かったけどね
ボカシの処理を無くして縁取りの処理をもっと軽くできないものか・・・
828デフォルトの名無しさん:2010/05/04(火) 07:05:54
>>827
ぼかしを無くして影を落とすだけでも重かったので、妥協して半透明の背景をつけることにした
BitmapEffectが重いからって話だったはずなのにこっちの方が重くなるのが納得いかない
グラボは6800XTだからShader 2.0には対応してるはずだけど3.0が必要なのかな
829デフォルトの名無しさん:2010/05/04(火) 15:31:17
カスタムコントロールにResourceDictionaryを定義した
xamlファイルを結びつけるのはどうすればいい?
カスタムコントロールのコードからリソース内の表示用部品を利用したいのだけれど。
830デフォルトの名無しさん:2010/05/04(火) 17:01:51
>>829
xaml の読み込み
ResourceDictionary.MergedDictionaries
or
XamlReader.Load(file)

部品の取得
FrameworkElement.FindResource(key)
or
ResourceDictionary[key]
831デフォルトの名無しさん:2010/05/04(火) 18:34:43
>>829
これでも
ResourceDictionary rd = new ResourceDictionary();
rd.Source = new Uri("pack://application:,,,/MyApp;component/Dictionary1.xaml", UriKind.Absolute);
string myValue = rd["MyValue"] as string;
832デフォルトの名無しさん:2010/05/04(火) 18:44:44
>>830-831
さんくす!
使うリソースは1つだけなので
this.Resources.Source = new Uri("pack://application:,,,/testcontrol/test.xaml");
でいけた。this.Content = this.FindResource("button");てな感じで使えるね。

これでようやくコントロールの表示部分に取り掛かれるわ
833デフォルトの名無しさん:2010/05/04(火) 19:03:40
日本のメーカーPCはグラボ非搭載が主流だからWPFはきついな
834デフォルトの名無しさん:2010/05/04(火) 19:28:07
誰一人つられないんだからね
835デフォルトの名無しさん:2010/05/05(水) 00:38:09
現在主流のCore-iモデルの内蔵はintel HD Graphicsで
そのコンパネがWPFだったりするんだけどな
836デフォルトの名無しさん:2010/05/05(水) 01:34:12
WPFってなんだろう
837デフォルトの名無しさん:2010/05/05(水) 01:44:00
人生・・・かな?
838デフォルトの名無しさん:2010/05/05(水) 03:17:03
鉄板麺!!
839デフォルトの名無しさん:2010/05/05(水) 16:50:17
WPFはAdobeのあれをパクったような感じ
840デフォルトの名無しさん:2010/05/06(木) 08:43:05
国連になんかあったな
841デフォルトの名無しさん:2010/05/06(木) 23:49:46
Window の中に Grid が1つあり、
その中に同じ大きさの Viewbox を3つ配置しています。
3つのViewboxの位置は同じで、重なって配置されます。

それぞれのViewboxにはGridを配置し、その中には
・透過色を指定したPNG画像と
・Rectangleを1つずつ配置しています。
3枚の画像は同じ大きさで、UniformToFill にしています。
Rectangleは、各画像の背景色の領域中に配置するようにしています。
また、Rectangleはクリックされると Fill が変わるようにしています。

このとき、一番階層が高い Viewbox 内のRectangleしかクリックに反応してくれません。
2番目、3番目のViewbox内のRectangleも反応させるにはどうしたら良いのでしょうか?

ソースを以下にUPしましたので、よろしくお願いいたします。
ttp://www.dotup.org/uploda/www.dotup.org866125.zip.html
pass: wpf
842デフォルトの名無しさん:2010/05/07(金) 00:02:32
現象が発生する最小のプログラムでないと誰も見ないぞ
単純に一番目にRect三つ配置すればいいんじゃねーの
843デフォルトの名無しさん:2010/05/07(金) 00:05:50
>>841
Grid.Row, Grid.Column を分けずに、一つのセル(?)でやってるから、最後の Viewbox がイベントとっちゃって、その兄弟にはイベントが伝播しない。
素直に Canvas 使うか、Grid.Row を3つに分けなさい。
844841:2010/05/07(金) 00:12:10
>>842
急いで書いたため、情報不十分でした。
各Viewboxは個別に移動、拡縮をしたいのです。
(それに応じでViewbox内のオブジェクトも、移動+拡縮させたいです)
ですので、一番目にRect3つ配置ではダメなのです。

>>843
ありがとうございます。
いただいた情報を元に考えて見ます。
845デフォルトの名無しさん:2010/05/07(金) 00:36:07
>>844
Grid を入れ子にすれば、Grid で MouseUp をとるように変更すればできたけど・・・
もう少しスマートな方法ないかね。Viewbox 使わなければ Background に Transparent 設定してイベント透過させられるのだけど。

<Grid MouseUp="rectangle_MouseUp">
  <Viewbox />
  <Grid MouseUp="rectangle_MouseUp">
    <Viewbox />
    <Grid MouseUp="rectangle_MouseUp">
      <Viewbox />
    </Grid>
  </Grid>
</Grid>

-----------
private void rectangle_MouseUp(object sender, MouseButtonEventArgs e)
{
    ((((sender as Grid).Children[0] as Viewbox).Child as Grid).Children[1] as Rectangle).Fill = Brushes.Red;
}
846845:2010/05/07(金) 00:40:27
Grid 全体で MouseUp とってしまうから駄目だった。
忘れてくれ。
847デフォルトの名無しさん:2010/05/07(金) 00:43:11
つまり透過してるので最前面でFill状態の画像をムシして
その後ろの画像にヒット判定させろ?

無理じゃね?
848デフォルトの名無しさん:2010/05/07(金) 01:05:45
いや3ついっぺんにクリックされたように扱いたいって話じゃないの?
849デフォルトの名無しさん:2010/05/07(金) 01:09:17
>>844
読み流してた
つまり>>847なんだなごめん
850デフォルトの名無しさん:2010/05/07(金) 01:10:43
>>848
それだったら全面のやつがイベント受けたらほかの物にも伝えるとかそんなんでいいんじゃね?
それか画像を管理してるコンテナ、この場合はGridがクリックイベント拾うとか
851841:2010/05/07(金) 01:12:58
皆さん、ありがとうございます。
やはり透過処理していようとも、画像の領域から
イベントを透過させることは無理(難しい?)みたいですね。

>>847-848
一番の理想は、”見えているオブジェクトがイベントを拾う”です。
うpしたものを見ていただけているか分かりませんが、
例えば2番目のViewboxを仮に下方向にAnimationさせた場合、
2番目のViewboxに配置したRectangleは「黒色」の後ろに隠れます。
このとき、隠れたRectangleはクリックできないようにしたいです。

が、それはあくまでも理想であり、3つヒットでも出来るなら嬉しいです。
852デフォルトの名無しさん:2010/05/07(金) 01:43:08
一番上が拾うんでいいならTunnelじゃいかんのかね
853デフォルトの名無しさん:2010/05/07(金) 01:50:25
しかしwindowsはマウスありきでできてるから
こういうGUIまわりは作りにくいな
854デフォルトの名無しさん:2010/05/07(金) 02:04:46
>>852
TunnelってPreview〜のあれ?
重ねたImageに対してトンネルなんてできるのか?
855デフォルトの名無しさん:2010/05/07(金) 21:31:34
>>841
ViewBox内のImageに
IsHitTestVisible="False"
をいれたら下のRectangleも反応したよ

ただ、これだと隠れたRectangleをクリックさせない
というようなことはできないけど
856デフォルトの名無しさん:2010/05/07(金) 22:00:45
Imageに不透明な部分だけマスクするClipを指定すればいいんじゃないの?
857デフォルトの名無しさん:2010/05/07(金) 23:09:28
4の良書でないかなぁ
858デフォルトの名無しさん:2010/05/08(土) 05:54:20
WPF4のデザイナで配置したコントロールのフローがWPF3と違いますよね…?

ウィンドウのリサイズを行うと、WPF3だと勝手に連動してコントロールのサイズが変わるのに、WPF4だとウィンドウだけしかリサイズされない…。
結果、プロパティやXAMLをちょこっと変更しなければいけないのだけれど。
859デフォルトの名無しさん:2010/05/08(土) 06:52:09
860デフォルトの名無しさん:2010/05/08(土) 10:34:01
>>858
コントロールの上下左右に小さな円があるだろ
それクリックするとコンテナの端からの距離が固定される(WinFormsのAnchor相当)
861デフォルトの名無しさん:2010/05/08(土) 11:12:39
WPFのフォントレンダリングをフォームアプリと同じにすることはできないんでしょうか?
VS2010がフォームと同じフォント表示になったのに、
自分で作ったWPFアプリケーションのフォントレンダリングが前のままです。
862デフォルトの名無しさん:2010/05/08(土) 11:59:32
同じというのは違うけど。
3のソースを4でコンパイルするだけじゃ駄目。

TextOptions.TextFormattingMode
TextOptions.TextRenderingMode
863デフォルトの名無しさん:2010/05/08(土) 13:08:49
FlowDocumentに表示されている内容の表示上のサイズを取得する方法はありますか?
864デフォルトの名無しさん:2010/05/08(土) 22:23:02
>>860
クリックですか。
クリックしたところ、希望の動作になりました。

ありがとうございました。
865デフォルトの名無しさん:2010/05/10(月) 21:59:51
int型のプロパティPercentがあって、
それをバインドしているTextBlockでは、後ろに"%"を付けたいときって
どうすればいい?
866デフォルトの名無しさん:2010/05/10(月) 22:01:19
IValueConverter
するまでもないな、StringFormat
867デフォルトの名無しさん:2010/05/10(月) 22:17:23
866 なんか分かりづらくなっちゃった
{Binding Path=Percent, StringFormat=0\\%}
これでいいのか?
マークアップ拡張内は書式指定文字列が訳分からんことになるな
868デフォルトの名無しさん:2010/05/12(水) 17:42:43
>>867
おおーまさしくこれだ。
なんで円記号が2つも…って思ったけどマークアップ拡張内では円記号もエスケープ必須か
869デフォルトの名無しさん:2010/05/12(水) 17:45:00
途中で送信しちまった。>>867サンクス
870デフォルトの名無しさん:2010/05/12(水) 18:13:55
GUIプログラミングの初心者は、WPFから入るよりForm使った方がいいのかな?
WPFはまだ情報量少ないみたいだし
871デフォルトの名無しさん:2010/05/12(水) 18:18:10
>>870
最終的に何を作るかでも変わるけど似てるようでかなり違うからなあ
下手にFormの方を覚えるとWPFだと戸惑うこともあるよ
872デフォルトの名無しさん:2010/05/12(水) 18:21:51
GUIプログラミングはWPFから入ったけど今更Formなんて勉強する気しないよ
873デフォルトの名無しさん:2010/05/12(水) 19:48:05
>>872
最初からWPFって、どうやって学習した?
後学のために教えて欲しい。
874デフォルトの名無しさん:2010/05/12(水) 19:53:59
>>873
ネットで情報収集。殆どはMSDNから。
書籍はエッセンシャルWPFだけ買った。
質問はここやC#スレで。
まだ全体は勉強してないけどな。目的のアプリ作るには一部だけでも十分。
C#と.NET Frameworkも同時にだったからだいぶかかったが。
875デフォルトの名無しさん:2010/05/12(水) 19:54:50
WPFって動的にコントロールを生成しちゃいけないみたいな感じが面倒
876デフォルトの名無しさん:2010/05/12(水) 20:02:06
え?DataTemplate使えば必然的に動的に生成しまくりだろ?
877デフォルトの名無しさん:2010/05/12(水) 20:03:39
>>875
そんなことはないんじゃないの?
WPF側で名前つけておけばFormでやてったようなことはできるし
そういうのがだめってのならWPFなりの書き方すればいいだけだし
878デフォルトの名無しさん:2010/05/12(水) 20:24:03
>>874
.NET FrameworkっていうとC#とかのライブラリみたいなものだよね?
C#学習するのと.NET学習するのって違うの?
初心者なんで見当違いなこといってたらすまん
879デフォルトの名無しさん:2010/05/12(水) 20:28:17
>>878
.NET Framework上で動く中間コードを作るための言語が
C#やVB.netだよ
880デフォルトの名無しさん:2010/05/12(水) 20:53:46
>>878
英文法と英会話
881デフォルトの名無しさん:2010/05/12(水) 23:18:46
C#が言語で、.NETはそれらの言語で使えるライブラリ群
882878:2010/05/12(水) 23:24:39
.NET Frameworkってそういうものだったのか
少しは理解が深まった、サンクス
883デフォルトの名無しさん:2010/05/12(水) 23:39:31
>>874
ありがとう。やっぱりネットか。
早く最新状態に即した書籍が出てくれないかなと思うんだが、欲しい情報は
ネットを探しまくるしかないんだな。
884デフォルトの名無しさん:2010/05/13(木) 02:46:40
>>881
> C#が言語で、.NETはそれらの言語で使えるライブラリ群

前後逆の方がよくね?w
885デフォルトの名無しさん:2010/05/13(木) 03:12:59
881の順がいいと思う。
言語の方が具体的で、ライブラリの方が抽象的だから。

880は、くその役にも立たない例えの見本みたいなもんだと思う。
886デフォルトの名無しさん:2010/05/13(木) 15:20:36
GridViewが標準でWinFormsのListViewのFullRowSelect状態になってるんだけど
カラムのある領域外では選択不能にするにはどこ弄るのだろう?
ItemContainerStyle?
887デフォルトの名無しさん:2010/05/13(木) 17:16:33
うまくいかねーな
マウスで矩形選択っぽく範囲選択できるようにしたいだけなのに…
888デフォルトの名無しさん:2010/05/13(木) 17:33:31
ttp://social.msdn.microsoft.com/Forums/ja-JP/wpffaqja/thread/68bf1cbd-1490-4d03-9560-461eec7a3b93
こういうの?
矩形ってのがWinFormのDataGridViewでの[4,6]-[7,8]までのセルを選択、とか言うのなら多分GridViewじゃ無理だが
889デフォルトの名無しさん:2010/05/13(木) 22:40:53
>>888
最高の回答だ

だがなんでこんな微妙な部分で退化してんだ
楽しくなって来た所なのになー
890デフォルトの名無しさん:2010/05/13(木) 23:18:08
ListView使いにくいんだよね
結局SilverlightではListView削られてDataGrid追加された
WPF Toolkitか.NET4で逆輸入されたDataGrid使ったら?
891デフォルトの名無しさん:2010/05/13(木) 23:56:27
おしえてください。
WinFormをWPFで呼び出しています。
Windows.FormsIntegrationを参照して、
UserControl1には、400x400のグループボックスがあります。
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:ts="clr-namespace:WpfApplication1"
Title="MainWindow" Height="500" Width="500">
<Grid>
<WindowsFormsHost>
<ts:UserControl1 />
</WindowsFormsHost>
</Grid>
</Window>
とMainWindow.xamlで呼び出しても400x400の大きさになってくれません。
なぜでしょう??
892デフォルトの名無しさん:2010/05/13(木) 23:59:01
>Title="MainWindow" Height="500" Width="500">

これHeightとWidthをautoにしたらなるんじゃね
893デフォルトの名無しさん:2010/05/14(金) 00:13:42
>892
レスありがとうございます。Autoやってみましたが、駄目でした。
894デフォルトの名無しさん:2010/05/14(金) 00:18:46
Grid のほうで Auto 指定してみたら?

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
</Grid>
895891:2010/05/14(金) 00:26:45
>894さんありがとう。駄目でした。下に長くなってしまいます。
896デフォルトの名無しさん:2010/05/14(金) 00:45:41
<WindowsFormsHost Width="400" MinWidth="400" MaxWidth="400" Height="400" MinHeight="400" MaxHeight="400">
<ts:UserControl1 />
</WindowsFormsHost>
でも下長になる。
使用モニタ AcerB273HU 2048x1152、
フラットスクウェアの1280x1024のPCでやってみましたが下に長くなってしまいます。
ペイントに張り付けてピクセル測ってみると 約 横230px 縦300px となります。
897デフォルトの名無しさん:2010/05/14(金) 01:11:03
UserControl1側で
public UserControl1()
{
InitializeComponent();
Graphics g = this.CreateGraphics();
this.groupBox1.Width = (int)(400 * 72 / g.DpiX);
this.groupBox1.Height = (int)(400 * 72 / g.DpiY);
}
にしても駄目でした。Formでしか動作しないカメラ実況をWPF上の
どうしても表示させないといけないのですが。。。
898デフォルトの名無しさん:2010/05/14(金) 03:54:03
おいDataGridの上だとMouseDownが拾えねえぞ
思うように動かないもどかしさで強烈にイライラしてきた
899デフォルトの名無しさん:2010/05/14(金) 04:04:51
余白だと拾えるなあ
イミフ
900デフォルトの名無しさん:2010/05/14(金) 04:15:11
選択されていないセルの上でクリックした場合拾えない
が正確みたいだ
選択されているセルの上でもう一度クリックするとMouseDownが来る

これ誰が得する仕様なんだオイ
901デフォルトの名無しさん:2010/05/14(金) 04:47:36
またお前か
もう辞めてしまえ
902デフォルトの名無しさん:2010/05/14(金) 04:52:08
ていうかグダグダ言ってるあいだに
http://wpf.codeplex.com/wikipage?title=Single-Click%20Editing&ProjectName=wpf
こういうとこに辿り着けないわけ?
お前の能力が低いんだよ
903デフォルトの名無しさん:2010/05/14(金) 06:25:57
WPFで組んでいるんだけど
App.config をどうにかしてexeに埋め込めませんか?

app.configの埋め込みに関して探していますが、
それらしいページは以下しか見つかりません。
ttp://d.hatena.ne.jp/Kazzz/20050930/p1

私にはこのサイトに書かれている4行(枠で囲まれている部分)
の意味が全く分からないのですが、分かる方おりませんか。

俺はDIコンテナを使っていないので1行目は除くとして、
2〜4行目の「指定された場合」「配置されていた場合」というのは
開発側で制御することなので「指定していた場合」「配置していた場合」
ならまだ分からなくもないのですが・・・(仮にそうだとしても結局分からないのですが)。

枠の下に、「この状態でアセンブリ名+...」とありますが、
この状態っていったいどういう状態のことなのか読み取れません。

俺はapp.config を使っており、ビルドすると アセンブリ名+.exe.config が生成される
状態です。俺の解釈だと、枠内3行目から、俺はapp.config を使って
アセンブリ名+"components.config と言う名前で設定ファイルを埋め込む
のだと思うのですが、ここで書いてある「設定ファイル」が何なのかも不明ですし
よく分かりません。

俺が使っているapp.configを「埋め込みリソース」にして
 アセンブリ名+components.config
 アセンブリ名+.components.config
 アセンブリ名+.exe.components.config
と名前を変えてビルドしてみましたが、configファイル内を読んではくれませんでした。

結局 app.config を埋め込むにはどうすれば良いのでしょうか?お願いします。
904デフォルトの名無しさん:2010/05/14(金) 06:54:55
WPF関係ないだろ。ふらっとか相談室が適当。
905デフォルトの名無しさん:2010/05/14(金) 07:11:21
>>903
.NET用のS2がApp.configを使っている。
S2でApp.configを使わない場合はどうするかという内容だろそれ。
906903:2010/05/14(金) 07:12:52
>>904
申し訳ありません。
WPFから入ったもので、この話はVC#全般のことなのですね。

別スレにて質問いたしますので、>>903は無視してください。
スレ汚し失礼しました。
907903:2010/05/14(金) 07:17:34
>>905
ありがとうございます。
.NET用のS2・・・が分かりませんので調べてみます。
貼ったURL先は、私のやりたいtこととは違うということですか・・・残念です。

書き込むタイミングが悪くてすみません。
消えます。
908デフォルトの名無しさん:2010/05/14(金) 07:20:41
.netで開発する場合はアセンブリ名って実行ファイル名(拡張子抜き)であり
ネームスペースであったりしない?

まあWPFは関係ないのは事実だな
909デフォルトの名無しさん:2010/05/14(金) 07:34:30
WPFでも作れるようなオサレアプリって実際はAir採用してるのばっかりだな
MSやばいんじゃねーの
910デフォルトの名無しさん:2010/05/14(金) 14:15:11
>>900
DataGrid_PreviewMouseDownで拾えるだろ。
まずMSDNのイベント一覧よく見ろ。

>>902
お前もトンチキな回答して得意気になってんじゃねえよ。
911デフォルトの名無しさん:2010/05/14(金) 16:43:58
>>909
AirだとMacでも動くからな。
912デフォルトの名無しさん:2010/05/14(金) 16:52:29
トンチキなんて5年ぶりくらいで聞いた
913デフォルトの名無しさん:2010/05/14(金) 22:37:17
>>910
ありがとう
すまん
俺が一番トンチキなんだよ

902もthx
914デフォルトの名無しさん:2010/05/14(金) 23:12:57
マルチ失礼します。

Viewort3D 内のモデルをデフォルトの(グーロー?)シェーディングではなく、
三角形の面法線に対するフラットシェーディングで描画したいのですが、どのようにすればできるのかお教えください。
三角形毎に(座標の重複を気にせずに)点を登録してワインディングするのはデータが増えてしまうので避けたいと考えています。
915デフォルトの名無しさん:2010/05/14(金) 23:31:34
WPFで3D?
           . ィ
._ .......、._    _ /:/l!
 :~""''.>゙' "~ ,、、''‐'、|         _   またまた ご冗談を
゙、'、::::::ノ:::::::_,.-=.  _〜:、         /_.}'':,
 ``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
 ,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:'  ノ゙ノブ
"   .!-'",/  `'-‐'') /\ `/ でノ-〈
 .-''~ >'゙::    ‐'"゙./  ヽ.,'   ~ /
   //:::::       ',    /    ,:'゙
916デフォルトの名無しさん:2010/05/15(土) 01:44:29
マルチ失礼しますって新しいな。
917デフォルトの名無しさん:2010/05/15(土) 01:49:25
それがマジなんですよ。困った事に。
918デフォルトの名無しさん:2010/05/15(土) 06:58:51
directx直接叩きなよ
いい加減リファレンス以外に隠しコマンドなんてないって知れ
919デフォルトの名無しさん:2010/05/15(土) 07:02:10
WPF+XNAに関しての記述がどこかにあったな
920デフォルトの名無しさん:2010/05/15(土) 10:41:28
WPF+XNA は element host 使って XNA の窓を開くとかそんなんだったような気が。
921デフォルトの名無しさん:2010/05/15(土) 10:42:58
ここまでごちゃごちゃしてくると
Appleの強権発動しまくりでAPIをシンプルに保つやり方がうらやましくなってくるな
922デフォルトの名無しさん:2010/05/15(土) 12:04:41
言う程ごちゃごちゃしてるかね?
923デフォルトの名無しさん:2010/05/15(土) 14:07:28
Appleの強権発動は見てて気持ちいい。
真似してやってみるともっと気持ちいい。
924デフォルトの名無しさん:2010/05/15(土) 14:17:20
wpfのレイアウトって地獄だな。
925デフォルトの名無しさん:2010/05/15(土) 17:07:23
gridの正しい使い方を理解すればあとは楽々だ
926デフォルトの名無しさん:2010/05/15(土) 17:09:37
Gridは理解できた
それ以上は無理だった
WPFはGridだけでいいと思った
927デフォルトの名無しさん:2010/05/15(土) 20:25:57
リソースの検索は「論理ツリーの親を再帰的に検索していきルートまでたどっても
見つからないとしてApplicationやテーマも見る」なんだよね?
で、テンプレートは論理ツリーにはぶら下がらない(TemplateParentの説明@MSDNによると)。

ってことはテンプレートの中からは、Applicationやテーマのリソースしか見えないってことでおk?
キーを明示的に指定すると外にあるXAML上の親要素のリソースのスタイル等も見えているような気がするけど。
928デフォルトの名無しさん:2010/05/15(土) 21:42:04
WPFってどんなソフトに向いていると思う?
GUIのソフトは何でもかんでもWPFにするべきだと思う?
929デフォルトの名無しさん:2010/05/15(土) 21:44:50
見た目をこだわる場合だけじゃね?
930デフォルトの名無しさん:2010/05/15(土) 21:49:36
これからはなんでもかんでもWPFで良いんじゃないの?
931デフォルトの名無しさん:2010/05/15(土) 21:58:39
ピュアな.NETだけで作れるものだったらSilverlightのほうが
932デフォルトの名無しさん:2010/05/15(土) 22:19:51
バインディングソース内のオブジェクトのプロパティをバインドしたいんだけどうまくいかない。
ソースとなるクラスに
public ScaleTransform st;があって、
XAML側では
<TextBlock Text="{Binding Path=st.ScaleX}"/>
というふうに指定した。参考↓Path=(オブジェクト名).(プロパティ名)による指定ができるらしい。
http://msdn.microsoft.com/ja-jp/library/system.windows.data.binding.path.aspx
ソース直下のプロパティだと問題なくバインディングできるのに。
XAMLでやるのは無理かな?
933デフォルトの名無しさん:2010/05/15(土) 22:20:49
>>932
うまくいかなかったソースも晒せよ
934デフォルトの名無しさん:2010/05/15(土) 22:27:58
実はstがパブリックフィールドだった
ていうかオブジェクト名とかリンク先には出てこないようだが?
935デフォルトの名無しさん:2010/05/15(土) 22:31:15
>>934
そうですパブリックフィールドです。
リンク先のは
>プロパティのサブプロパティは、C# で使用される構文と同様の構文によって指定できます。
>たとえば、Path=ShoppingCart.Order 句は、オブジェクトまたはプロパティ ShoppingCart
>のサブプロパティ Order へのバインディングを設定します。

が該当するかなと
936デフォルトの名無しさん:2010/05/15(土) 22:32:46
ルート要素でDataContext="{Binding RelativeSource={RelativeSource Self}}"
それとINotifyPropertyChangedを実装するか依存プロパティを使う必要がある
InitializeComponentの前で代入すれば一応動く(更新はされない)
937デフォルトの名無しさん:2010/05/15(土) 22:35:42
だからコードだせよ
938デフォルトの名無しさん:2010/05/15(土) 22:39:17
コードビハインド
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public ScaleTransform s;
public MainWindow() {InitializeComponent();}
public static readonly DependencyProperty PercentProperty =
DependencyProperty.Register(
"Percent",
typeof(double),
typeof(MainWindow),
new FrameworkPropertyMetadata(0.1));
public double Percent
{
get { return (double)GetValue(PercentProperty); }
set { SetValue(PercentProperty, value); }
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
s = new ScaleTransform();
Binding bi = new Binding("ScaleX");
bi.Source = s;
this.SetBinding(PercentProperty, bi);
s.ScaleX = 1.2;
}
private void stack_Loaded(object sender, RoutedEventArgs e)
{stack.DataContext = this;}
}
}
939デフォルトの名無しさん:2010/05/15(土) 22:40:39
うわきた
そのまま貼りw
ここは外部のコード貼りサイト使わないのか
940デフォルトの名無しさん:2010/05/15(土) 22:42:09
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:w="clr-namespace:WpfApplication1"
Title="MainWindow" Height="350" Width="525"
Loaded="Window_Loaded">
<Grid>
<w:CustomControl1></w:CustomControl1>
<StackPanel x:Name="stack" Loaded="stack_Loaded">
<TextBlock Text="{Binding Path=Percent}"/>
<TextBlock Text="{Binding Path=s.ScaleX}"/>
  </StackPanel>
</Grid>
</Window>
イランとこ削ったけどこんな感じ。Percentプロパティはちゃんとバインドできてる。
>>936のRelativeSource Selfでの指定ではうまくいかんかった。
941デフォルトの名無しさん:2010/05/15(土) 22:42:47
プロパティにしろ
942デフォルトの名無しさん:2010/05/15(土) 22:45:04
> public ScaleTransform s;
(゚д゚)
943デフォルトの名無しさん:2010/05/15(土) 22:48:00
それと、プロパティにしてもDataContextを設定するタイミングによっては反映されない
RelativeSource Selfでうまくいかないのはそれが理由
更新を確実に反映させるには>INotifyPropertyChangedを実装するか依存プロパティを使う必要がある
944デフォルトの名無しさん:2010/05/15(土) 22:50:04
これは酷すぎ。
デバッグよりも、書籍で基礎的なBindの説明を全部読み直すことをお勧めする。

あと出力ウィンドウを見ろ。バインド失敗の実行時エラーが表示される。
945デフォルトの名無しさん:2010/05/15(土) 22:51:49
書籍ねぇ
946デフォルトの名無しさん:2010/05/15(土) 22:54:28
※コードの量が多い場合は下記サイトを使うなどしたほうがいいかも※
http://ideone.com/
http://codepad.org/

コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。
947デフォルトの名無しさん:2010/05/15(土) 22:58:25
なるほど。パブリックフィールドをパブリックプロパティにしたらうまくいった。
出力ウィンドウ見てなかった…。

>>946
次からそこ使います
948デフォルトの名無しさん:2010/05/15(土) 23:47:33
RelativeSourceを指定してもうまくいかなかったのはStackPanelで宣言してたからだった…。まぬけ
Windowに書かないとだめだ。
あとソース直下のプロパティが依存プロパティでないと変更が反映されない。
今回の例では、フィールドからプロパティに書き直した”s”が依存プロパティでないと、
そのプロパティであるScaleXが依存プロパティでもきちんと反映されない。
>>943の言ってることがようやくわかった。今日はぐっすり寝られる。おやすみなさい
949デフォルトの名無しさん:2010/05/16(日) 02:50:14
まあしっかり寝ろよ
950デフォルトの名無しさん:2010/05/17(月) 01:34:04
さて起きたらWPFで3D画像処理の仕事だ。動く訳ねえからな、こんなもん。
やる気がしねえや。
951飛び出せ!名無しくん:2010/05/18(火) 07:06:30
WPFの本探しているがいいのがない
オススメある?
952デフォルトの名無しさん:2010/05/18(火) 08:01:30
エッセンシャルズ一択だろ
953デフォルトの名無しさん:2010/05/18(火) 15:57:19
2010が出てからWPFはじめようとする人が増えたみたいだな

一儲けさせてもらいますか
954デフォルトの名無しさん:2010/05/18(火) 20:51:48
>>953
ちゃんと情報を咀嚼したWPFの本を書いてくれると言うのか。
頼むわ、良かったら買うから。
955デフォルトの名無しさん:2010/05/18(火) 22:39:29
煽りでもなんでもなく良書書いてくれたら5000円越えるぐらいでも買うと思う。
956デフォルトの名無しさん:2010/05/18(火) 23:37:22
期待してるわ
957デフォルトの名無しさん:2010/05/18(火) 23:59:56
<TextBlock/>と<TextBlock Style="{StaticResource {x:Type TextBlock}}"/>は違うのに
<Style TargetType="..."/>と<Style TargetType="..." x:Key="{x:Type TextBlock}"/>は同じなのか…

リソースの検索ルーチンワケワカメ
958デフォルトの名無しさん:2010/05/19(水) 00:25:23
>>954
咀嚼っていうか
ちょっとゲーしちゃったやつだけど
よかったらお召し上がりください
959デフォルトの名無しさん:2010/05/19(水) 22:52:34
エッセンシャルって基礎知識あること前提に書かれてるからはじめに読む本じゃないだろ。
理解深めるには良いかもしれんが。

和書なら少々古いが、川西氏翻訳のWindows Presentation Foundationプログラミングがオススメだと思うが。
洋書なら Pro WPF 一択かね?タウンページ並の分厚さで読むのに不便だが。
960デフォルトの名無しさん:2010/05/19(水) 23:29:07
>>959
川西氏翻訳〜は
その後に決まりが変更されたことばかりで
間違った知識が入ってしまうと思うけどなぁ。
サンプルソースを入れてもビルド通らないこと多いし。
961デフォルトの名無しさん:2010/05/19(水) 23:32:25
大概の言語に入門サイト見てーなもんはあるもんだが
WPFのマイナーさが浮き彫り
962デフォルトの名無しさん:2010/05/19(水) 23:46:02
WPFデーターバインディングは凄いけど、
ほとんどのプロパティにアレが仕込まれてると思うと、
ちょっとゾッとするな。

データークラス作るの面倒くさいし。

CLRのオブジェクトレベルで実装してくれればいいのに。
963デフォルトの名無しさん:2010/05/20(木) 00:06:41
静的型では仕方ないでしょ
添付プロパティとか言語に組み込んだら型の意味がなくなる
964デフォルトの名無しさん:2010/05/20(木) 00:08:52
>プロパティにアレが仕込まれてると思うと、
あれとは?
965デフォルトの名無しさん:2010/05/20(木) 00:18:06
set
{
if (value != this.hogeValue)
{
this.hogeValue = value;
NotifyPropertyChanged("hoge");
}
}
966デフォルトの名無しさん:2010/05/20(木) 00:19:27
メジャーなアプリがWPFで書かれたとかあったっけ?
IDEとかじゃなく一般人が使うようなので
967デフォルトの名無しさん:2010/05/20(木) 00:20:44
NotifyPropertyChanged
これは仕方ないでしょ・・・
968デフォルトの名無しさん:2010/05/20(木) 00:31:04
文字列で通知するのがやな感じ
969デフォルトの名無しさん:2010/05/20(木) 00:32:37
>>968
そんなの言ってたらSQLとかhtmlとかどうするのw
970デフォルトの名無しさん:2010/05/20(木) 00:46:06
ほんとにhtml以下の速度だったりするから困る
971デフォルトの名無しさん:2010/05/20(木) 00:48:42
ラムダ式と式木使ってプロパティ名渡すのがいい感じだった。
972デフォルトの名無しさん:2010/05/20(木) 01:58:56
>>970
それはない
つマシン組み直し
973デフォルトの名無しさん:2010/05/20(木) 01:59:33
WCFとかすごいぞw
974デフォルトの名無しさん:2010/05/20(木) 02:36:32
>>966
無い。
そういうのはAdobe AIRが使われている。
975デフォルトの名無しさん:2010/05/20(木) 03:33:27
>>969
おま、何のためにLINQ出て来たと思ってんだよwwwww
976デフォルトの名無しさん:2010/05/20(木) 06:58:01
とっとと言語内で別の言語使えるようにしてくれんかね…
unsafeみたいにブロックで区切ってそこからはSQLネイティブで書いてインピーダンスミスマッチはは規定もしくは明示的に指定したものを使うとかで。
LINQは便利だけどなんか無理くり自分の土俵に持って来てる感が美しくない。
977デフォルトの名無しさん:2010/05/20(木) 07:50:13
お前らスレ違い
978デフォルトの名無しさん:2010/05/20(木) 18:29:44
評価を始めて、最初は良さそうに思うけど、
すぐに、マイクロソフトらしい実用に耐えない設計の甘さが露呈してきて幻滅する。
979デフォルトの名無しさん:2010/05/20(木) 18:41:45
>>978
もっと具体的に
980デフォルトの名無しさん:2010/05/20(木) 22:37:58
繰り返しをForeverに設定したアニメーションの移動速度を
動的に変更することって出来ますか?
例えばスライドバーで1〜10の値を得られるとし、
スライドバーの値を大きくすると、アニメーションの速度も
一緒に速くなるようなことがしたいのです。

どうやればできそうでしょうか?
981デフォルトの名無しさん:2010/05/20(木) 22:43:27
IValueConverterでdoubleだかintだかからDuration型への変換を定義して
アニメーションのDurationプロパティのバインディングを使えばいいんじゃない
982デフォルトの名無しさん:2010/05/21(金) 05:21:48
WPFってなんで死んでしまったの?
983デフォルトの名無しさん:2010/05/21(金) 05:24:23
死ぬも何も芽が出なかった
984デフォルトの名無しさん:2010/05/21(金) 07:08:08
まだWPFを使いこなせてないのか
985デフォルトの名無しさん:2010/05/21(金) 10:17:54
MonoのようにLinux版でないかな
986デフォルトの名無しさん:2010/05/21(金) 10:53:50
ギンピカ
987デフォルトの名無しさん:2010/05/21(金) 11:27:24
米国のサイトが翻訳されないから
988デフォルトの名無しさん:2010/05/21(金) 11:29:44
若干翻訳されてるが文章がくどすぎて読む気にならない
下手糞
989デフォルトの名無しさん:2010/05/21(金) 11:46:25
ハリボテすぎる。
990デフォルトの名無しさん:2010/05/21(金) 11:56:11
>>988
お前が書けYO
991デフォルトの名無しさん:2010/05/21(金) 13:31:07
できぬっ!!
992デフォルトの名無しさん:2010/05/21(金) 13:35:37
酷すぎる…っ!!!
993デフォルトの名無しさん:2010/05/21(金) 13:43:05
翻訳ェ・・・
994デフォルトの名無しさん:2010/05/21(金) 15:09:28
 V V
(´・ω・`) うさちゃんピース
995デフォルトの名無しさん:2010/05/21(金) 15:17:31
次ぎたててくる
996デフォルトの名無しさん:2010/05/21(金) 15:27:55
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part6
http://pc12.2ch.net/test/read.cgi/tech/1274423236/
997デフォルトの名無しさん:2010/05/21(金) 16:16:13
おつおつ
998デフォルトの名無しさん:2010/05/21(金) 16:21:15
発掘!五枚雑巾!!
999デフォルトの名無しさん:2010/05/21(金) 16:22:27
美しさは皮一枚

   醜さは骨の髄まで
1000デフォルトの名無しさん:2010/05/21(金) 16:32:29
1000ならWPF終了
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。