WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part9

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
あたらしいユーザーインターフェースシステム、Windows Presentation Frameworkについて語るスレ。

Visual Studio 2010
http://www.microsoft.com/japan/msdn/vstudio/
Microsoft .NET Framework 4 (Web インストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=9CFB2D51-5FF4-4491-B0E5-B386F32C0992&displaylang=ja
Microsoft .NET Framework 4 (スタンドアロンインストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&displaylang=ja

前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part8
http://hibari.2ch.net/test/read.cgi/tech/1291554513/

関連スレ
Microsoft Silverlight その8
http://hibari.2ch.net/test/read.cgi/tech/1300831451/

過去スレ
Part7 http://hibari.2ch.net/test/read.cgi/tech/1282479113/
Part6 http://hibari.2ch.net/test/read.cgi/tech/1274423236/
Part5 http://pc12.2ch.net/test/read.cgi/tech/1261879110/
Part4 http://pc12.2ch.net/test/read.cgi/tech/1245384489/
Part3 http://pc12.2ch.net/test/read.cgi/tech/1231506876/
Part2 http://pc11.2ch.net/test/read.cgi/tech/1211453941/
Part1 http://pc11.2ch.net/test/read.cgi/tech/1162950198/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
2デフォルトの名無しさん:2011/03/26(土) 16:04:40.35
>>1
いつまであたらしいって言い続けるの?
3デフォルトの名無しさん:2011/03/26(土) 16:12:25.49
分かりません
4デフォルトの名無しさん:2011/03/26(土) 16:14:36.71
結局、WPFはダメダメだったね。銀光はまだましか
5デフォルトの名無しさん:2011/03/26(土) 16:23:28.73
イメージの問題だけど、MVCとだけだとステートレスな印象に引っ張られるから
やはり別の(そして短い)キーワードが必要だったんじゃないかなあ。
6デフォルトの名無しさん:2011/03/26(土) 16:59:09.15
>>1
7デフォルトの名無しさん:2011/03/26(土) 18:35:04.88
>>2
何年経とうといっこうに広まってないだろ。
まだ文化オリエントも対応し始めたばかりから、
あと2年は「新しい」で構わない。
8デフォルトの名無しさん:2011/03/26(土) 18:38:37.97
アーキテクチャの話と、実装依存の話の領域について、人によって捉え方が微妙に違う点にもやもや。
9デフォルトの名無しさん:2011/03/26(土) 18:47:24.10
PrismのMVVMサンプルなんか確かに見事だけど
バックのデータベース触るだけのWebアプリだからうまく機能するんだろうな
もっとUIが複雑な一般のアプリケーションには簡略化が過ぎると思う
VM使うにしてもコードビハインド使わないのは無理だよ
10デフォルトの名無しさん:2011/03/26(土) 18:52:13.14
そういう、MVVMで難しいパターンをカタログ化できないもんかね?
MVVM厨を黙らせるにせよ、解決方法を検討するにせよ。
11デフォルトの名無しさん:2011/03/26(土) 19:05:15.01
そうなると難しいパターンとはなんぞや、ということになるよね。
で、難しくなれば難しくなるほどサンプルとして余計な要素が入りやすくなる。
純粋にパターンだけ切り出した上手いサンプルってのは、難しい。
まあ、だからこそそれをやれよって話であり、
Prismのチームなんかは実際それをやろうとしてるのだろうけど。
12デフォルトの名無しさん:2011/03/26(土) 19:14:47.93
RoutedCommandとCommandBindingのせいでビハインド書かな…
13デフォルトの名無しさん:2011/03/26(土) 19:19:32.99
WPFって、リボンUIを作るクラスが見当たらないのですが、
作れないのでしょうか?
14デフォルトの名無しさん:2011/03/26(土) 19:28:03.79
WPF Ribbonだかそんな名前で提供されてる
15デフォルトの名無しさん:2011/03/26(土) 19:56:21.17
んで、CommandBindingをコードビハインドに何も書かずにVMに紐つけるクラス無いですか
書けばすぐだけど誰か書いてるだろ既に
16デフォルトの名無しさん:2011/03/26(土) 21:55:44.87
もちろんあるよ
17デフォルトの名無しさん:2011/03/26(土) 21:59:22.63
リボンはFluentRobbonがいい
18デフォルトの名無しさん:2011/03/27(日) 04:13:53.30
公式リボンはサンプルがMVVMでしちめんどくせーことやってるなぁと思うけど
実際に作ってみるとMVVMじゃないと正常動作しないから困る
19デフォルトの名無しさん:2011/03/27(日) 12:02:55.18
StreamGeometryより速い描画方法を教えてください
Rectangleがかければいいです
20デフォルトの名無しさん:2011/03/27(日) 12:09:35.33
>>18
あれ、なんなんだろうね。

Ribbonは外部のXML定義ファイルみたいなの読み込んでメニュー作るべきだってことなのかな?
外部から設定読んで、動的にメニュー構築するなら
MVVMというか、データバインディング使った方が楽なのは確かだし。
21デフォルトの名無しさん:2011/03/27(日) 12:13:06.52
>>19
普通にRectangleをCanvasに貼る
RectangleのBitmapCacheを有効にしておく
Silverlightならこれで爆速だがWPFは知らん
22デフォルトの名無しさん:2011/03/27(日) 12:17:20.87
>>19
要件によるのだけども、
静的に一度描画して、あとはビットマップとしてキャッシュしとくだけでいい
(データの変更に応じて再描画がそんな頻繁に必要ない)
のなら、WriteableBitmapEx ってライブラリがあるんで、ググってみるといいよ。
23デフォルトの名無しさん:2011/03/27(日) 14:05:01.96
>>19
RectangleGeometryで四角形の座標データを構築し、
FrameworkElementを継承した自作のコントロールで
DrawingContext使って描画。特に同じ色の四角形を
1マンコとか書く場合は
 Geometry→DrawingContextでなく、
 Geometry→Drawing→DrawingGrpup→DrawingContext
としてDrawingGroupで複数の四角形をまとめると
Rectangleより遥かに速い。
DrawingGroupは半透明ブラシが使えるのもポイントだ。
24デフォルトの名無しさん:2011/03/27(日) 14:08:12.31
StreamGeometryで遅いって言ってるんだし前スレの四角形の人だろうからアニメーションさせたいんでしょ
DrawingContextで毎フレーム更新したりしたら死ぬわ
25デフォルトの名無しさん:2011/03/27(日) 16:17:13.85
>>21
ありがとうございます
WPFにもありました
形状が変化しないとき(移動だけのとき)は少し早くなりましたが、ほぼ全部の形状が変化するときはやっぱりカクカクしました

>>22
ありがとうございます
WPFはサポートしてない?ようで、その作者?はDirectCanvasなるものを推奨してるみたいです
でもそれはダウンロードできないようで諦めました

>>23
ありがとうございます
前に使って重かったような・・・

>>24
エヘ
26デフォルトの名無しさん:2011/03/27(日) 16:37:58.37
なら全部正方形にしておいてRenderTransformで
27デフォルトの名無しさん:2011/03/28(月) 00:34:34.15
WPFの座標ってGDI座標と位置が0.5ピクセルずれてると思ってたけど、
FrameworkElementでは勝手に補正してたんだな。
DrawingVisualは幅200ピクセルの長方形を描くと幅200になるけど、
Rectangleは幅200ピクセルを指定すると幅199になるGDI糞仕様。
デバイス非依存ピクセル採用してるのになんだよこれ。
28デフォルトの名無しさん:2011/03/28(月) 03:54:45.93
落ち着いて考えなよ。(0,0)を中心に1ドットの点を打てば-0.5から0.5の範囲で塗られるのは当然だ。
(1,1)を中心に2ドットの点を打てば0から1の範囲で塗られるだろう。単純な思い違いだ。
29デフォルトの名無しさん:2011/03/28(月) 11:04:42.22
WPF4はSilverlightと同様にデバイスのピクセルにスナップするようになってたはず
3027:2011/03/28(月) 12:06:06.95
>>28
いや違うんですよ。解像度を10倍の960dbiでRendarTargetBitmap出力するとわかる。
DrawingVisualで(0,0)-(0,100)に線を引くと、x=0を中心に
幅5ピクセルの線が引かれる。(のこり5ピクセルは表示範囲外)
(0,0)-(0,100)に線を引いたControlを出力すると、x=0.5(5ピクセル位置)を中心に
幅10ピクセルの線が引かれる。

だからデバイスのピクセルのスナップとも違って、
「96dpi相当デバイスでの0.5ピクセル補正」がかかってる。
31デフォルトの名無しさん:2011/03/28(月) 14:55:47.22
WPFって終わコンなの?
手出そうとしてるんだけど今から学んでも価値あるかね?
32デフォルトの名無しさん:2011/03/28(月) 15:05:16.50
これからはWPFが主流になるよ
33デフォルトの名無しさん:2011/03/28(月) 15:07:52.47
WPFに移行したら、客からクレーム来ました。
パッと見、どれがボタンかよく分からないから使いにくいとのこと。
34デフォルトの名無しさん:2011/03/28(月) 15:08:38.24
始まってもいないのに終わコンとか止めてくれるかな
35デフォルトの名無しさん:2011/03/28(月) 15:10:37.05
性能は良くないし、ごちゃごちゃしてて使いにくいフレームワークではあるけれど、
WPF以上に表現力があって、開発ツールのサポートも充実したフレームワークは見つからないので、
必要な人は仕方なく使ってるって感じ。

WPFの表現力が必要なら、手を出しても損はない。
WPFの代替は全然出る気配がないからね。
36デフォルトの名無しさん:2011/03/28(月) 15:14:00.20
表現力って見づらくしたり、ウザイぐらいに動くってことだろ。
flashと同じでいらない子。
37デフォルトの名無しさん:2011/03/28(月) 15:17:33.75
バインディングとレイアウトが無ければこんなもの使わない
その二つがあるから使ってる
38デフォルトの名無しさん:2011/03/28(月) 15:22:20.03
>>36
考え方が10年遅れてる。

表現力ってのは直観的なUIを作るためにあるんだよ。

特別な意味を持つ部分の色を変えたり、絵を付けたり、
最小化アニメーションみたいに、操作の結果をわかりやすくしたり、
画面のスペースを有効利用するために、表示する内容に応じてレイアウトを調整したり。

HTMLで普通にできてることと、
デスクトップアプリケーションで普通にできることを
両方できるようにしたのがWPF。
39デフォルトの名無しさん:2011/03/28(月) 15:24:36.80
>>38
おまえは10年遅れてる。
それが逆効果だということは10年前から言われ続けている。
XPの不評、Vistaの不評、すべて原因はそれだ。
40デフォルトの名無しさん:2011/03/28(月) 15:25:48.66
レイアウトの柔軟さに限れば今のところWPFを上回るGUIのフレームワークは存在しないと思ふ

>>39
おめーは死ぬまでクラシック使ってろよ
41デフォルトの名無しさん:2011/03/28(月) 15:27:01.35
おもしろい技術ではあるね。
まぁ今もVisualStudio6がメインな俺の職場で使うことはあるまい・・・。
42デフォルトの名無しさん:2011/03/28(月) 15:29:52.03
レイアウトの柔軟さが逆に批判されてんだよな。
ちまちまレイアウト変わるとストレス堪るから。
43デフォルトの名無しさん:2011/03/28(月) 15:34:22.51
作る側と使う側の温度差が激しすぎる。
表現にに電力使うぐらいなら、バッテリーの持ちをよくしてほしいと思うのが一般的なユーザー。
44デフォルトの名無しさん:2011/03/28(月) 15:47:00.20
>>42
例えば>>42>>38は文章の量が違うので、大抵のソフトならレスの高さも違うはずだが、
お前は「レス毎に高さが違うのでストレスがたまる」と思うのか?
45デフォルトの名無しさん:2011/03/28(月) 15:58:41.19
昔の話だが、CUIからGUIへの移行期、アイコンになれば、字だけでは表現できない、
直感的な表現が可能になり、使いやすくなると言われたが、フタをあけてみれば、
どれも似たり寄ったり絵のアイコンばかり。ボタンの絵もしかり。
ポップアップで説明がないとどれがどれだか分からない。

今見ると、絵はネタ切れなのか、どのアイコンにも字が入っている。
IEはE、YahooはY、WikipediaはW、楽天はR、YouTubeに至っては、
Yahooに先を越されてYを使えなかったのか、フルでYouTubeとアイコンに描かれている。


結局、絵に文字を超える表現力なんてないのだよ。
46デフォルトの名無しさん:2011/03/28(月) 16:02:06.90
>>45
人間がQRコードを解読できるのなら
絵(と呼べるかはなぞだが)でも可能だけどね
バイト数使う割りにたいしたことを表現できないのが絵
47デフォルトの名無しさん:2011/03/28(月) 16:05:04.63
>>44
たまるからみんな専ブラ使って弾いたり、加工しているんだが。
おれも改行4つ連続してるレスとかは透明あぼ〜ん。
48デフォルトの名無しさん:2011/03/28(月) 16:32:30.25
え、そんなことしてないけど
49デフォルトの名無しさん:2011/03/28(月) 16:39:51.04
gridを置くとウインドウ一杯に広がる、これが理解できないやつが多いんだと思うよ

自作の添付ビヘイビア使ったxaml読んだ日には泣き出すかもな
50デフォルトの名無しさん:2011/03/28(月) 17:10:09.32
iPhoneのアプリなんかが良い見本じゃない?
遷移がわかりやすいし使っていて楽しい。
先進的なUIはスマートフォンが進んでると思うけど、PCアプリもWPFのような
柔軟なフレームワークによって表現可能な位置についてると思う。
個人的には今までのWinFormsアプリのようなダサいデザインにうんざり。
51デフォルトの名無しさん:2011/03/28(月) 17:16:28.86
見た目は面白いが住みたくない家みたいなもん
52デフォルトの名無しさん:2011/03/28(月) 17:26:27.43
MVVMで作ったらxaml.csはコンストラクタだけでメソッドが1つもなかったとか笑えるよね
53デフォルトの名無しさん:2011/03/28(月) 17:28:41.38
>>52
html+CSS+JSの応用なんでそんなもんでしょ
54デフォルトの名無しさん:2011/03/28(月) 19:38:32.77
GUIなんていらない。
どうしてもGUIじゃなかったらいけないような場合除いてコマンドラインで操作するCUIプログラムでいいよ。
55デフォルトの名無しさん:2011/03/28(月) 19:51:04.07
昔の人はCUIで頑張ってGUI書いてたんだぞw
56デフォルトの名無しさん:2011/03/28(月) 22:19:10.11
>>50
使っていて楽しいっは典型的な林檎病です。お大事に。
57デフォルトの名無しさん:2011/03/28(月) 23:16:57.24
デザイン(笑)
灰色で□のボタンで、上のほうに青っぽいタイトルバーがあって左側にタイトル書いててその一番右に_ □ ×があって
メニューにファイル(F)とか編集(E)とか書いてて・・・
それでいいよ。リボンとかショトカットキーはわからないしでかいから画面を占領する部分が多いしでなんの役にも立たない(笑)

ファイル→切り取りってやるのとでっかいハサミのアイコンクリックするの大差ねーだろ
そもそもある程度慣れてくるとCtrl+Xみたいなショートカットのほうが早いからアイコンそのものがいらない(笑)

デザインなんていらねぇwwwwwww
58デフォルトの名無しさん:2011/03/28(月) 23:20:24.12
このスレの住人もけっこう保守的なんだな。
まあこんな連中には自由度が高いのはかえって障害だろう。
59デフォルトの名無しさん:2011/03/29(火) 01:27:18.32
わざわざ釣りの相手してやんなよ
60デフォルトの名無しさん:2011/03/30(水) 05:38:27.22
ウィンドウズの外観の土台
61デフォルトの名無しさん:2011/04/01(金) 11:39:14.98
3.5→4の載せ替えでコンストラクタにpublic付けないとビルド出来ない部分があった
62デフォルトの名無しさん:2011/04/01(金) 13:28:19.10
誰かwpfの二ちゃんブラウザ作らないかな?
いまだにdelphiベースのJaneなんて飽き飽きだよね、
63デフォルトの名無しさん:2011/04/01(金) 13:29:51.97
言い出しっぺの法則
64デフォルトの名無しさん:2011/04/01(金) 14:11:17.37
listviewにスレッド一覧表示させたらスクロール重すぎて萎えた
いままでにない画期的なUIで作るしかないな
65デフォルトの名無しさん:2011/04/01(金) 18:05:38.60
FlowDocumentがトロすぎる
66デフォルトの名無しさん:2011/04/01(金) 18:10:03.04
>>64
2chのようなデータ構造は多分向いてない
WP7のような画面が狭い場合はバインドを工夫すればなんとかなるだろうけど
67デフォルトの名無しさん:2011/04/01(金) 20:12:38.18
以前試しに作りかけたことがあったけど
スレをWebBrowserに表示させるとWPF使う意味がないし
FlowDocumentに表示させるとHTMLに比べて表現力が低すぎるし
ListViewに表示させると「レスをまたがった文字選択」ができなくて詰んだ
68デフォルトの名無しさん:2011/04/01(金) 21:48:16.56
丁度2chクローラ(サービス)←(WCF)→ブラウザ(WPF)で組んでみようかと妄想してたところだ
69デフォルトの名無しさん:2011/04/01(金) 21:49:52.71
それならSilverlightの方がよくね
WPFを使う意味がわからない
70デフォルトの名無しさん:2011/04/01(金) 21:51:39.98
WPF使える環境でわざわざSilverlight使う方が
意味わかんない。自虐縛りプレイが好きなんだな。
71デフォルトの名無しさん:2011/04/01(金) 21:54:35.86
WPFはMCTS持ってるけどSilverlightは藍澤光ぐらいしか知らんし
7270:2011/04/01(金) 22:01:04.34
>Silverlightは藍澤光
俺、今までWPFしか知らなかったけど今日からSilverlight覚えるわ
73デフォルトの名無しさん:2011/04/01(金) 23:40:34.56
データバインディングいい!
74デフォルトの名無しさん:2011/04/01(金) 23:49:38.40
データバインディングは過剰すぎる
75デフォルトの名無しさん:2011/04/02(土) 00:03:16.76
えーいいじゃん
76デフォルトの名無しさん:2011/04/02(土) 00:06:10.36
あれが過剰ならどうすべきだと思うんだい?
77デフォルトの名無しさん:2011/04/02(土) 00:45:55.58
FormsのBindingを一ヶ所設定するのに2、30行は必要だったことを思えば無茶苦茶シンプル
78デフォルトの名無しさん:2011/04/02(土) 14:19:06.92
.NET4でグラスフレームのウィンドウを作ろうとしたら勝手にウィンドウの大きさが大きくなってたりしてわけわからん
WPF Shell Integration Library
79デフォルトの名無しさん:2011/04/02(土) 14:22:05.99
Win7がないので試せない
80デフォルトの名無しさん:2011/04/02(土) 14:41:31.54
>>78
API Code Pack に機能統合されているから、そっちで試してみたら
http://archive.msdn.microsoft.com/WindowsAPICodePack

使っているけど特に不都合無いよ
81デフォルトの名無しさん:2011/04/02(土) 14:55:19.21
silverlightのスレで2チャンブラウザの話が出てるね
技術的に不可能みたい
82デフォルトの名無しさん:2011/04/02(土) 15:29:19.78
>>80
それのだと普通に出来たな
ありがとう
83デフォルトの名無しさん:2011/04/02(土) 16:53:29.75
OoBか鯖側で取ってくればいいじゃないか
84デフォルトの名無しさん:2011/04/02(土) 23:48:11.81
Listviewがデータ多いと糞遅い。速くするテクニック教えてくれ。
85デフォルトの名無しさん:2011/04/03(日) 00:16:38.77
>>84
ListBoxで代用してがんばれ
86デフォルトの名無しさん:2011/04/03(日) 00:38:56.17
intとstringもつオブジェクトを2万個で試してみたけど全然軽いよ。
どんなの表示してるの?
87デフォルトの名無しさん:2011/04/03(日) 01:26:15.98
釣れますか?
88デフォルトの名無しさん:2011/04/03(日) 02:34:42.95
>>81
どこ? 俺作ってみちゃったんだけど。
89デフォルトの名無しさん:2011/04/03(日) 02:45:50.85
>>88
たぶんここ。
http://hibari.2ch.net/test/read.cgi/tech/1300831451/l50

HTTPのデータ通信でHTTP Refererヘッダの変更をしようとして、
SilverlightはSystem.Net.HttpWebRequest.Refererがなく、
.NET FrameworkはSystem.Net.HttpWebRequest.Header["Referer"]の
変更ができないかららしい。
WPFならHttpWebRequest.Refererでいけるんだけどね。
90デフォルトの名無しさん:2011/04/03(日) 02:55:33.12
Socketクラスも存在してるようだがそっちでHTTPしゃべらせたらどうなるのかね
91デフォルトの名無しさん:2011/04/03(日) 02:58:37.84
Silverlightの問題はクロスドメインだな
OOBすれば問題ないだろうけど
92デフォルトの名無しさん:2011/04/03(日) 03:00:59.07
SocketはSocketでこういう制約があるのか 難儀なことだ
> Silverlight でのソケットの使用に関する制限事項として、
> ネットワーク アプリケーションに接続を許可するポートを
> 4502 〜 4534 の範囲内にする必要があります。
> これらのポートだけが、Silverlight アプリケーションからの
> ソケットを使用した接続に許可されます。
> ポートへの接続がポート範囲内でない場合、接続は失敗します。
93デフォルトの名無しさん:2011/04/03(日) 03:15:42.58
>>91
OOBでもアクセス先の2chサーバーがclientaccespolicy.xml
置いてくれないとだめなんじゃない?
Silverlight 5はネイティブが呼び出せるようになるから、
そこからソケットでTCP 80通信は可能になるかな。
ここまでくるとWPFアプリをダウンロードした方がマシ。
94デフォルトの名無しさん:2011/04/03(日) 04:45:08.62
>>93
OOBにすれば、clientaccespolicy.xmlが2chサーバに無くてもレスDATをGETできるけど、
それは単純にレスDAT全てをGETできるだけであってHeader変更が出来ないから
最新のレスDATだけを取得するとか、書き込みもできないってことでしょう。
俺もHeaderが変更出来ないのは微妙な仕様だなと思うね。
95デフォルトの名無しさん:2011/04/03(日) 06:12:05.25
WP7でもReferer変更出来なくて困るんだよね、もう少し緩めて欲しい。
96デフォルトの名無しさん:2011/04/03(日) 12:52:26.01
http://msdn.microsoft.com/ja-jp/library/dd920295(v=VS.96).aspx

この、クライアントHTTPハンドリングっての使えばGET POST以外も使えるんじゃないっけ?
97デフォルトの名無しさん:2011/04/03(日) 12:59:06.46
>>96
それをどのようにすればReferer変更出来るようになるのかご伝授して頂きたいもんです。
教えてください。
98デフォルトの名無しさん:2011/04/03(日) 13:11:05.87
Refererが変更できなくて困るんじゃなくて、
Refererを改ざんしないとWebサービスが成り立たない
2chの方がおかしいと思うのだが。
99デフォルトの名無しさん:2011/04/03(日) 13:11:42.61
いいこと言うね。
100デフォルトの名無しさん:2011/04/03(日) 13:12:58.89
>>98
いやそれはない
datの差分取得はhttp標準の機能
101デフォルトの名無しさん:2011/04/03(日) 13:14:05.93
なぜRefererを変更する必要があるのか。
102デフォルトの名無しさん:2011/04/03(日) 13:14:09.00
ああ、でも古いやり方といわれるとそうかも
webapiのようなのでdatの差分を返すものはあってもいいかもね・・・

ページとしてなら返す機能はあるけど
103デフォルトの名無しさん:2011/04/03(日) 13:30:36.84
2chもさっさと糞みたいなファイルベースのPerlスクリプト捨てればいいのに
104デフォルトの名無しさん:2011/04/03(日) 13:33:49.81
ASPよりマシだろう?
105デフォルトの名無しさん:2011/04/03(日) 14:11:53.63
GoogleのSearch APIもReferer入れないと弾かれる
他にもあるかもね
106デフォルトの名無しさん:2011/04/03(日) 14:35:05.62
それよりもJaneStyleのようなDelphiベースのアプリケーションの時代なんて終わらせちゃおうぜ。
誰かWPFのブラウザ作ってくれよ。
お前ら頭いいんだから、簡単だろ。
107デフォルトの名無しさん:2011/04/03(日) 14:37:10.59
作れないことも無いけど
Jane使ってそうな層はごちゃごちゃしてるコンフィグが好きそうだから嫌
108デフォルトの名無しさん:2011/04/03(日) 14:44:59.07
Chaika派としてはWPFで作るメリットが全くない
109デフォルトの名無しさん:2011/04/03(日) 14:54:38.56
WPFでJaneみたいなの作るひちょうせいないねえ
110デフォルトの名無しさん:2011/04/03(日) 14:58:49.01
知人から聞いたけど、2ちゃんブラウザって意外と作るのは大変みたいだよ。
Styleだって、JaneDoeのソースコードを丸々貰って改変しただけのものだから。
111デフォルトの名無しさん:2011/04/03(日) 14:59:38.69
.net製専ブラは遅くて使えないってのが定説で今まで全然普及しなかった。
あれから8年経ったけど、それは今でも変わらない。
なぜならPCが速くなるたびに、GUIライブラリがより多機能により遅くなるからだ。
112デフォルトの名無しさん:2011/04/03(日) 15:03:37.44
普及っつうか、まずリリースされてるのないじゃん
放棄されたTwintailくらいだろ
113デフォルトの名無しさん:2011/04/03(日) 15:06:28.76
そうか?
ここので遊ばせてもらったけどそうでもなかったぞ
http://cs2ch.blog123.fc2.com/blog-entry-1.html
114デフォルトの名無しさん:2011/04/03(日) 15:07:35.70
作れる人がいないんだろうね。
まー、世間一般なんて.net/WPFの存在すら知らないんだろうし。
こうやってWPFについて語っている俺たちはインテリの部類なのかもな。
115デフォルトの名無しさん:2011/04/03(日) 15:21:40.42
最初にソフトの要件を決めて、
それに合ったフレームワークを選ぶのが定石

最初に採用フレームワークだけ決めるとか馬鹿だろ
116デフォルトの名無しさん:2011/04/03(日) 15:36:38.41
2chブラウザって作ると儲かるんだぜ
なぜ皆作らない?Styleの中の人だって●収入が莫大なんだからさ
117デフォルトの名無しさん:2011/04/03(日) 15:37:06.92
2chブラウザって表示部分はHTMLでやるじゃん
WPFで作る意味が全くないから、意欲が沸かない
118デフォルトの名無しさん:2011/04/03(日) 15:39:15.45
儲かるんだぜって、それは儲けたい人に教えてやれ
119デフォルトの名無しさん:2011/04/03(日) 16:49:02.45
>GoogleのSearch APIもReferer入れないと弾かれる
Refererが要求される時点で、WebサービスでなくWebブラウザ
を前提としている。こんなものはAPIとは呼べない。
GoogleはWebサービスの基本を理解していないとしか思えない。
120デフォルトの名無しさん:2011/04/03(日) 16:50:36.44
APIに要件なんかあるのか
知らんかった
12188:2011/04/03(日) 16:57:34.90
>>89
さんくす。
書き込みの時の Referer ってことかな。
なるほどねえ。
122デフォルトの名無しさん:2011/04/03(日) 19:28:20.65
2ちゃんのdatを読んでも別にhtmlで全べた出力する必然なんてまったくないけどな
あるいは金儲けのためならWPFで作らなきゃならない理由もない
123デフォルトの名無しさん:2011/04/03(日) 19:54:36.00
とはいえ、ハイパーリンクや画像のサムネイルへのリンクなどが必要だから
html出力させた方が簡単だ
124デフォルトの名無しさん:2011/04/03(日) 20:09:19.65
マウスオーバーで画像やアンカーのプレビューとかやりだしたら
HTMLだと余計に面倒じゃね?
そこもHTMLでやるならいいけどさすがにそれはWPFの意味が無さすぎる
125デフォルトの名無しさん:2011/04/03(日) 20:14:59.62
元々意味なんてねえけどな
126デフォルトの名無しさん:2011/04/03(日) 20:17:51.65
結局、レス画面にはIEオブジェクトをCreateするんでしょう?
127デフォルトの名無しさん:2011/04/03(日) 20:29:37.13
WPF紳士がそんな安直なマネはせんだろ
128デフォルトの名無しさん:2011/04/03(日) 20:39:54.60
おれが作るなら「ItemsControlで何が不満なんだ」ってレベル
129デフォルトの名無しさん:2011/04/03(日) 23:20:13.72
マウスでぐりぐり選択できない
130デフォルトの名無しさん:2011/04/03(日) 23:29:50.93
>>124
datをhtml化してブラウザコンポーネントに処理させた方がいい
そのくらいの処理ならjsが出回ってるしナビゲートさせればjsも動く(ただしIE用だけど)

>>113にその辺の話あったよ
131デフォルトの名無しさん:2011/04/03(日) 23:43:43.85
Janeで何も不満はありません。
132デフォルトの名無しさん:2011/04/04(月) 01:17:16.06
..NET4.0のMCP受けた人っている?
133デフォルトの名無しさん:2011/04/04(月) 05:49:56.08
janeはもう古い
リボンコントロールがついたwpf版が欲しい。
134デフォルトの名無しさん:2011/04/04(月) 08:37:03.22
俺も2ちゃんブラウザを作ろうとした事があるけど、winformな。
挫折しました。
かなりの実装作業量が必要。
135デフォルトの名無しさん:2011/04/04(月) 12:21:16.33
FlowDocumentで長いデーター扱った事あるけど、
相当重い。
136デフォルトの名無しさん:2011/04/07(木) 10:27:41.93
Win8はエクスプローラもリボン化してるが
IDEのリボン対応強化されないもんかな
137デフォルトの名無しさん:2011/04/07(木) 10:58:32.02
>>136
機能が少ないソフトだとリボンは邪魔なだけ。適材適所でUI考えて欲しいわ
138デフォルトの名無しさん:2011/04/07(木) 20:05:42.35
しばらくWPFに触ってなかったら1年前に書いたコントロールテンプレートが何してるかさっぱり分からなくなってしまった。
RelativeSource やら Binding やら ItemsPresenter とか全く覚えてない…。だれかボスケテ。
139デフォルトの名無しさん:2011/04/08(金) 10:01:11.47
基本は自分で学習しなおせ
140デフォルトの名無しさん:2011/04/08(金) 14:39:47.47
むしろ、おれはwinformの仕様を忘れてきている
141デフォルトの名無しさん:2011/04/08(金) 20:57:01.07
WinFormなんて過去の負の遺産は忘れてよし。
142デフォルトの名無しさん:2011/04/08(金) 20:59:35.75
メジャーこそ正義。
143デフォルトの名無しさん:2011/04/09(土) 01:12:33.71
孫こそ正義。
144デフォルトの名無しさん:2011/04/09(土) 01:41:10.05
はげ
145デフォルトの名無しさん:2011/04/09(土) 13:54:30.59
WPFで入力の検証を実装するの面倒だな
無効だったら何も反応しないだけでいいか
WPFの思想と真逆だろうけど
146デフォルトの名無しさん:2011/04/09(土) 23:40:58.79
ぜんぜん面倒じゃないよ
三日経ったらやり方を忘れてるだけ
147仕様書無しさん:2011/04/10(日) 01:52:00.92
winform → WPFコンバーターってまだ無いの?
148デフォルトの名無しさん:2011/04/10(日) 02:36:41.66
ない
149デフォルトの名無しさん:2011/04/10(日) 10:13:07.08
俺もあったら欲しいな
150デフォルトの名無しさん:2011/04/10(日) 11:48:14.86
MVVMじゃないWPFとか・・・
151デフォルトの名無しさん:2011/04/10(日) 11:52:32.30
別にMVVMは万能解じゃねえし

金科玉条にすると相談室で暴れてる馬鹿ガキと、VはCに依存してはいけないとかほざいてる自称プロみたいになるぞ
152デフォルトの名無しさん:2011/04/10(日) 14:30:59.52
コマンドバイディングは兎も角、データバインディング使わなかったらwpfじゃないぞ
153デフォルトの名無しさん:2011/04/10(日) 15:56:26.45
データバインディングとかいらね
154デフォルトの名無しさん:2011/04/10(日) 15:59:12.62
>>137
リボンはメインメニューのダブルクリックで簡単にツールバーを最小化出来るのが良い。
ThinkPadXみたいな画面のクソ狭いノートPCだと特に。
155デフォルトの名無しさん:2011/04/11(月) 21:53:30.89
Viewで完結していること、例えばボタンを押すとダイアログを開くとか
起動時、終了時にGUIの設定(windowのサイズだとか)を
settingsに読み込み保存したりするとかも、コードビハインドでやるのは
MVVM的にはいけないことなんでしょうか?
156デフォルトの名無しさん:2011/04/11(月) 21:56:48.02
完全にその特定のView固有の処理だったらViewでいいと思う
Prismにも「Viewを差し替えたときに一緒に変わるようなものはViewに書け」とある
157デフォルトの名無しさん:2011/04/11(月) 21:57:02.32
>>155
駄目なんてことはないよ
仕事で使う場合はルールはあるかもしれないけどさ
158デフォルトの名無しさん:2011/04/12(火) 11:42:30.71
だが >>155 が挙げた例はModelじゃないかな
少なくともSettingsは明らかに。
159デフォルトの名無しさん:2011/04/12(火) 11:43:45.37
×Model ○VM
160デフォルトの名無しさん:2011/04/12(火) 17:27:05.74
入力状態とかはVMとしても
ウィンドウサイズは完全に特定のビュー固有のものじゃね?
161デフォルトの名無しさん:2011/04/12(火) 20:35:07.20
俺も>160と同じ考え。
VMやModelに依存しないなら、View で十分。
162デフォルトの名無しさん:2011/04/13(水) 03:25:25.66
MVVMで作る理由が「流行だから」じゃないなら明確な指針があるでしょ
それに沿うように実装すればいいじゃない
163デフォルトの名無しさん:2011/04/13(水) 21:20:59.92
そんな細かい指針なんかあるわけないじゃん
MVCなんかもっと抽象的でユルユルだぞ
164デフォルトの名無しさん:2011/04/13(水) 21:51:16.59
結局MFCみたいなモデル構造が最善。それにいきつく。
Java見れば明らか。
165デフォルトの名無しさん:2011/04/13(水) 22:24:46.95
何?ウンコSwingの話?
166デフォルトの名無しさん:2011/04/13(水) 22:28:36.74
Javaのライブラリは、
デザパタ信者が設計すると使えないものができあがるという典型例の宝庫。
167デフォルトの名無しさん:2011/04/13(水) 22:36:05.88
俺はWPFでバインディング使わずにイベントハンドラを
ゴリゴリ書いてるのがちょうどいいわ
168デフォルトの名無しさん:2011/04/13(水) 22:48:30.39
レイアウトだけで使う価値あるよね
169デフォルトの名無しさん:2011/04/13(水) 23:04:15.08
まあなれるとバインドでなるべく収めたくなるけどね
元からある仕組みでコードが完結するならその方がいい

自分で書けば書くほどバグを入れないようにしないといけなくなるから
170デフォルトの名無しさん:2011/04/15(金) 00:03:00.91
>>156
そうなの?ViewModel = Viewのモデル、って説明をみて
Viewを統括・制御するような部分は全部viewModelに入れていた。

View上の要素があちこち連動するような場合に、それをViewModel内で解決せずに
View側でやるとなるとViewがかなり複雑なロジックを持つことになりそう。
171デフォルトの名無しさん:2011/04/15(金) 00:08:29.29
細かいView固有のレイアウト情報とかをVMで持ったところで
どうせそんなのView無しじゃテストできないじゃん
172デフォルトの名無しさん:2011/04/15(金) 00:12:41.25
これまでよりコーディングの量が減るかと思いきや増大してしまうのがWPF
173デフォルトの名無しさん:2011/04/15(金) 00:20:11.86
でも悩まずサクサクかける気がする
174デフォルトの名無しさん:2011/04/15(金) 00:24:25.04
サクサク書けるってことはサクサク読めないってこと。
perlしかり。basicしかり。
175デフォルトの名無しさん:2011/04/15(金) 00:27:58.88
ならMFCの方がサクサク読めるのかと
176デフォルトの名無しさん:2011/04/15(金) 01:17:28.01
MFCは読みやすいよ。
ごちゃごちゃしたところはすべてマクロで隠されているからな。
177デフォルトの名無しさん:2011/04/15(金) 03:11:46.01
コードの量で語るとか素人かよ
見通しがいいかどうかが問題だろ
178デフォルトの名無しさん:2011/04/15(金) 03:19:02.58
コード量と見通しは相関性高いのになに言ってんだか。
リーナスが昔から言ってんじゃん。
179デフォルトの名無しさん:2011/04/15(金) 03:35:46.99
コード量と見通しの相関はおおむねその通りなんだけども、
コード量大幅に減るのに見通しあんなに落とせるCのマクロはすごいよね。
180デフォルトの名無しさん:2011/04/15(金) 03:43:31.30
C#に可読性で勝負を挑むのって無謀としか思えんな。
181デフォルトの名無しさん:2011/04/15(金) 04:00:14.90
おまえらが「短く書けたぞ」って悦に入るのも、大量のコードで書かれた標準ライブラリや
フレームワークのおかげじゃないか。なら自前で見通しがいいライブラリ作ればいいだけだろ

コード増やしたくないとか1行いくらで給料払ってる経営者かよ
182デフォルトの名無しさん:2011/04/15(金) 07:57:07.72
C#のusing最強
183デフォルトの名無しさん:2011/04/15(金) 12:37:52.45
つい最近になってusingで型にエイリアス付けられるのに気づいた。
using Unko<T> = Tuple<Unchi<T>, Unpo<T>>とかは出来ないけど。
184デフォルトの名無しさん:2011/04/15(金) 13:47:52.71
そのクラス名はマズイ、やたらと噛み付く人が現れるぞ
185デフォルトの名無しさん:2011/04/15(金) 14:03:58.64
UnkoとUnchiはともかくUnpoって何だよ市ね
186デフォルトの名無しさん:2011/04/15(金) 22:04:33.22
TabControlの子コンテンツに任意のUserControlを設定したいのですがどのようにすれば良いでしょうか?

とりあえず書いてみたのですがxamlで任意のUserControlを追加する方法が解りませんでした。
http://ideone.com/zXUby
187デフォルトの名無しさん:2011/04/16(土) 01:11:22.46
そこにセットできるのはDataTemplate型。
そのユーザコントロールを持つDataTemplateを渡せばおk。

ただ、これは根本的にWPFの使い方を間違えていると思うぞ。
188デフォルトの名無しさん:2011/04/16(土) 01:54:30.69
ありがとうございます。
なるほど。DataTemplateを動的に生成してUserControlを渡せばいいんですね。

プラグインで拡張性を意識した作りにしているのですが、どのように実装するのが良いですかね?
189デフォルトの名無しさん:2011/04/16(土) 01:55:45.29
そういうのはよくありがちな初心者によくある
何でもかんでもMVVMにしちゃうという。
束縛の意味を理解しなおす必要がある。
190デフォルトの名無しさん:2011/04/16(土) 07:51:20.95
> どのように実装するのが良いですかね?
MEF

ただし>>186をみると技術を使っているんじゃなくて
技術に使われてる状態だから、MEFを使いこなせるとは思えない。
191デフォルトの名無しさん:2011/04/16(土) 09:09:11.32
>>186
<DataTemplate>
<ContentPresenter Content="{Binding Control}"/>
</DataTemplate>
192デフォルトの名無しさん:2011/04/16(土) 15:53:46.99
usingによる別名もあまり知られていないが、
extern alias はさらに知られていないし使われもしないな。
193デフォルトの名無しさん:2011/04/16(土) 16:00:06.20
ContentPresenterって便利だね。構造はXAMLで書きたいけど
インスタンスはコードで用意したいってときによく使ってる。
194デフォルトの名無しさん:2011/04/16(土) 16:09:10.73
>>192
同じライブラリだけどバージョンが異なる複数のDLLを一緒に使う必要がある場合に使う
C#はそういう泥沼対策のための機能がとっても多い
195デフォルトの名無しさん:2011/04/16(土) 16:59:30.06
カスタムコントロールのコントロールテンプレートを
<ItemsControl ItemsSource="Children"><ItemsControl.ItemsPanel><ItemsPanelTemplate><Grid /><.../><.../><.../>
とした時に、内部の Grid の RowDefinitions や ColumnDefinitions をカスタムコントロールで定義してある RowDefinitions や
ColumnDefinitions に binding させたいのですが、どうすれば良いでしょうか?
196デフォルトの名無しさん:2011/04/16(土) 19:48:24.80
依存プロパティでなければ直接Bindはできない。
自前で添付ビヘイビアを作るなど手間をかければBindはできるが、手間に見合うとは思えん。
197315:2011/04/17(日) 11:44:00.89
依存関係プロパティにはしてんですが
Bindingの指定がうまくいかなくて。
Relativesourceでanscesterで引っ掛かってくれない。
198デフォルトの名無しさん:2011/04/17(日) 11:52:06.16
チェーンの範囲に入ってるんだろうか
199デフォルトの名無しさん:2011/04/17(日) 13:58:31.13
Grid.ColumnDefinitions/RowDefinitionsにはそのままBindはできない。

それと、情報を後出しにするな。
君は楽できていいだろうが、>>195,197のように情報を小出しにすれば
回答者に手間をかけさせ、挙句>>197のように後から違うと言い出して回答者に不快な思いをさせることになる。
200デフォルトの名無しさん:2011/04/17(日) 14:59:55.04
>>158

モデルにおくというのは一つの考えなのですが、
WindowのLoadedとClosedをVMやMに通知するのは簡単ではないですよね。
behaviorを使ってイベントにコマンドを結びつけたりすればできるのかもしれませんが
コードビハインドでサクっと書くのに比べてあまりにうえんで馬鹿馬鹿しい。
常時Settings(xmlファイル)とバインドしておくのはパフォーマンス的にコストが高すぎの
ような気もしますし。

201デフォルトの名無しさん:2011/04/17(日) 19:55:03.15
そもそも初期設定を読み込むのにloaded使うの間違ってね?
M作ってからV呼び出すもんじゃないの
202デフォルトの名無しさん:2011/04/17(日) 22:59:23.76
>>199
すいません。
ItemsPanelTemplate の中のものって Template.FindName() でもひっかからないし、
扱い違うのかと思って。
203デフォルトの名無しさん:2011/04/18(月) 14:56:59.55
MVVM的にはMがVを呼び出すなんてありえんだろ。
204デフォルトの名無しさん:2011/04/18(月) 15:02:00.19
どうでもいい。
205デフォルトの名無しさん:2011/04/18(月) 15:23:06.14
>>201はthis.DataContext = new Model()ってこったろ
206デフォルトの名無しさん:2011/04/18(月) 22:46:16.37
IE8のお気に入りのとこだけWPFっぽく見える
XP使ってた時お気に入り開いたとき重かったし
207デフォルトの名無しさん:2011/04/18(月) 22:48:43.23
落ち着いて常識的に考えようよ
ありえない
208デフォルトの名無しさん:2011/04/18(月) 23:03:14.29
素のXPインストール直後にIE8入れて.netのランタイムが入るかどうか確認すればわかるんじゃね?
209デフォルトの名無しさん:2011/04/18(月) 23:22:10.20
関係ない奴でもフォントが滲んでるとWPFっぽく感じられる
210デフォルトの名無しさん:2011/04/19(火) 00:36:03.47
exeのヘッダバイナリエディタで覗けば.NET使ってるかわかるんでね?
211デフォルトの名無しさん:2011/04/19(火) 05:08:44.15
.netを勘違いしてる奴がいるな。
212デフォルトの名無しさん:2011/04/19(火) 23:49:35.21
dumpbin /importsで見てmscoree.dllを使用していたら.MET
213デフォルトの名無しさん:2011/04/20(水) 01:22:27.76
ツリービューのアイテムに子要素を追加するにはどうすればいんですか?

( (ItemCollection)TreeView.Items[0] ).Add( ”子要素1” );

変換できないといわれます
214デフォルトの名無しさん:2011/04/20(水) 01:52:18.92
215デフォルトの名無しさん:2011/04/20(水) 04:42:15.05
Mono上でのWPFは? 資金援助しだいだ - InfoQ
http://www.infoq.com/jp/news/2011/03/WPF-Mono
216デフォルトの名無しさん:2011/04/20(水) 12:19:41.96
前は実装しないって明言してた気がする
別にGTKでいいよ
217デフォルトの名無しさん:2011/04/20(水) 13:35:33.32
>>214
だめです、どうしてもインテリセンスでAddchildが出てきません
しかも検索してもMSDN以外まったく情報がでてこずサンプルがありません
WPFのtreeviewはFormのとは完全に別物なんでしょうか?
218デフォルトの名無しさん:2011/04/20(水) 13:39:44.84
wpfのコピー作るのなんて金もらってもやりたくない仕事。まあ作る才能もないけどね。
ビジュアルブラシとか考えただけで鬱になれる自信がある
219デフォルトの名無しさん:2011/04/20(水) 13:45:21.87
Blendクローンが出来たら無茶苦茶欲しいが
220デフォルトの名無しさん:2011/04/20(水) 13:46:54.01
WPF「が」別物
Formsの延長じゃない
221デフォルトの名無しさん:2011/04/20(水) 13:54:14.57
>>217
>だめです、どうしてもインテリセンスでAddchildが出てきません

AddChildはprotectedだから出てくるはずない
>>214がアホなので罵倒していい

>しかも検索してもMSDN以外まったく情報がでてこずサンプルがありません

アプローチが間違っているから出てこない
http://blogs.wankuma.com/pizyumi/archive/2009/05/16/173083.aspx

>WPFのtreeviewはFormのとは完全に別物なんでしょうか?
はい
222デフォルトの名無しさん:2011/04/20(水) 21:08:22.21
>>221
ありがとうございます!Form.treeviewを埋め込むことにしました
223デフォルトの名無しさん:2011/04/20(水) 22:02:05.78
TreeViewはバインドして使うんだよ
ObservableCollectionとかに勝手に好きなクラスのインスタンスを突っ込んでバインドする
AddChildとかいらない
224デフォルトの名無しさん:2011/04/20(水) 22:06:45.01
WPFやってる意味がねーよな
なぜ大人しくFormsを使わない
225デフォルトの名無しさん:2011/04/20(水) 22:09:53.69
俺もWPF始めたばかりの頃はバインディングに抵抗あったから
気持ちはわかるが慣れろ
226デフォルトの名無しさん:2011/04/20(水) 22:11:07.77
ちゃんと木構造にするにはHierarchicalDataTemplateの設定とアイテムの子(のコレクション)を表すバインドも必要
227デフォルトの名無しさん:2011/04/20(水) 22:23:53.46
WPFについて、何か良い入門書ってあるのでしょうか?
和書では何を見てもエッセンシャルWPFに辿り着くのですが、入門書とするには少し敷居が高いようなので・・・。
すいませんが、よろしくお願いします。
228デフォルトの名無しさん:2011/04/20(水) 22:24:01.78
勉強やめたら人間終わりだぞ
>>221だってC#を始めた頃はC#分からなかったし
WinFormsを始めた頃はWinForms分からなかっただろ?w
229デフォルトの名無しさん:2011/04/20(水) 22:28:24.54
エッセンシャルWPFもそろそろ古典になりかけ
230デフォルトの名無しさん:2011/04/20(水) 22:31:49.00
そんなのコキ使う側の方便だね。
勉強ばかりしてたら、どんどん人間性が喪失するね。
231デフォルトの名無しさん:2011/04/20(水) 22:35:15.14
カルチャー番組見てる年寄りなんて勉強のしすぎで最早ロボットですなw
アホかっちゅーねん
232デフォルトの名無しさん:2011/04/20(水) 22:55:06.98
http://blogs.wankuma.com/pizyumi/archive/2009/05/16/173083.aspx
ここを見て子ノード追加の独自クラスを作って使っているみたいなのでそこの部分だけformのTreeViewを埋め込んだんですが
これはバインディングというやつではないんですか?

System.Windows.Forms.TreeView test = new System.Windows.Forms.TreeView();
test.SelectedNode.Nodes.Add( s );
TreeView.ItemsSource = test.Nodes;
233デフォルトの名無しさん:2011/04/20(水) 23:07:56.97
うん
ぜんぜんちがう
234デフォルトの名無しさん:2011/04/20(水) 23:10:04.95
すごい発想だなw
普通に自作クラス使いなさい
235デフォルトの名無しさん:2011/04/20(水) 23:14:14.37
WPFで何やろうとしてるのか知らないけど
FormsでWPFでやろうとしてることの実現方法探した方が早いんじゃないのか
236デフォルトの名無しさん:2011/04/20(水) 23:47:28.30
あ!インテリセンスやっと通りました

TreeView.Items.Add( s );
( (ItemCollection)TreeView.Items[0] ).Add( "a" );

お騒がせしました
237デフォルトの名無しさん:2011/04/20(水) 23:49:45.41
どう見ても動かないけど何故か動きませんって来るなよ
238デフォルトの名無しさん:2011/04/20(水) 23:52:43.29
げ!>>213とコード同じだったなぜ今度は通ったのだろう・・・
239デフォルトの名無しさん:2011/04/21(木) 00:00:06.55
( (TreeViewItem)ExplorerFolderTreeView.Items[0] ).Items.Add( "b" );

ちくしょーーーーーなんで変換できねーンだこのクラス作ったやつ出てこいや
AddChildプロテクトならMSDNにのせてんじゃねーぽ
240デフォルトの名無しさん:2011/04/21(木) 00:23:06.55
.Items.Add(new TreeViewItem { Header = new TextBlock {Text = "b" } });
new TextBlock {Text = "b" }は省略して"b"でもいい
241デフォルトの名無しさん:2011/04/21(木) 00:40:46.51
>>240
ありがとうございます!!!!!!!!!!!!!!!!!!!!!!
242デフォルトの名無しさん:2011/04/21(木) 00:41:31.97
>>239
何でもかんでも適当にキャストしちゃ駄目w
243デフォルトの名無しさん:2011/04/21(木) 00:51:04.84
やっとバインドの意味がわかった
Addはツリーノードを追加してくれて文字列を指定すればそのcontent(ヘッダー)にデフォルトで入れてくれるものだと思ってた
今までずっとツリービューにstringクラスを追加していたわけか・・・・
244デフォルトの名無しさん:2011/04/21(木) 00:54:42.29
それもまた微妙な解釈だけどね
TreeViewItemなんかインスタンスに一切触らなくても行ける
245デフォルトの名無しさん:2011/04/21(木) 00:55:58.02
<TreeView ItemsSource="{Binding Nodes}" />
246デフォルトの名無しさん:2011/04/21(木) 01:17:42.07
Bindingって中身が見えなさ過ぎて気持ち悪い。
まあ見えても俺には理解出来ないんだけど
247デフォルトの名無しさん:2011/04/21(木) 01:25:11.26
中身が見えすぎ(=依存しすぎ)て困ってたから生まれたわけですし

それが嫌ってのは体質に合ってないってことよ
248デフォルトの名無しさん:2011/04/21(木) 01:29:49.44
深く理解せずに使っていいんだろうかーなんて思って。
知らなくてもバリバリ使っていーよってことか。
249デフォルトの名無しさん:2011/04/21(木) 06:21:18.09
データバインディングは理解できたけど、
コマンドバインディングが難しい。いや、仕様は理解できたが、実装が難しい。
250デフォルトの名無しさん:2011/04/21(木) 07:28:20.72
DelegateCommandでええやん
251デフォルトの名無しさん:2011/04/21(木) 09:29:24.35
Expression Blendの内部ではDelegateCommandのようなことはしないで
直接Commandパターンと結び付けてるみたい
つまりOpenFileCommand : ICommandみたいなクラスが沢山ある
2chブラウザのようなコマンドの多いアプリになるとその方がいいかもね
252デフォルトの名無しさん:2011/04/21(木) 13:29:25.38
いや、コマンドバインディングの仕組みを理解するのは問題ない。
理解することよりも、そのコマンドバインディングを使って、アプリケーションをどの様に設計すれば効率のよいシステムができるか出来るかどうかが悩みどころ。
253デフォルトの名無しさん:2011/04/21(木) 13:41:26.89
Commandは機能を定義して実装を分けるってお題目はどこへ行ったんだ?
254デフォルトの名無しさん:2011/04/21(木) 15:25:28.67
そのCommandだけで完結しているなら無意味に実装分ける必要なんてないじゃない。
255デフォルトの名無しさん:2011/04/21(木) 17:54:45.93
業務の入力フォームみたいに一画面につき一機能のシンプルなものならともかく
例えばお絵描きアプリのように一つの画面で多数のコマンドがある場合は基本>>251スタイルでいいと思う
いくらでも拡張できるし構造もシンプルだし
256デフォルトの名無しさん:2011/04/22(金) 00:14:54.22
JISで認められてるのはFormsなんでしょ?
WPFってやる価値あるの?
257デフォルトの名無しさん:2011/04/22(金) 00:18:54.56
まったくない
258デフォルトの名無しさん:2011/04/22(金) 00:23:54.95
そんなこと言ったらJavaもBeans以外無価値になっちまうだろうが
259デフォルトの名無しさん:2011/04/22(金) 02:37:36.69
趣味で使うにはいいかなーと思うんだけど。
260デフォルトの名無しさん:2011/04/22(金) 05:21:54.23
Separatorを縦棒にするにはどうすればいいですか?
261デフォルトの名無しさん:2011/04/22(金) 11:15:30.04
親のControlのフロー方向で勝手に縦になったり横になったりする
262デフォルトの名無しさん:2011/04/22(金) 11:41:51.55
WPFはちょっと自信のあるパソコン大先生の鼻っ柱をたたき折るほどの迷宮
そして酸っぱいぶどうになってしまう
263デフォルトの名無しさん:2011/04/22(金) 11:58:35.41
まもなく、WPF の二ちゃんブラウザがでるからよ
楽しみにまっているんだな
264デフォルトの名無しさん:2011/04/22(金) 12:23:46.69
また遅くて使えないってことにならないようにな。
265デフォルトの名無しさん:2011/04/22(金) 12:30:44.24
「遅すぎ」「糞PC乙www」の流れになるに一票

WPFアプリに慣れるとWinFormsですら速く感じるよ
それでも、WPFの代わりは無いので使うけど
266 忍法帖【Lv=16,xxxPT】 :2011/04/22(金) 12:33:42.35
お、WPF2ちゃんブラウザできあがるのか
267デフォルトの名無しさん:2011/04/22(金) 12:37:04.02
誰か作ってんの?
俺はエロ画像整理ツールで忙しいんだ
268デフォルトの名無しさん:2011/04/22(金) 13:20:55.10
gpu使うわけだから、delphiやwinformのように遅くなることは理論上ないはずなのだが、、、
269デフォルトの名無しさん:2011/04/22(金) 13:28:24.81
Vistaのときからそう言う馬鹿なこと言う馬鹿が沢山いたが、
馬鹿にされたとおりベンチは馬鹿遅かったよな。
270デフォルトの名無しさん:2011/04/22(金) 13:33:21.54
理論上遅くなるのに速くなるって言ってたのは
GDI触ったことない馬鹿だけだろ。
271デフォルトの名無しさん:2011/04/22(金) 13:34:37.61
>>269
遅いのはバインドのせいなのかなぁ?
272デフォルトの名無しさん:2011/04/22(金) 13:53:13.07
XMLのせいです。
273デフォルトの名無しさん:2011/04/22(金) 13:57:23.22
おっせーのは基本がDIBだから
WinFormは基本DDBだしDDBは可能ならGPUにメモリ確保するようになってるからはえーのよ

ちなみにDDBはDIBの1000倍早いよ
http://lamoo.s53.xrea.com/develop/gdiplus/gdiplus_blt.html
274デフォルトの名無しさん:2011/04/22(金) 13:58:09.20
WinFormsっていうかWinFormsがラップしてるコモンコントロールとかの描画の話ね
275デフォルトの名無しさん:2011/04/22(金) 14:08:36.54
おまえらほんとWPF全然触ってないのな。
デバッグ時に表示されてるように遅延ロードしてるからに決まってるだろ。
起動時に重いのはフォントキャッシュサービスを起動してるからだ。
276デフォルトの名無しさん:2011/04/22(金) 14:09:00.71
WinFormsでオーナードローとしようとすると何これおっせーってなんのも同じ理由
GDIにGDI+のレイヤーが被って処理してるから
277デフォルトの名無しさん:2011/04/22(金) 14:13:48.79
GPUを描画に使うってよく言うけど、どういうパスで描画してるのか理解してるんか?
278デフォルトの名無しさん:2011/04/22(金) 14:14:32.85
・BinaryXAMLの読み込みが遅い
・テキスト幅の計算が遅い
・Imageコントロールは画像の読み込みを遅延させてるくせにUIスレッドに負荷をかけるので遅い
・多くのコントロールがControlTemplateを使ってるのでVisualが複雑になりすぎて遅い
・GDIと違って、画面の一部を優先的に再描画できないので体感速度が遅い
・負荷がかかると、レスポンスよりスループット重視になるので、再描画の頻度が下がってもっさり
・レイアウトエンジンは使い方を気を付けないと計算量が爆発するので遅くなる
・ライブラリが大きいので起動が遅い
・GPUが活用できるのは単純なアニメーション程度なので、結局大してGPUは活用できなくて遅い

WPFの遅さの原因は一言では表せない
性能重視で1から設計しなおしてほしいレベル
279デフォルトの名無しさん:2011/04/22(金) 14:20:41.90
Imageコントロールは脳障害が作ったとしか思えない
280デフォルトの名無しさん:2011/04/22(金) 14:22:31.69
原因は言わなくてもいいよ、結果だけ言えば。

「WPFはやっぱり遅かった」ってな。
281デフォルトの名無しさん:2011/04/22(金) 14:22:59.50
>>280
お前邪魔
282デフォルトの名無しさん:2011/04/22(金) 14:23:02.52
かといって便利っちゃあ便利なので戻る気にもなれない

これからどこに行けばいい
283デフォルトの名無しさん:2011/04/22(金) 14:25:49.90
>>281
そのレスの速さからして、おまえの専ブラはGDI描画だな。
284デフォルトの名無しさん:2011/04/22(金) 14:29:34.46
>>279
自分で作れば、自分も脳障害だったと分かるよ。
285デフォルトの名無しさん:2011/04/22(金) 15:35:14.91
http://msdn.microsoft.com/ja-jp/library/aa970683.aspx
おまえらこのページとか読んでるの
286デフォルトの名無しさん:2011/04/22(金) 15:58:11.55
既に全部まっかっかです
287デフォルトの名無しさん:2011/04/22(金) 16:00:08.26
>>278
一行目から俺用語www

BinaryXAMLをウェブ全体から検索
約 2 件 (0.15 秒)

その内1件はこのスレ
288デフォルトの名無しさん:2011/04/22(金) 16:06:29.16
半角スペース入れれば出てくるだろw
289デフォルトの名無しさん:2011/04/22(金) 16:18:12.17
ゆとりって分からない単語をググって引っかからないとすぐキレるよね。
ふらっとでも統計的結果の意味が分からなくて暴れてる馬鹿がいた。
290デフォルトの名無しさん:2011/04/22(金) 16:30:36.25
ふらっとでも統計的結果の意味を説明できない馬鹿がいた。
291デフォルトの名無しさん:2011/04/22(金) 16:34:16.86
やっぱり釣れた。同一人物だったか。
292デフォルトの名無しさん:2011/04/22(金) 16:35:55.47
よくわからんがみんな消えろってことでOK?
293デフォルトの名無しさん:2011/04/22(金) 16:39:51.96
統計的結果の人は遅いの嫌いなんでしょ
お呼びでないから帰んな
294デフォルトの名無しさん:2011/04/22(金) 16:40:46.84
>>287
ふらっとに帰れ。
295デフォルトの名無しさん:2011/04/22(金) 16:43:49.68
LINQと違って計測しなくても100倍以上遅いのは分かってるからなw
296デフォルトの名無しさん:2011/04/22(金) 16:44:52.72
統計的結果は句読点つける派なので278は別人ですけどね
297デフォルトの名無しさん:2011/04/22(金) 16:49:03.56
おまえ釣られすぎw
298デフォルトの名無しさん:2011/04/22(金) 16:51:15.75
>>287-296
他スレの話をここでされても分からん。
ふらっとに帰れ。
299デフォルトの名無しさん:2011/04/22(金) 16:54:37.80
分からないふりをしていたい金曜の午後

人格批判に走るからすぐ分かると指摘されて
罵倒をゆとりに統一し自演を行うという行動に出たが
口調が直ってないんだなあ
300デフォルトの名無しさん:2011/04/22(金) 16:56:01.03
今ふらっとは悪くない空気だから戻ってくるなよカス。
相談室で腐ってろ。
301デフォルトの名無しさん:2011/04/22(金) 17:12:33.23
>>300
あっちこっち荒らしんてんじゃねーよ。
302デフォルトの名無しさん:2011/04/22(金) 17:15:42.40
いつものキチガイが出張してきたようです
303デフォルトの名無しさん:2011/04/22(金) 17:15:48.61
発端の >>287 が全部悪いってことで終了。
304デフォルトの名無しさん:2011/04/22(金) 17:17:11.70
確かにBinaryXAMLで意味が分からないとか終わってる。
305デフォルトの名無しさん:2011/04/22(金) 17:19:27.85
粘着してる側は論外として粘着されてる側もしばらく離れてろよ
うぜぇよマジで
306デフォルトの名無しさん:2011/04/22(金) 17:21:44.64
荒らしと無自覚な荒らしの共演w
307デフォルトの名無しさん:2011/04/22(金) 17:25:42.48
ほんとまじウザイ。ふらっとでやれっての。
308デフォルトの名無しさん:2011/04/22(金) 17:30:59.03
>>305
汚いレスばかりしてるおまえが一番煽ってると思うぞ。
309デフォルトの名無しさん:2011/04/22(金) 17:36:53.18
誰も安価しなければ誰が誰に物申してるのか分からなくなって鎮静化するよ
すでに渾名がある人には使えないが
310デフォルトの名無しさん:2011/04/22(金) 18:09:41.57
盛り上がっているところ悪いんですが
((TreeViewItem)((TreeViewItem)TreeView.SelectedItem ).Parent ).IsSelected = true.;
TreeViewItemの選択中のノードの親ノードを選択するにはどうすればいいんでしょうか
311デフォルトの名無しさん:2011/04/22(金) 18:15:56.87
WPF2ちゃんねるブラウザか・・・
う〜ん、いい響きだ。
312デフォルトの名無しさん:2011/04/22(金) 18:30:39.80
>>310
TreeView.SelectedItemはTreeViewItemにキャストできないだろ

TreeView.ItemsSource=new List<TreeViewItem>();

とか書いてるなら別だけど
313デフォルトの名無しさん:2011/04/22(金) 18:40:19.73
>>312

>>240見ろ。
書いてるならじゃない。
書いてる。
314デフォルトの名無しさん:2011/04/22(金) 18:54:13.60
ごめんなさい原因は他にありました忘れてくださいすいません
315デフォルトの名無しさん:2011/04/22(金) 18:57:33.28
知ってます
316デフォルトの名無しさん:2011/04/22(金) 22:35:18.42
WPF2chブラウザ超楽しみ。
317デフォルトの名無しさん:2011/04/22(金) 23:46:18.47
どうしても速度が出ないので諦めました。
318デフォルトの名無しさん:2011/04/23(土) 00:38:43.14
WPF製のMetroTwitもなんかもっさりだったなあ。
UIは煮詰まってないけどけっこう好き。
319デフォルトの名無しさん:2011/04/23(土) 15:08:02.66
昔、.net1.1の頃にあったWinFormの2chブラウザって今でもあんの?
320デフォルトの名無しさん:2011/04/23(土) 15:11:41.89
2ちゃんねる専用ブラウザ ついんてーる
http://www.geocities.co.jp/SiliconValley-Sunnyvale/9453/

これかなぁ?
321デフォルトの名無しさん:2011/04/23(土) 17:16:01.06
Rectangle.Margin.Top = (double)200;

変数ではないので変更できませんと言われます
322デフォルトの名無しさん:2011/04/23(土) 17:17:35.66
値型と参照型、クラスと構造体について勉強しましょう

それでも分からなければ、WPFは関係ありませんので初心者スレへどうぞ
323デフォルトの名無しさん:2011/04/23(土) 17:41:09.63
Margin.Topには変更通知機能がないから変えられないんだよ
コントロールが感知しない数値を変えられても意味ないだろ?
324デフォルトの名無しさん:2011/04/23(土) 17:45:26.30
>>321
Marginをまとめて変更すれば可能じゃなかったっけ?

325デフォルトの名無しさん:2011/04/23(土) 17:59:52.08
>>321のコードはパッと見Marginプロパティに格納されているインスタンスに直接アクセスしているように見えるけど、
実際はMarginプロパティのGetアクセサを呼び出していて、そこで注意しなければいけないのが
値型を返すプロパティはクローンを返すということ。
そのクローンは一時的に用意されただけなので、それのTopプロパティに代入しても
Marginプロパティに格納されているインスタンスにはまったく影響を及ぼさないので意味が無い。
Margin構造体を生成して、直接プロパティにぶちこみましょう。

Rectangle.Margin = new Margin(...);


参照型のプロパティなら>>321みたいなコードでもうまくいく。
326デフォルトの名無しさん:2011/04/23(土) 19:56:25.16
Thickness a = new Thickness(0,0,0,0);
a =Rectangle.Margin;
a.Left = (double)200;
Rectangle.Margin = a;
できました〜ありがとう
327デフォルトの名無しさん:2011/04/23(土) 20:00:23.63
>>321って警告出なかったっけ?
フィールドの場合だけ?
328デフォルトの名無しさん:2011/04/23(土) 20:19:24.08
警告どころかエラーだよ
構造体がフィールドの場合は問題なくコンパイルできるし想定通りに動く
329デフォルトの名無しさん:2011/04/23(土) 20:32:11.22
C#でLocationの値を変更出来なくて悩んだのを思い出したw
330デフォルトの名無しさん:2011/04/23(土) 21:13:15.67
WPFに慣れると、絶対にWINFORMには戻れません。
331デフォルトの名無しさん:2011/04/23(土) 21:18:06.66
themes/generic.xamlに
<BitmapImage x:Key="ChinkoImage" Source="Unko;component/themes/chinko.png" />
て感じに指定したらエラー吐かれてちょっとハマった。
ControlTemplate中のImageのSourceにUri直書きしたらいけたけど。
ようけわからん。
332デフォルトの名無しさん:2011/04/24(日) 18:51:28.30
<Style TargetType="ListViewItem">
<EventSetter Event="MouseDown" Handler="ListViewItem_MousDown"/>
<EventSetter Event="MouseDoubleClick" Handler="ListViewItem_MouseDoubleClick"/>
</Style>

void ListViewItem_MouseDoubleClick ( object sender, MouseButtonEventArgs e )
{
Debug.Print( "1" );

}

void ListViewItem_MousDown ( object sender, MouseButtonEventArgs e )
{
Debug.Print( "2" );

}

MouseDownだけ起動しませんなぜですか?
333デフォルトの名無しさん:2011/04/24(日) 18:55:43.97
イベントがそこにたどり着く前に誰かがハンドルしてるんでしょうよ
334デフォルトの名無しさん:2011/04/24(日) 18:56:07.59
ソースそのままコピったんならeがないからじゃね
335デフォルトの名無しさん:2011/04/24(日) 19:03:12.40
>>334
上もe抜けているから大丈夫だろうが、何故MousDownなんだろうな?
336デフォルトの名無しさん:2011/04/24(日) 19:19:01.90
CickやDoubleClickの中にもDownは入ってるからな
その辺のイベントの処理ってどうなってるだろ

>>332
ちなみにOSは何?
337デフォルトの名無しさん:2011/04/24(日) 19:27:08.74
MouseDownに直してみましたが起動しません

switch (connectionId)
{
case 2:
eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.UIElement.MouseDownEvent;

#line 14 "..\..\Window1.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_MouseDown);

#line default
#line hidden
((System.Windows.Style)(target)).Setters.Add(eventSetter);
eventSetter = new System.Windows.EventSetter();
eventSetter.Event = System.Windows.Controls.Control.MouseDoubleClickEvent;

#line 15 "..\..\Window1.xaml"
eventSetter.Handler = new System.Windows.Input.MouseButtonEventHandler(this.ListViewItem_MouseDoubleClick);

#line default
#line hidden
((System.Windows.Style)(target)).Setters.Add(eventSetter);
break;
}

OSはWin7 64bitです
<EventSetter Event="MouseDoubleClick" Handler="ListViewItem_MouseDoubleClick"/>
を消しても起動しません
MouseLeaveに変えたら起動しました
338デフォルトの名無しさん:2011/04/24(日) 19:28:33.46
WPFとかSLってイベントを親が取れるのなっていったっけ?
ListViewItemにイベント書かないでその上に書いて処理するとかじゃあ駄目かね?
339デフォルトの名無しさん:2011/04/24(日) 19:52:46.08
ListViewItemじゃなくてListViewにクリックイベントを追加してListViewItemに届くかってことですか?できませんでした

MouseDownがどうしても起動しません
MouseDownイベントはアプリケーション中他では一回も自分で追加してません

XAMLを使うとこんがらがってわけわからなくなるのでC#だけで書きたいんですが
ListViewのソースに独自クラスを追加してそのクラスにMouseDownを追加したい場合はどうすればいいんですか?

ObservableCollection<FileViewItem> FileViewItemCollection = new ObservableCollection<FileViewItem>();
FileListView.ItemsSource = FileViewItemCollection;
public class FileViewItem : ListViewItem
{
public string FileName {
get;
set; }

public string Size {
get;
set; }
this.MouseDown += new EventHandler(ListViewItem_MouseDown);
}

FileViewItemCollection.Add( new FileViewItem
{
FileName = LastPathString( s ),
Size = GetFileSize( s ),
} );

こういうふうに書きたいんですが
this.MouseDown += new EventHandler(ListViewItem_MouseDown);
ここはどうかけばいいんでしょうか
340デフォルトの名無しさん:2011/04/24(日) 19:59:12.13
ItemTempleteの方で拾えば反応するよ
341デフォルトの名無しさん:2011/04/24(日) 19:59:52.42
<ListView ItemsSource="abcd">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" MouseDown="ListViewItem_MouseDown"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

とかね
342デフォルトの名無しさん:2011/04/24(日) 20:08:45.84
>>341
起動しました!
ありがとうございます!
343デフォルトの名無しさん:2011/04/24(日) 20:09:24.73
何で動作が違うのかって言うとMouseDownは添付イベントだからです
MouseClickはルーティングイベント
344デフォルトの名無しさん:2011/04/24(日) 20:13:48.08
>>339
ダメモトでPreviewMouseDownハンドルしてみたら?
345デフォルトの名無しさん:2011/04/24(日) 20:15:24.57
PreviewMouseDownは普通にイケるだろ
346デフォルトの名無しさん:2011/04/24(日) 20:25:30.96
PreviewMouseDownできました
やっぱりstyleで統一します
ありがとうございます
347デフォルトの名無しさん:2011/04/27(水) 16:42:29.01
メインウィンドウから新ウィンドウをhowしたんだけど設定してるイベントが起動しない
メッセージはウィンドウごとじゃなくてなにか特別な仕組みになってる?
348デフォルトの名無しさん:2011/04/27(水) 17:25:46.80
どうせその「真ウインドウ」とやらをstartupにしても動かないんだろ
349デフォルトの名無しさん:2011/04/27(水) 18:15:44.37
だめだなぜかGridに設定したイベントがGridに配置してあるコントロールの上でだけ起動するわけわからん
350デフォルトの名無しさん:2011/04/27(水) 18:21:13.32
イベント何よ
351デフォルトの名無しさん:2011/04/27(水) 18:33:33.94
マウスムーブ
プレビューマウスムーブ
プレビュースタイルマウスムーブ
352デフォルトの名無しさん:2011/04/27(水) 18:35:35.08
間違えたマウスムーブはどこでも起動しない
コントロールの上だけで起動するのはマウスホイール、プレビューマウスホイール
353デフォルトの名無しさん:2011/04/27(水) 20:57:12.59
ExpanderのHeader内のContentPresenterをHorizontalAlignment=Strechにする手軽な方法ってない?
354デフォルトの名無しさん:2011/04/27(水) 21:01:50.18
HeaderTemplate使う
355デフォルトの名無しさん:2011/04/28(木) 09:02:16.98
WPFで、2ヶ月分のCalenderを同時に連動させて表示する良い方法がわかりません

Windows.Formでは、monthCalenderのCalenderDimensionsで複数月を指定できましたが、
WPFのCalenderでは2個並べてイベントから連動させるしかないのでしょうか

C#初心者スレでは回答がなかったので、書き直してコチラに
356デフォルトの名無しさん:2011/04/28(木) 18:24:21.13
馬鹿には無理
357デフォルトの名無しさん:2011/04/28(木) 19:39:10.69
ベジエ曲線じゃなくて点を全て通る補間曲線って用意されてる?
358デフォルトの名無しさん:2011/04/28(木) 19:52:17.58
ないようだな みんな色々実装してる
WPF cardinal spline
359デフォルトの名無しさん:2011/04/29(金) 23:16:21.40
ユーザーコントロールに新規スレッドを追加するとXAML編集のデザイナー画面でエラーが出てますどうしてですか?
メインウィンドウに配置してあるユーザーコントロールの中のスレッド.Start();の行をコメントアウトすると表示できるようになるんです
あとたまにユーザーコントロールが動いてすこしずつ幅が小さくなるんですこんなのプログラムしてないのにどういうことですか?
360デフォルトの名無しさん:2011/04/29(金) 23:17:52.06
つオカルト板
361デフォルトの名無しさん:2011/04/29(金) 23:26:25.02
>ユーザーコントロールに新規スレッドを追加
意味不明だからしんでくれ
362デフォルトの名無しさん:2011/04/29(金) 23:30:14.72
>>359
そのスレッドでなにやってるか書いて
363デフォルトの名無しさん:2011/04/30(土) 00:13:40.48
ちゃんと説明できないなら、せめて「再現できる最小限のコード」を貼ればいい。
364デフォルトの名無しさん:2011/04/30(土) 00:42:47.68
なるほどスレッドを止めるんではなくてスレッドの中の処理を再現しなくなるまで消してみます
365デフォルトの名無しさん:2011/04/30(土) 01:35:14.06
指示を実行できないのなら二度と質問するな

お前の意見など求めていないんだ
366デフォルトの名無しさん:2011/04/30(土) 01:43:57.58
うわぁ・・・
367デフォルトの名無しさん:2011/04/30(土) 02:04:46.94
ListViewのカラムヘッダの高さを知りたいんですが何処を見たらいいのでしょうか?
368デフォルトの名無しさん:2011/04/30(土) 09:15:17.85
>>364
public UserControl1() {
 this.InitializeComponent();
 new System.Threading.Thread(() => {
  System.Threading.Thread.Sleep(2 * 1000);
  MessageBox.Show("セクロス");
 }).Start();
}
特にエラーは出ないな。問題が出なくなるまで削って機械的に原因を突き止めればいい。
しかしデザイナに貼り付けただけでサブスレッド生成する糞な設計は止めたほうがいい
369デフォルトの名無しさん:2011/04/30(土) 14:17:01.40
確か、マウスカーソルの位置をポーリングして見張ってるんだよ
それ以前だわ
370デフォルトの名無しさん:2011/04/30(土) 15:02:37.38
前任の開発者がオナニーぶち込むと大変だなっていういい例になってるよね
できることなんて大して変わらないのにこんな意味不明なもん
ロクに検討もしないぶち込んだ報いがこのザマかってほど
まったく知ってるヤツがいないし、人が集まらない(大爆笑)

これとAzuruは悲惨としかいいようがない
なんでこんなのの経験者がいると思ってるの?
開発者が集まらないまま納期が来ましたかwそうですかw(大爆笑)
371デフォルトの名無しさん:2011/04/30(土) 15:06:54.54
バッカ、東日本大震災対応版だっつの
http://www.microsoft.com/japan/windowsazure/
372デフォルトの名無しさん:2011/04/30(土) 21:32:11.20
プロジェクトのトップクラスになってるWindow1のクラス名をWindowに変更したらBlendで型変換できないというエラーが出て
デザイナが開かなくなりましたどうすれば直りますか?
373デフォルトの名無しさん:2011/04/30(土) 21:33:42.23
元に戻す
374デフォルトの名無しさん:2011/04/30(土) 21:42:30.90
直りました
ありがとうございます
375デフォルトの名無しさん:2011/04/30(土) 21:42:49.29
エラーが出たとこも修正する
376デフォルトの名無しさん:2011/05/01(日) 02:48:36.49
Blend 4で特にエラーは出ないな。
377デフォルトの名無しさん:2011/05/02(月) 13:35:24.45
Blendはときどき意味不明なエラーでデザイナが壊れるぞ
だいたい再起動したら直るけど
378デフォルトの名無しさん:2011/05/02(月) 15:30:46.70
>370
アンチ乙
379デフォルトの名無しさん:2011/05/02(月) 15:35:08.73
デザイン時にもかかわらず、IsDesignModeがfalseになることがあるな。
これも再起動で治るけど。
380デフォルトの名無しさん:2011/05/03(火) 04:59:58.85
直線とか四角とか丸とか描画できてテンプレートでその形にできるみたいだな
381デフォルトの名無しさん:2011/05/03(火) 12:44:54.54
AvalonDockというドッキングウィンドウライブラリが神
高機能の割に軽いし安定してるしちゃんとXAMLやスタイル使えるしフリーでライセンスも緩い(New BSD)
382デフォルトの名無しさん:2011/05/03(火) 18:18:53.13
さいですか
383デフォルトの名無しさん:2011/05/03(火) 19:22:35.75
SharpDevelopみたいな定期的に例外吐いて落ちるの前提ならいいかも。
384デフォルトの名無しさん:2011/05/03(火) 19:26:14.54
WPFを使ったソフトってどんなのがありますか?
385デフォルトの名無しさん:2011/05/03(火) 19:34:09.04
Visual Studio
386デフォルトの名無しさん:2011/05/05(木) 01:05:04.83
イメージブラシを回転させたいんだが、塗りつぶし先が正方形じゃないと
斜めに歪んだ感じになる。どうしたら斜めに歪まずに塗りつぶせるの?
<ImageBrush ImageSource="正方形.png" Stretch="None" TileMode="Tile"
 ViewportUnits="Absolute" Viewport="0,0,50,50">
 <ImageBrush.RelativeTransform>
  <TransformGroup><RotateTransform CenterY="0.5" CenterX="0.5" Angle="30"/></TransformGroup>
 </ImageBrush.RelativeTransform>
</ImageBrush>
387デフォルトの名無しさん:2011/05/05(木) 01:16:26.93
>>386
イメージブラシを回転させるんじゃなく、たとえばrectangleに貼り付けるならそっちを回転するとかじゃないの?
388386:2011/05/05(木) 02:03:30.24
>>387
いや違うんですよ。
貼り付け先をそのままで、塗りつぶしパターンだけ回転させたいのよ。
極太テキストの塗りつぶしパターンが変化していくようなアニメーションが
したかったんだ。

と思ったら「RelativeTransform」→「Transform」でできた。
XAML直編集なのでExpression Blendでいじれないぞ。
389デフォルトの名無しさん:2011/05/05(木) 02:07:05.25
最終的にどうなればいいかがよくわからんが
この辺の話?
http://msdn.microsoft.com/ja-jp/library/system.windows.media.brush.relativetransform%28v=vs.90%29.aspx
390デフォルトの名無しさん:2011/05/05(木) 02:07:59.34
391386:2011/05/05(木) 04:00:41.32
>>389 その辺の話。
だがExpression BlendがGUIで扱えるのはReletiveTransformのみのようで、
Transformが扱えず困っている。手書きでStoryboard作成とか死ねる。
392デフォルトの名無しさん:2011/05/05(木) 11:25:26.89
どうでもいい質問かもしれないけど、
おまえらWPFをなんて発音してる?
393デフォルトの名無しさん:2011/05/05(木) 11:39:46.34
だぶりゅ〜・ぴ〜・えふ
394デフォルトの名無しさん:2011/05/05(木) 11:56:31.01
わふ〜(Pは発音しない)
395デフォルトの名無しさん:2011/05/05(木) 12:42:38.95
WFと区別がつかないじゃない
396デフォルトの名無しさん:2011/05/05(木) 12:50:07.00
WF・WCSは都市伝説
397デフォルトの名無しさん:2011/05/05(木) 13:14:15.66
WCSはまだ残ってるんじゃない?
企業内のWebサービス(SOA笑)とかでひっそりと使われていたり
Azureでオンプレミスとの連携をするときとか
398デフォルトの名無しさん:2011/05/05(木) 13:32:24.96
むしろWCFが都市伝説
399デフォルトの名無しさん:2011/05/05(木) 13:54:50.13
WCF普通に使ってる俺は少数派だったのか…。
.NET完結でちょっとRPCする分には便利だけどな。
400デフォルトの名無しさん:2011/05/05(木) 14:07:53.53
WCFなら鯖へ封じ込んで放置できるしなw
401デフォルトの名無しさん:2011/05/05(木) 14:11:14.22
ぶっちゃけWinFxはどれも普及してないけどね
強いて言えばLINQぐらいかな
402デフォルトの名無しさん:2011/05/05(木) 14:18:29.82
>>401
ぉぃ
403デフォルトの名無しさん:2011/05/05(木) 14:28:11.20
スレ違いですいません。
某アプリのラベルに書かれている数値を、自作アプリから取得して、音声で読み上げたいと思っています。
今回、ラベルのデータを取得しようとしたところ、WPFで書かれているアプリという事がわかりました。
GetWindowTextなどで指定しようにもハンドルが無くやり方が分かりません。
どのように指定して取得すればいいか教えて頂けると助かります。
404 忍法帖【Lv=13,xxxPT】 :2011/05/05(木) 14:30:31.25
PrintScreen→OCR
405デフォルトの名無しさん:2011/05/05(木) 14:32:06.21
まずはSnoop
406デフォルトの名無しさん:2011/05/05(木) 16:32:25.19
>>403
自作アプリに読み上げデータ公開インターフェースを作る。

もくはSDK付属のVisualプロファイラーを解析してみる
407デフォルトの名無しさん:2011/05/05(木) 18:47:26.67
SharePoint開発するとWF使いまくりなんじゃなかったっけ。
408デフォルトの名無しさん:2011/05/06(金) 06:25:35.71
Viewport3Dでコントロールのリサイズに対して、StretchのFillみたいに
表示範囲を保証する方法ってないですか?
FieldOfViewを設定すると水平画角が固定されますが、画面が横長に
なると上下が欠けます。
例えば「横縦比1:1で、水平画角30度」を指定するとコントロールが2:1に
横に伸びたときにカメラの水平画角が自動的に45度になるとうれしいです。
409デフォルトの名無しさん:2011/05/06(金) 09:52:24.34
BeginStoryBoadだの使ったアニメーションは
依存プロパティを変化させるようなのしかできないのかね

rectangleのWidthとかColorとかを変化させるようなのしかできないのか?

bmpとかを連続で表示させるアニメーションはタイマーみたいなの使っていちいちやらんきゃだめ?
410デフォルトの名無しさん:2011/05/06(金) 13:12:37.15
ObjectAnimationUsingKeyFrames でいいじゃん
411デフォルトの名無しさん:2011/05/06(金) 14:10:12.92
別のソフトで動画作って貼り付ければOK。
412408:2011/05/06(金) 19:23:38.15
>>408ですが、方法が見つからず、リサイズイベントでゴリゴリ計算して動きました。
var angleHalfHPrefered = (viewAnglePrefered / 2) * (3.1415926535 / 180);
var realDistanceZ = 1.0;
var realHalfHPrefered = realDistanceZ * Math.Tan(angleHalfHPrefered);
var realHalfVPrefered = realHalfHPrefered / xyRatioPrefered;
var realHalfH = realHalfVPrefered * (this.ActualWidth / this.ActualHeight);
var angleHalfH = Math.Atan2(realHalfH, realDistanceZ);
cam1.FieldOfView = (2 * angleHalfH) * (180 / 3.1415926535);
413403:2011/05/07(土) 01:43:17.26
>>404
ありがとうございます。
その方法ですと、プリントスクリーンする毎に手前に表示しないといけない制限が出ると思います。
今回は見送らせてもらいます。
>>405
Snoopはインストールして実際に使ってみました。
ただ、その後画面上にあるテキストボックスやラベルなどにアクセスする為の関数とうが分からないのです。
もしご存知でしたら教えて頂けると嬉しいです。

414403:2011/05/07(土) 01:51:34.94
>>406
プロファイラーは初耳でした。試してみます。
>自作アプリに読み上げデータ公開インターフェースを作る。
この部分が良く分からないのですが、、、何かアクセスするメソッドがあるのでしょうか?
関数名で教えて頂けると助かります。
415デフォルトの名無しさん:2011/05/07(土) 02:06:01.14
>>413
Snoopはグローバルフックを経由して対象のプロセスにdllを注入してるんだよ。
入り込んだ後は通常のWPFの操作のみでVisualTreeHelperで辿っていくだけ。
従来のWindowはないのでハンドルを取得してGetWindowTextなどのような手順では無理。
というか対象のアプリは何なんだよ?
416デフォルトの名無しさん:2011/05/07(土) 02:10:19.26
逆コンパイルして目的のところにイベントハンドラ追加するのが簡単そうやね
417デフォルトの名無しさん:2011/05/08(日) 06:30:50.36
依存関係プロパティーについて勉強中です。教えてください。
MSDNには以下のようなサンプルコードが書いてありますが、
★の位置にOnCurrentReadingChangedが無いと、バインディング経由でなく
プロパティーを直接変更された時に困る気がするのですが、間違っているでしょうか?

public static readonly DependencyProperty CurrentReadingProperty = DependencyProperty.Register(
  "CurrentReading", typeof(double), typeof(Gauge),
  new PropertyMetadata(Double.NaN, OnCurrentReadingChanged));

public double CurrentReading {
  get { return (double)GetValue(CurrentReadingProperty); }
  set { SetValue(CurrentReadingProperty, value); ★}
}
418デフォルトの名無しさん:2011/05/08(日) 06:36:22.63
SetValueの中でOnCurrentReadingChanged呼び出されてるから気にしなくてよい
つかそれぐらいは試せばすぐ分かることだろう
419デフォルトの名無しさん:2011/05/16(月) 20:59:27.80
グラフィックチップがオンボードの低スペックマシンだと、コントロールの描画が更新されないことがあるけど、これってFA?
420デフォルトの名無しさん:2011/05/16(月) 21:34:05.94
は?
421デフォルトの名無しさん:2011/05/16(月) 21:56:41.04
>>419
スペックの問題でなくどちらかと言うとドライバのバグだよ。
描画されないくらい普通に起きるよ。もっと酷いドライバだと起動もしなかったりする。
とりあえずドライバ更新してダメならソフトウェアレンダリングにするしかない。
422デフォルトの名無しさん:2011/05/16(月) 22:03:41.46
PCゲームとかだと環境依存の描画トラブルなんて全く珍しくないな
今時ブラウザの描画もGPUに移行しつつあるくらいだしどんどんそういうの増えるよ
423デフォルトの名無しさん:2011/05/17(火) 04:47:34.43
再現コード晒さずにいわれても困るしそれでフィナンシャルプランナーとかそっちだって信じないだろ
気休めにもなってねぇ
424デフォルトの名無しさん:2011/05/17(火) 09:11:26.41
そういや古いマシンでWPFアプリ動かしたら落ちたケースがあった。
でもグラボのドライバ更新したら正常に動作した事例があったな。
425デフォルトの名無しさん:2011/05/17(火) 13:44:59.42
WPFの次はやく来い
426デフォルトの名無しさん:2011/05/17(火) 16:12:29.48
wpfですら使いこなせないのに次なんてどうするんだ
427デフォルトの名無しさん:2011/05/17(火) 17:10:22.13
WPF と Forms のいいとこどりした奴できればいいんじゃない?
428デフォルトの名無しさん:2011/05/17(火) 17:14:42.57
formsのいいとこって?
429デフォルトの名無しさん:2011/05/17(火) 17:54:54.40
Formsでできること、WPFでもできるだろ。
430デフォルトの名無しさん:2011/05/17(火) 18:41:37.07
新しく覚えなくても使えること
431デフォルトの名無しさん:2011/05/17(火) 18:49:18.40
WPFでできること、一つづつかなえたい。
432デフォルトの名無しさん:2011/05/17(火) 19:17:18.00
>>429
ListViewやTreeViewのラベル編集が出来ない
433デフォルトの名無しさん:2011/05/17(火) 19:37:05.74
>>430
それ、どうやってWPFとFormsを合わせた新しいもので実現するんだよ。

>>432
えっ、そんなのデータテンプレートでなんとでもなるじゃん。
434デフォルトの名無しさん:2011/05/17(火) 19:40:54.76
>>433
データテンプレートなんて無学には分からない
プロパティをTrueにする位のことが関の山
435デフォルトの名無しさん:2011/05/17(火) 19:44:26.59
でもそれ、知ってるからやれるの類だと思うなぁ。
True/Falseの設定で何が変わるかとか、普通わからんというか、
何から何までOn/Offできるわけじゃないじゃない、細かいカスタマイズを。
436デフォルトの名無しさん:2011/05/17(火) 20:05:15.94
じゃあ言い方を変えるよ
IsEditableのプロパティがないと駄目
437デフォルトの名無しさん:2011/05/17(火) 20:22:13.17
後から好きなように差し替えてカスタマイズできるのに、特定のシナリオ向けの機能を組み込んじゃうのってダサイ
ListViewのセル編集なんてMSDNのサンプルコードをコピペするだけじゃん。無学でもコピペくらいできるだろ?
438デフォルトの名無しさん:2011/05/17(火) 20:31:40.34
うん、それはどう考えても「悪いところどり」w
439デフォルトの名無しさん:2011/05/17(火) 20:42:40.58
>>437
WinFormのラベル編集はセルの幅超えてTextBoxが出てくる
データテンプレートだけじゃ絶対出来ないよ
440デフォルトの名無しさん:2011/05/17(火) 20:42:45.09
無学はプロパティをTrueにする位しかできないと言ってるだろ
コピペも無理
441デフォルトの名無しさん:2011/05/17(火) 20:43:01.68
フォームズのいいとこ。
ザムルが不要ですw
442デフォルトの名無しさん:2011/05/17(火) 20:45:52.97
カスタマイズめんどいから特化したコントロールを億万個用意してくれればいいのさ
443デフォルトの名無しさん:2011/05/17(火) 22:30:52.34
>>440
いや、プロパティをTrueに変えるってさ、アプローチが「そういうプロパティがあった」じゃない。
「何がしたい」ってアプローチではたどり着けないよ、ラベル編集にTrue/False。

>>441
いやいや、WPFでもXAML書かないでいいよ?

>>442
正直、そのアプローチだとWPFの方が有利よ。
XAML書き直せば特化したUIにできるんだし。
444デフォルトの名無しさん:2011/05/17(火) 22:42:12.07
>>439
ttp://pro.art55.jp/?eid=908012
とか、絶対にできないってことはないんじゃない?
445デフォルトの名無しさん:2011/05/17(火) 22:55:24.96
>>444
つ「データテンプレートだけ」

実はそれ使わせて貰っているんだが、右クリックメニューが上手く出せなくて悩んでいる
貼り付けとかコピーやりたいんだよね
446デフォルトの名無しさん:2011/05/18(水) 00:27:38.09
Windows 7 のタスクバーのような外見のボタンを作りたいんですが、
参考になりそうな XAML 置いてあるサイトあったら教えてください。
447デフォルトの名無しさん:2011/05/18(水) 00:45:34.22
codeprojectかどっかで見かけた気がするなぁ
真似するだけだから結局自分でフルスクラッチだけどね
448デフォルトの名無しさん:2011/05/18(水) 08:24:34.39
MSChartをもうちょっと洗練してWPFに持ってきてくれ
449デフォルトの名無しさん:2011/05/18(水) 09:10:43.76
Microsoft Chart Controls for Microsoft .NET Framework 3.5 + WindowsFormsHost使ってろ
WPFネイティブのチャートの方はカスだけど別にそんなとこWPFでなくてもいいだろ
450デフォルトの名無しさん:2011/05/18(水) 12:58:14.51
>>449
いまんところそうしてる
まぁ気分の問題というかWindowsFormsHostをラッピングして使うのもなんかダルいし……

あとMSChartの現バージョンは4だぜ
451デフォルトの名無しさん:2011/05/18(水) 19:52:29.51
proなんとか2冊買ったけどこんな厚い本が30ドルくらいで買えるんだからそりゃ差もつくわな
452デフォルトの名無しさん:2011/05/18(水) 22:05:39.97
UserControlの中にUserControlを作ったら親のUserControlのMouseMoveが子UserControlの上でだけ呼ばれません
どうすればいいですか
453デフォルトの名無しさん:2011/05/18(水) 22:21:06.96
PreviewMouseMove使うとか。
454デフォルトの名無しさん:2011/05/18(水) 22:32:27.92
駄目でした
激しくマウスを動かすとたまに呼ばれます
クリック等のイベントも連打するとたまに呼ばれます
ビルドクリーン、再起動しても変わりません
Window>grid>grid>grid>UserControl<MouseMove>>grid>grid>viewBox>StackPanel>StackPanel>UserControl<MouseMove>>grid>label
イベントは<MouseMove>2つだけですこの2つを同時に起動させられませんか
455デフォルトの名無しさん:2011/05/18(水) 22:47:54.97
mouse.mousemoveで捕まえればええんちゃうの
456デフォルトの名無しさん:2011/05/19(木) 14:25:55.12
意味が全くわかりませんどういうことですか
この症状でひと月悩んでます
457デフォルトの名無しさん:2011/05/19(木) 14:36:17.30
あと11ヶ月悩んだら解決法を教えてやろう
458デフォルトの名無しさん:2011/05/19(木) 18:03:58.89
ひと月悩んでることをタダで解決してもらおうなんて虫が良すぎると思わないかね
459デフォルトの名無しさん:2011/05/19(木) 19:54:45.78
つまりみんな分からないってことだ
460デフォルトの名無しさん:2011/05/20(金) 00:08:10.16
MVVMの考え方について色々と参考になった。内容的に異論も多そうだが。
ttp://www.atmarkit.co.jp/fdotnet/chushin/greatblogentry_02/greatblogentry_02_01.html

>>454
君が何を言っているのかさっぱり分からんが逃げる手は色々ある。
上にBackground=Transparentな部品を乗っけてしまうとかw
461デフォルトの名無しさん:2011/05/20(金) 00:42:16.60
ああ、あのCallMethodActionを異常に嫌ってた人か
>コマンドは「メソッド」の公開ではなく、まさに「操作」の公開なのです。
とか意味不明すぎるんだが
462デフォルトの名無しさん:2011/05/20(金) 03:31:42.34
>>460
そこの記事については

BlendがせめてFlash並の機能になってから寝言ほざけwwww

て感想しか出なかったな
今の糞環境でデザイナ分離とかガンダーラより遠いわそんな理想郷
463デフォルトの名無しさん:2011/05/20(金) 10:04:55.78
Command使わずにメソッド使ったらMVVMじゃないとか極端すぎるわ
Java信者のデリゲート批判と同じにしか見えない
CanExecuteなんてそんなに必要ないし必要なときはプロパティ足せばいいだけだろ
464デフォルトの名無しさん:2011/05/20(金) 13:16:34.11
原理主義とか教条主義ってそんなもの
465デフォルトの名無しさん:2011/05/20(金) 14:42:31.69
Commandの使いどころがてんでわからんのよね。
CallMethodActionで事足りることばかりだから。
466デフォルトの名無しさん:2011/05/20(金) 18:47:26.07
DelegateCommand使っといてコマンドはメソッドより粒度が…とか意味分からん
そういうこと言うんだったらDelegateCommandなんて使わずに
コマンドパターンとして操作別にICommand実装するべきだと思うが
467デフォルトの名無しさん:2011/05/20(金) 19:07:32.11
直接バインドするならDelegate〜でいいけどCommandBindingしようとするとナ〜
468デフォルトの名無しさん:2011/05/20(金) 20:00:03.14
WPFって確かに見た目だけはテンプレート使ったり組み合わせや入れ子でリッチに
できるけど、出来上がった複合コントロールの振る舞いの制御まで考えると結局
ゴリゴリ書かないとダメだよね。例えばWPFの開発当初はコンボボックスって
リストボックスと何かの組み合わせで作ろうとしたけどの組み合わせで作ろうとした
みたいだけど挫折してるし。
469デフォルトの名無しさん:2011/05/20(金) 20:54:11.95
最後の方日本語でおk
470デフォルトの名無しさん:2011/05/20(金) 21:38:08.38
いや実際にComboBoxのテンプレートはこういう構造なんだけど
TextBox
ToggleButton
Popup
-ScrollViewer
--StackPanel
---(Items)
471デフォルトの名無しさん:2011/05/20(金) 23:37:51.63
なんぞこれw
 <ContentControl Focusable="False" Content="{Binding .}"/>
Focusable=Falseなのに、なんかフォーカスをとっちゃうなぁ、と思ったら
ContentControlが子要素としてContentControlをいつの間にか作ってそれがFocusalbeになっていたw
472デフォルトの名無しさん:2011/05/21(土) 01:19:32.60
もっててよかったsnoop
473デフォルトの名無しさん:2011/05/21(土) 09:01:59.72
ListBoxのItemsPanelにCanvasを指定して、Bindしたコレクションを
座標指定しておいてっています。

下記Linkのようなイメージ
http://d.hatena.ne.jp/Yamaki/20071011/1192091886

ListBoxよりCanvasが大きくなってもScrollViewerが働いてくれません。
CanvasでScrollViewerって使えるんでしょうか?

474デフォルトの名無しさん:2011/05/21(土) 09:10:54.03
そりゃ君、canvasのbackgroundに何か色付けてみたら一発で理由がわかるよ
475デフォルトの名無しさん:2011/05/21(土) 09:26:13.47
WPF筋はいいんだけど。もう少し簡単にならんと
476デフォルトの名無しさん:2011/05/21(土) 09:27:14.57
直感的でないからやりたい事を実現するまでに時間がかかる
477デフォルトの名無しさん:2011/05/21(土) 09:49:04.98
>>474
なるほど、CanvasはListBoxと同サイズになっているわけですね。
CanvasのHeightを明示的にListBoxのHeightより大きな値を設定してあげると
ScrollViewerが表示されました。
478デフォルトの名無しさん:2011/05/21(土) 12:29:01.07
俺も一度その手にハマったことがある。参考までに
http://stackoverflow.com/questions/855334/wpf-how-to-make-canvas-auto-resize

CanvasやPath関連はサイズや位置は、知らないと??な挙動をするから分かりにくいよねぇ。
<Border><Path Data="m-10,-10 h20 v20"/></Border>ってやると、borderは10x10になったりw
479デフォルトの名無しさん:2011/05/23(月) 08:08:21.42
それは知ってますw
480デフォルトの名無しさん:2011/05/23(月) 08:35:37.35
ただの独り言ですw
481デフォルトの名無しさん:2011/05/23(月) 17:24:42.15
WPFで作られた有名ソフトある?
snoop以外で。
482デフォルトの名無しさん:2011/05/23(月) 17:32:26.92
ヴィジュアルスタディオ
483デフォルトの名無しさん:2011/05/23(月) 18:02:48.96
エクスプレッション
484デフォルトの名無しさん:2011/05/23(月) 18:19:10.18
Catalyst Control Center
485デフォルトの名無しさん:2011/05/23(月) 18:34:03.03
なにこの絶望的な開発環境
486デフォルトの名無しさん:2011/05/23(月) 18:44:36.48
WPFって遅くない?
すぐ動作が重くなるんだけど最後まで作って行って大丈夫なのかなこれ
487デフォルトの名無しさん:2011/05/23(月) 18:47:37.06
大丈夫じゃないと思うけど
488デフォルトの名無しさん:2011/05/23(月) 18:48:36.73
やめたら楽になると思う
489デフォルトの名無しさん:2011/05/23(月) 18:54:24.28
代わりになるようなフレームワークってないんだよなあ
490デフォルトの名無しさん:2011/05/23(月) 18:55:50.50
個人開発なら、この辺読んで意識してみるヨロシ。
ttp://msdn.microsoft.com/ja-jp/library/aa970683.aspx

企業だったら、上司に相談。
491デフォルトの名無しさん:2011/05/23(月) 19:13:22.06
XAMLって最初かならずGridがあるから一番軽いのかと思ったらCanvasに比べてはるかに重いとか書いてあるんだけど
もしかして全部Canvasに入れ替えた方が良かったのかな
コントロールの入れ子関係一度崩すと設定してあるイベント全部消えるんだけどこれ仕様?
492デフォルトの名無しさん:2011/05/23(月) 19:27:34.65
>Gridがあるから一番軽いのかと思ったらCanvasに比べてはるかに重い
比べたことはないけどまあGridはカラムとかあると比率計算とかしないと
いけないがCanvasそのものはそんな計算しないしな

たんなる入れ物ならCanvasでもいいきがする


>コントロールの入れ子関係一度崩す
よくわからんがXAMLひらいて直接GridをCanvasと文字を書き換えればいいんでないの?
493デフォルトの名無しさん:2011/05/23(月) 19:36:46.53
さわり始めでしょーもないところで行き詰まったりするけど
GUIレイアウトの自由度があっていいな。
ちょっとマイブームになりそうでござる。
494デフォルトの名無しさん:2011/05/23(月) 19:58:32.47
>>491
snoopで覗けば標準コントロールがパネル使いまくってるから1つや2つはいまさらって気がしてくるけどね
495デフォルトの名無しさん:2011/05/23(月) 20:33:06.19
ちょっとしたことをやりたいだけで大規模な開発じゃなかったらWindows Formのほうがいい
企業がまともなアプリケーション開発するんだったらWPFのほうがいい
496デフォルトの名無しさん:2011/05/24(火) 00:09:31.33
Gridが重いといってもレイアウトの計算にCanvasよりも時間がかかるだけだぞ
その際の最描画に比べたらカスみたいなもん
497デフォルトの名無しさん:2011/05/24(火) 00:34:14.02
>>495
>大規模な開発じゃなかったらWindows Formのほうがいい
why?
大規模だろうと小規模だろうと、Windows FormsのWPFに対するメリットなど
塵ほども無いと思うのだが。
498デフォルトの名無しさん:2011/05/24(火) 01:03:34.89
>>497
そりゃ何を作るかによるよ
499デフォルトの名無しさん:2011/05/24(火) 01:09:56.94
小さいツール作ったときに、あまりにもListViewとDataGridが遅くて
WindowsFormsHost+DataGridView使った
はっきり言ってWPFだけじゃまず使い物にならんけど割りきっていいとこ取りすればいいと思うよ
500デフォルトの名無しさん:2011/05/24(火) 01:16:24.96
どうせいらんイベント拾ってCPU負荷かけまくってるんだろ
501デフォルトの名無しさん:2011/05/24(火) 01:19:40.02
縦サイズを指定せず、画面外まで大きくはみ出してレコード全部表示してるとか
502デフォルトの名無しさん:2011/05/24(火) 01:27:37.44
>>491
レイアウトの計算が重いんだよ。
Gridで自動サイズで自動レイアウトにしてネストさせていくと
ちょっとしたレイアウトのズレでかなり繰り返し走るようになるのでどんどん重くなる。
503499:2011/05/24(火) 01:28:59.62
そりゃ手間かけて工夫すれば速くなるのかもしれないけどさ
適当でいいときもあるじゃん
だいたいデータグリッド一枚貼って終わりなんて最低のUIデザインでしょ
そんなんでいいんだったらわざわざWPF使わなくてもいいと思うわ
504デフォルトの名無しさん:2011/05/24(火) 07:22:13.36
みなさんなどんな本でWPFを勉強してるんですか?
いい本がなかなか見つからない・・・
505デフォルトの名無しさん:2011/05/24(火) 12:12:09.59
エッセンシャルWPF
506デフォルトの名無しさん:2011/05/24(火) 18:21:12.02
定期的に出てくる質問なのでテンプレにいれた方がいいかもしれない

入門編(次のうちいずれかひとつ)
Pro WPF in C.Sharp 2008 2nd Edition [APRESS]<-個人的にオススメ
Essential WPF
Programming WPF [O'REILLY]
Windows Presentation Foundation Unleashed [SAMS]

507デフォルトの名無しさん:2011/05/24(火) 18:24:45.71
発展編(必要に応じて読む)
Practical WPF Graphics Programming(グラフィックまわり特に3D関連のWPF使用法を習得したければ)
The Composite Application Guidance for WPF(複数チームで同時開発したければ)
Advanced MVVM(MVVMパターンを徹底研究したければ)

日本語版に関してはEssential WPFが出ているのは知っているが
あとは知らん。英語版に関してはすべてネットに転がっている。
508デフォルトの名無しさん:2011/05/24(火) 23:47:01.19
転がってるって割れ本じゃん

いいけどさ
509デフォルトの名無しさん:2011/05/24(火) 23:52:56.81
TreeViewでヘッダーがコントロール枠内に収まらないアイテムを選択すると右に自動的にスクロールするのは停止できない?
いらいらしてきた
510504:2011/05/25(水) 01:47:26.71
>>505-507
ありがとうございましたm(_ _)m
511デフォルトの名無しさん:2011/05/25(水) 02:02:56.41
>>497
Windows.Formsはイベント処理中のスタックトレースがほぼ確実に繋がっている。
それ比べてWPFのスタックトレースは連続しないケースが多くて
イベント処理中の何処かで落ちても直接の原因の呼び出しがスタックトレースに入ってない。
Bindingがその原因特定をやたらと複雑にする。
このあたりで開発効率に結構差が出ると思う。

>>499
仮想化が有効になってないんじゃないか?
WPFはデフォルトで仮想化が有効になってないものや特定の機能を使うと仮想化が無効になったりとかがだいぶいけてない。
512デフォルトの名無しさん:2011/05/25(水) 02:44:04.08
バインディングで落とすとか何事だよ
513デフォルトの名無しさん:2011/05/25(水) 20:03:18.13
どういう使い方をしているんだろうか。
Bind周りで追求に手間取ったのは、ViewのコードビハインドとBindが
連携した部分(フォーカス制御)ぐらいしかないなぁ
514デフォルトの名無しさん:2011/05/26(木) 07:07:44.08
バインド周りと言えば、昨日CalendarのDataContextが設定されてると
DisplayMode="Year"で横幅が2000px前後になる不具合で2時間ぐらい潰されたわ
515デフォルトの名無しさん:2011/05/27(金) 02:02:48.28
TextBoxを複数行可能にしてるんですが
中身のテキストに配列でバインドできる方法ってないんですかね?
GetLineTextを使わずに特定の行が欲しかったら、Textを改行で分割して取るしかないのかな・・・。
516デフォルトの名無しさん:2011/05/27(金) 02:07:43.43
困ったときはvalueConverter
517デフォルトの名無しさん:2011/05/27(金) 02:33:11.21
>>516
なるほど
IValueConverterを使って変換かければ配列でバインドできると
ありがとう
やってみます
518デフォルトの名無しさん:2011/05/27(金) 03:30:42.78
ValueConverterは複数の変数使えると良いんだけどね
全然出来ない訳じゃないけど依存関係プロバティーとかめんどい
519デフォルトの名無しさん:2011/05/27(金) 03:33:30.04
困ったときはmultiBinding
520デフォルトの名無しさん:2011/05/27(金) 07:59:51.97
MultiBindingは中にMultiBindingを持てない、気の利かない子
521デフォルトの名無しさん:2011/05/29(日) 20:54:27.00
ListViewにあるListViewItemの中のコントロールのイベントからコントロールからたどって
ListViewにバインドしてあるListViewItemの他のコントロールにバインドしてある値をとるにはどうすればいいでしょうか?

<ListView name="View">
<textBlock Binding = { title } / >
<TextBox Binding = { name } KeyDown="kd"/>
</ListView>

class ListBox
{
string title;
string name;
}

ObservableCollection<ListBox> ItemCollection = new ObservableCollection<ListBox>();

ListView.Souce = ItemCollection;

void KeyDown(object sender, KeyEventArgs e)
{
if(e.Key == key.enter)
{
string str = ((ListBox)((TextBox)sender).Parent).title; //ここでParentがnullになるがこんな感じでたどりたい
string str = ((ListBox)View.SelectItem).title; //テキストボックスがアクティブの時はViewのSelectItemがnullになる
}
}

522デフォルトの名無しさん:2011/05/29(日) 21:19:54.34
そのコードではコンパイル不能すぎて何を言わんとしているかさっぱり分からない。
ただ、Parentは論理的な親だから必ずいるとは限らない。
VisualTreeHeplerを使えば確実に取れるからそっちを検討すればおkだと思う。

そもそもコードビハインドで頑張らなきゃいかん処理か検討すべき。
Viewでなきゃできない処理もあるが、ViewModelで処理できるのであればそれも手だろう。
523デフォルトの名無しさん:2011/05/30(月) 04:51:10.23
困ったときはルーティングイベント
524デフォルトの名無しさん:2011/05/30(月) 08:15:38.22
>>521
Binding してるインスタンスを取得したいだけなら、
わざわざ辿らなくてもコントロールの DataContext から取れると思うけど。
そういうことじゃなくて?
525デフォルトの名無しさん:2011/05/30(月) 14:09:04.82
質問.
Buttonが2つあって,それぞれのClickイベントを,ProgressBarに対するアニメーションの
開始(BeginStoryboard)と停止(StopStoryboard)のトリガにしたい.
// XAML中にイベントトリガやストーリーボードを記述する方法で.

<Grid>
 <Grid.Triggers>
  <EventTrigger Source="buttonBegin" 〜 />
  <EventTrigger Source="buttonStop" 〜 />
 </Grid.Triggers>
 <Button Name="buttonBegin" 〜 />
 <Button Name="buttonStop" 〜 />
 <ProgressBar 〜 />
</Grid>
だと機能する.
でも,
<Grid>
 <Button Name="buttonBegin">
  <Button.EventTriggers 〜 />
 </Button>
 <Button Name="buttonStop">
  <Button.EventTriggers 〜 />
 </Button>
 <ProgressBar 〜 />
</Grid>
だと,Stop側が機能しない.

StopStoryboardからBeginStoryboardを参照できていないのか?とも考えたが,
BeginStoryboardNameプロパティに変な値を入れると例外が発生するので,そうでもないようだ.
どういうこと?
526デフォルトの名無しさん:2011/05/30(月) 19:51:39.34
>>524
やっとできましたありがとうごいました

( (ListBox)( (TextBox)sender ).DataContext ).title;

527デフォルトの名無しさん:2011/06/01(水) 02:38:50.77
WPFでXNAを使うにはどうすればいいですか?
public GamePadState padState;
参照に追加したのにエラーが出ます
528デフォルトの名無しさん:2011/06/01(水) 02:48:26.92
529デフォルトの名無しさん:2011/06/01(水) 18:44:01.26
>>528
書いてある通りにやったんですが、

アセンブリ 'XNAOnWPF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' で
定義された 'GraphicsDeviceControl' のインスタンスを作成できません。
呼び出しのターゲットが例外をスローしました。
マークアップ ファイル 'XNAOnWPF;component/window1.xaml' 行 11 位置 14 のオブジェクト
'windowsFormsHostXNA' にエラーがあります。

というエラーが出ます。

サンプルEXEは動くんですが、サンプルプロジェクトをビルドすると同じエラーが出ます
XNASDKは3.0、3.1、4.0の3つ入っていて3.0で試しました、原因は何でしょうか
530デフォルトの名無しさん:2011/06/01(水) 19:39:25.18
うちでも再現したな
ちなみにOSは64bitじゃない?

IDEの中央上にあるAnyCPUをx86に変えてビルドしなおせば
サンプルもうごくよ

たぶん>>528のサイトのサンプルはAnyCPUでビルドしてそうなので
64bitOS上だと動かないはず
531デフォルトの名無しさん:2011/06/01(水) 19:41:27.30
おっと動いた環境

windows7評価版64bit
VC#2008 Express + XNAGS3.0

IDEの設定
ソリューションプラットフォーム AnyCPU->x86
532デフォルトの名無しさん:2011/06/01(水) 19:44:23.94
SS
ttp://imgup.me/news/s/news2ch138878.png

そういえばVS2010の場合デフォルトのビルドターゲットはx86になったんだっけ?
533デフォルトの名無しさん:2011/06/01(水) 19:46:09.77
この問題はどこでも付きまとうな
534デフォルトの名無しさん:2011/06/01(水) 19:47:44.46
>>533
IEコア使う場合も気をつけないとひっかかるよね
ラジコ関連の簡易アプリ作った時に引っかかったわ
535デフォルトの名無しさん:2011/06/01(水) 20:07:25.27
おーできましたありがとうございました!
536デフォルトの名無しさん:2011/06/01(水) 23:37:37.57
>>532
ドキュメントぐらい読め。exeはx86、dllはAnyCPU
537デフォルトの名無しさん:2011/06/02(木) 00:47:43.24
dllがAnyCPUでも64からは呼べなくない?
538デフォルトの名無しさん:2011/06/02(木) 03:10:57.22
ドキュメント読めこのDQN
539デフォルトの名無しさん:2011/06/02(木) 04:06:24.44
ドキュンメントまで読んだ
540デフォルトの名無しさん:2011/06/02(木) 08:19:30.90
>>537
呼べる和ボケ。そのためのAnyCPUなんだから呼べなかったら不具合。
MSDNサブスクリプションで文句言って直してもらえばいい。
541デフォルトの名無しさん:2011/06/02(木) 14:38:17.84
http://japanese.engadget.com/2011/06/01/windows-8-metro-ui/
>フルスクリーンとタッチに最適化された新アプリの開発プラットフォームは、
>ハードウェアアクセラレーションが有効なHTML 5とJavaScriptベース。

WPFとSLにも言及してくれよ
542デフォルトの名無しさん:2011/06/02(木) 14:53:49.80
Metro UIの開発者を増やすためにHTML5とJSを採用するのは当然だな。

どうしてWPFやSLの話をしないといけないんだ?
ARM版Office(Word)のデモのように、Metro UIからWPFやSLが起動するようになるだけだろ。
543デフォルトの名無しさん:2011/06/02(木) 14:56:55.03
Metro UI上ではWPFとSLどっちがメインなんだろうか。
というより、WPFとSLはもう統一しちゃってもいいだろ。
544デフォルトの名無しさん:2011/06/02(木) 18:48:07.05
JSかよ...
まあ、これでVSでのJSサポートが手厚くなると考えれば、
悪い話ばかりでもないか
545デフォルトの名無しさん:2011/06/02(木) 19:01:08.73
Windows7とWindowsPhone7をひとつにまとめたいのかな。
スマホとかにフルスペックのOS要らんと思うけど
546デフォルトの名無しさん:2011/06/02(木) 19:16:43.43
HTMLとCSSなんて無くなって、全部XAMLになれば良いのに!
547デフォルトの名無しさん:2011/06/02(木) 19:59:19.95
ザムルだと流行ったと思う
ザメルって知った時終わるとは思った風水的に
548デフォルトの名無しさん:2011/06/02(木) 20:07:27.12
?…ザムルだろ?

俺はイマイチ馴染めなくて、脳内発音はエクスエイエムエルだが
549デフォルトの名無しさん:2011/06/02(木) 20:11:38.18
>HTML置き替え
LooseXAMLェ…
550デフォルトの名無しさん:2011/06/02(木) 20:18:48.46
ttp://msdn.microsoft.com/ja-jp/library/cc295302
Extensible Application Markup Language (XAML) ("ザムル" と読みます)
551デフォルトの名無しさん:2011/06/02(木) 20:20:24.24
ExAML(エグザムル)とかでも良かったなw
552デフォルトの名無しさん:2011/06/02(木) 20:32:53.89
口に出すことはないが個人的にはィグザムルと読んでる
553デフォルトの名無しさん:2011/06/02(木) 20:34:10.83
LooseXAML → るーざむる
Silverlight → しるばら
554デフォルトの名無しさん:2011/06/02(木) 20:35:13.21
しるどらをおもいだすからやめろ
555デフォルトの名無しさん:2011/06/02(木) 20:36:57.84
俺は今、しょーもない事に気付いてしまった気がする

Loo seX AML
556デフォルトの名無しさん:2011/06/02(木) 20:37:23.58
やはり天才か
557デフォルトの名無しさん:2011/06/02(木) 20:40:03.94
XANALでなくてよかった
558デフォルトの名無しさん:2011/06/02(木) 20:43:50.88
LooseXAML、初回レンダリング遅過ぎるのがな…
559デフォルトの名無しさん:2011/06/02(木) 20:48:02.92
>>547-548
英語で「xamlは zamel と読め」って書かれてるんだけど、
英語だとアクセントないところの el の e は消えるからザムルで正解。
日本だと、MS 日本法人の人もザムルって読んでるはず。
560デフォルトの名無しさん:2011/06/02(木) 20:50:51.30
じゃあ流行るね棒
561デフォルトの名無しさん:2011/06/02(木) 20:58:04.31
ザメルじゃないのか
なんかすげーうれしい
やる気出てきた
562デフォルトの名無しさん:2011/06/02(木) 23:06:05.29
MSのトレーニングビデオでザメルって言ってたけどな。
たぶん人によるだろ。
563デフォルトの名無しさん:2011/06/02(木) 23:18:24.70
無難にムとメの間で発音すりゃいいじゃん
564デフォルトの名無しさん:2011/06/02(木) 23:22:38.24
ザメェル
565デフォルトの名無しさん:2011/06/02(木) 23:26:44.66
辞書に載ってる単語を出鱈目な発音してる奴も多いのに、MS語の読み方なんて誰も気にしてないよ
566デフォルトの名無しさん:2011/06/02(木) 23:39:38.16
まあ、話してて通じれば何でも良いわな

HTML5について
  俺「エイチティーエムエルファイブ」
  同僚「エイチティーエムエルご」

Firefoxについて
  俺「Fx」
  同僚「FF」

どうでも良いんだ…畜生…!
567デフォルトの名無しさん:2011/06/02(木) 23:46:09.66
おまえみたいなやつ嫌いだぜ
周りに影響されやすく中身スカスカの人間
568デフォルトの名無しさん:2011/06/02(木) 23:46:37.28
xap → ざっぷ の方がよほど慣れない
569デフォルトの名無しさん:2011/06/03(金) 01:38:26.89
xapはzip
xlsxもzip

これお豆な.
570デフォルトの名無しさん:2011/06/03(金) 01:42:16.41
you zapped to...
571デフォルトの名無しさん:2011/06/03(金) 01:54:27.16
ザップって言われてドルアーガ思い出すのはおっさん。
572デフォルトの名無しさん:2011/06/03(金) 02:07:16.15
まだ16進10代なのになァ…
573デフォルトの名無しさん:2011/06/03(金) 02:22:51.13
64進なら
574デフォルトの名無しさん:2011/06/03(金) 06:43:10.86
Base64で10代?
575デフォルトの名無しさん:2011/06/03(金) 11:05:14.62
10代だな (mod 20)
576デフォルトの名無しさん:2011/06/03(金) 12:38:07.93
CAML でも YAML でも、最後に ML がつくのは、Camel のように発音する。
m-el ム-エル が音便によってメルになる感じ。
SQL をシーケルというのも、シーク-エル の音便。

なんだけど、実際は Camel にしたって全然メルじゃない。
俺程度の耳には XAML はザモーだし Camel はキャモーに聞こえる。

発音を知りたい単語 と pronunciation で検索すると、まあまあの確率で録音がでてくるので、調べたければ覚えておくと便利。
577デフォルトの名無しさん:2011/06/03(金) 12:59:29.05
便利、まで読んだ
578デフォルトの名無しさん:2011/06/03(金) 13:32:22.65
えらいっ!
579デフォルトの名無しさん:2011/06/03(金) 14:03:36.29
もう
エックスエーエムエル
でええやないか
580デフォルトの名無しさん:2011/06/03(金) 14:13:01.35
XAMLは"らめぇ"でCamelは"くるぅ"、これで決定。
異人にも案外通じるはず
581デフォルトの名無しさん:2011/06/03(金) 19:35:21.27
>読み方
Googleの作ったWebPよりはマシだよ。多分。

>>571
俺はパラノイアを思い出した。ZAP!ZAP!ZAP!
コンピュータ様の開発マダー?
582デフォルトの名無しさん:2011/06/04(土) 00:04:56.99
>>580
エロゲーオタにしか通じなさそうだな
583デフォルトの名無しさん:2011/06/04(土) 06:44:51.69
じゃあXNA=んあー
584デフォルトの名無しさん:2011/06/04(土) 14:48:52.46
この投げやりな流れ
一体何があったんだ
585デフォルトの名無しさん:2011/06/04(土) 19:51:40.68
流れ的には>>541からかな
586デフォルトの名無しさん:2011/06/05(日) 00:24:40.63
Ellipseの位置はどうやって決めればいんですか?
縦横幅はありますが、Top、Leftまたは中心点のプロパティが見つかりません
587デフォルトの名無しさん:2011/06/05(日) 00:26:32.13
Canvas内に置くならCanvas.Topで指定。
それ以外なら、HorizontalAlignmentとMargin。
588デフォルトの名無しさん:2011/06/05(日) 00:29:53.47
>>586
winformとは座標の指定の仕方が違う
XAML
<Ellipse Canvas.Top="0" Canvas.Left="0" />

コード
Ellipse ellipse1 = new Ellipse();
Canvas.SetTop(button1, 0);
Canvas.SetLeft(button1, 0);
589デフォルトの名無しさん:2011/06/05(日) 00:34:49.81
ありがとうです
590デフォルトの名無しさん:2011/06/05(日) 00:35:41.86
>Canvas.SetTop(button1, 0);
コピペミスだろうけど、Canvasにボタン貼り付けるのはちょっと・・・
591デフォルトの名無しさん:2011/06/05(日) 00:38:14.90
>>590
ああw
ミスだなw
592デフォルトの名無しさん:2011/06/06(月) 14:51:48.82
たとえばですが黒い文字を縁取りではなくバックを文字にあわせて
白く塗ったような感じにするにはどうすればいいんだろう
593デフォルトの名無しさん:2011/06/06(月) 14:53:04.21
うまく表現しきれないので例で・・
http://jigokuno.img.jugem.jp/20110606_2128773.gif
594デフォルトの名無しさん:2011/06/06(月) 15:09:57.45
1)パス変換して太い線でなぞる
2)カスタムシェーダーを書く
595デフォルトの名無しさん:2011/06/07(火) 00:39:27.18
同じ位置に二つのテキストを表示しておいて後ろの方をBitmapEffectでボヤかすとか。
やったことないけどなw。
596デフォルトの名無しさん:2011/06/07(火) 05:32:18.94
後ろに半透明なグラデーションブラシ設定してお茶濁してた。
597デフォルトの名無しさん:2011/06/08(水) 03:50:56.75
>>592
縁取り色と背景色が同じ、という以外には見えないんだけど。
598デフォルトの名無しさん:2011/06/08(水) 23:28:11.54
http://wktk.vip2ch.com/vipper8719.png
処理速度とかいろいろ考えるとシェーダー書いたほうがいいかもね
キャッシュするとcleartype使えないしキャッシュしないと鬼のように重い
599デフォルトの名無しさん:2011/06/09(木) 10:22:32.34
Blend無料配布してくれ
600 忍法帖【Lv=10,xxxPT】 :2011/06/09(木) 10:25:54.94
Blendなど要らんという態度じゃないと無料にはならんだろうな
601デフォルトの名無しさん:2011/06/09(木) 10:40:39.02
いらねえよ、ペッ

ハァハァ
602デフォルトの名無しさん:2011/06/09(木) 13:39:27.02
こんなもんタダなら使いたくて要らねーんだよ
603デフォルトの名無しさん:2011/06/09(木) 14:53:38.67
VSだけで十分だろ
Blendなんてタダじゃなきゃ誰も使わないよ!
604デフォルトの名無しさん:2011/06/09(木) 16:52:16.36
使ってる人がいっぱいいるんだな
BlendなしでXAMLで円を描くとか四角を書くみたいなことは楽にできても
直線をたくさん組み合わせたような複雑なのやインパクトのあるアニメーションとか実質無理みたいなもんだし。できることはできるけどややこしすぎて。
605デフォルトの名無しさん:2011/06/09(木) 16:59:09.53
駄目だ駄目だ駄目だ
弱気になるんじゃない
606デフォルトの名無しさん:2011/06/09(木) 17:10:02.92
大半はBlendなしでもなんとでもなるんだけど、
テンプレート(特にVSM利用)とアニメーションだけはどうにもなんない。

Blend、WP7開発用なら無料なんだけどね。
一般のBlendにもExpress版がないとちょっと人には進めにくい…
607デフォルトの名無しさん:2011/06/09(木) 19:04:49.40
Blend2は安かったから買ったんだけどね
アップグレード版がVSスタンダード込みで二万以下とか
608デフォルトの名無しさん:2011/06/09(木) 20:53:22.64
趣味でBlend&Designに4万出すのは辛い
まともなペイントソフトもついてれば買ってもいいんだが
609 忍法帖【Lv=10,xxxPT】 :2011/06/09(木) 21:08:30.06
でも代わりになるものがないから買うしかないんでしょう?
610デフォルトの名無しさん:2011/06/09(木) 21:20:03.56
買うなよう〜
611デフォルトの名無しさん:2011/06/09(木) 21:35:04.82
じゃあ放送大学+DreamSparkとか
612デフォルトの名無しさん:2011/06/09(木) 22:39:51.79
MVVM的にはフォーカスのセットってどうすりゃええのん?
例えばアイテムを新規追加したらそこにフォーカス当てたいんだけど、ビュー側じゃどのアイテムが新規なのか判断つかないしModelView側じゃアイテムに対するコントロールを判断できないじゃん?
613デフォルトの名無しさん:2011/06/09(木) 22:52:18.63
コードビハインド使えよ
614デフォルトの名無しさん:2011/06/09(木) 22:53:42.67
アイテムが追加されたときにVMがイベントを発生させて、それをViewのコードビハインドで受ければよくね
コレクションのCollectionChangedイベントでもいいし、自分で定義してもいい
追加されたアイテムはイベント引数から取得できる
一応VMでやる方法もある
CollectionViewSource.GetDefaultView(VMのコレクション).MoveCurrentTo(項目)
でも複雑な制御はできないしMVVM的に微妙…
615デフォルトの名無しさん:2011/06/09(木) 23:30:14.61
Behaviorで、AssociatedObjectのデータコンテキストがINotifyCollectionChangedだと仮定して、
CollectionChangedイベントを拾ってFocusするとか。
616デフォルトの名無しさん:2011/06/09(木) 23:34:13.20
Tabキーで移動する先がどこになるか調べるメソッドとかないですか?
617デフォルトの名無しさん:2011/06/10(金) 02:39:10.24
そもそもおまえらMVVMの目的と手段を取り違えてるよ
チーム開発するためのシステムであって
原則も考えず「ビューは○○じゃないといけないから〜」とかデメリットしか取ってないじゃん
618デフォルトの名無しさん:2011/06/10(金) 02:52:49.39
思想や宗教染みて来るんだよな、こういうのって
MVVM教原理主義者、的な

導入した結果として実装効率やら保守性やら下がっちゃ、何の意味もねーだろってのにな
619デフォルトの名無しさん:2011/06/10(金) 08:00:59.17
Object指向はコード量が増えるからクソ

昔々、声高にそう叫んでいた一派もいた。
無理に適用するのはアホだが、本質を考えないのもアホ。適材適所だろ。
620デフォルトの名無しさん:2011/06/10(金) 09:59:56.44
しっくりの悪口はやめろ
621デフォルトの名無しさん:2011/06/10(金) 11:46:41.23
本質とか考えずに「使うな」「使え」と単純化させたほうが初心者にはわかりやすいからね。
なんでかよくわからないけど、ある程度熟練した人たちがこうすればいいって言ってるんだからやろーかー
みたいな。
622デフォルトの名無しさん:2011/06/10(金) 12:07:29.74
入り口はそれでいいけど、一段上に上がるにはそれじゃ駄目だ
そういう人って根拠を求められたことってないんだろうか?
623612:2011/06/10(金) 15:15:04.36
レスくれた人たちありがとう
実装方法にこだわるつもりはないんだけど一貫性てのは重要視してるもんで、こんなときにはこうするって指針があれば参考にしたかったんだ

Blendは子持ちの人はアカデミック買おうぜ
幼稚園児も学生なんだぜ
624デフォルトの名無しさん:2011/06/10(金) 22:30:31.96
教えていただけると幸いです。WPF の初心者です。
以下のようなことをする場合、WPF 的にはどうするのがきれいでしょう?

・TabControl を乗せた a.xaml を作成する
・上の TabControl 上のコントロール?を記述した b.xaml を作成する
・b.xaml では特定の部品の情報を表示し、タブでは仕入れ先を切り替え、すべてのタブで同じ項目を表示する
・b.xaml では GridData で囲ってコントロールを配置する
・b.xaml では GridData.SelectedItem を参照して表示するためのデータを得る

この場合、a.xaml でタブページを切り替えるたびに b.xaml の GridData.SelectedItem を
更新する必要があるのだけど、どうやったらいいのか悩んでいます。

ぱっと思いつくのは a.xaml の TabControl の SelectedIndexChanged イベントや、ビヘイビア?を使って
イベントハンドラを呼び出してそのハンドラ内で切り替え処理を実施するってやり方ですが、
よく考えたら a.xaml から b.xaml 内のコントロールを触るやり方がわからなくて。
そもそもそのやり方が WPF に馴染むのかも判断できず。アドバイスをお願いします。
625デフォルトの名無しさん:2011/06/10(金) 22:42:35.48
そのb、ユーザーコントロールの方がaからの命令を受け取るように作るんだよ
だって、bの内部構造が変わった途端aまで動かないとかそんなコード許せないでしょ?
626デフォルトの名無しさん:2011/06/10(金) 22:58:36.39
TabControlはTabItemのコレクション持っているのだから
TabItemのDataContextがユーザーコントロールのDataContextになるようにXAMLとモデルを構成すればいいだけ
627デフォルトの名無しさん:2011/06/10(金) 23:02:58.92
つーか質問するならXAMLを書いて貼って欲しい
分かってない人に漠然と説明されるより100万倍分かりやすい
628デフォルトの名無しさん:2011/06/10(金) 23:03:47.11
GridDataなんて聞いたことないのだが
629デフォルトの名無しさん:2011/06/10(金) 23:12:50.16
>・b.xaml では GridData で囲ってコントロールを配置する

多分これはGridクラスで、

>・b.xaml では GridData.SelectedItem を参照して表示するためのデータを得る

多分これはDataGridクラスだと思う。
630デフォルトの名無しさん:2011/06/10(金) 23:23:57.14
WPFer的にはQt Quickってどうなん?
アニメーションや状態遷移など、XAMLっぽく書けるし無料でBlendのようなツールも付いてくる。
できたアプリはクロスプラットフォーム。となかなかよさそうなもんだが。
631デフォルトの名無しさん:2011/06/10(金) 23:53:22.76
formsがおわコンでMS的にこれからはWPFで作れって言う流れだからWPFやってるだけだし
632デフォルトの名無しさん:2011/06/10(金) 23:58:35.87
たぶんこういうこったろ

<Window x:Class="TabTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:m="clr-namespace:TabTest"
Title="MainWindow" Height="350" Width="680">

<Window.Resources>
<m:MainWindowViewModel x:Key="model" />
</Window.Resources>

<Window.DataContext>
<StaticResourceExtension ResourceKey="model" />
</Window.DataContext>

<Grid>
<TabControl ItemsSource="{Binding Drives}">
<TabControl.ContentTemplate>
<DataTemplate>
<m:TabContent />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</Grid>
</Window>

続きます
633デフォルトの名無しさん:2011/06/10(金) 23:59:03.02
<UserControl x:Class="TabTest.TabContent"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:m="clr-namespace:TabTest"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<m:DirectoryToFilesConverter x:Key="conv" />
</UserControl.Resources>
<Grid>
<ListBox ItemsSource="{Binding Converter={StaticResource conv}}" />
</Grid>
</UserControl>
634デフォルトの名無しさん:2011/06/11(土) 00:37:30.45
ド低脳すぎてついて行けません
どうしたらいいですか
635デフォルトの名無しさん:2011/06/11(土) 00:52:02.98
ContextMenuのMenuItemのCommandParameterに{Binding ElementName=xxx, Path=yyy}として
メニューを選択しても、よばれたCommandのパラメータがnullになってしまうのですが、どうしたらよろしいのでしょう。
ButtonのCommandParameterなら値が渡ります。
636デフォルトの名無しさん:2011/06/11(土) 01:09:36.34
多分ContextMenuからだとElementNameで検索するスコープが違うから指定の要素が見つかってない。
637624:2011/06/11(土) 14:56:33.92
ありがとう。
言葉が不足&変でしたが、だいたい >>632,633 みたいな感じでした。
もうちょっとお勉強してきます。

>>625
その通りなんですが、どうやるのかがわからなかったんです。

>>626
どうすればいいのかなーってところで蹴躓いてました。
お勉強してきます。
638デフォルトの名無しさん:2011/06/14(火) 19:44:49.92
コントロールテンプレート保守
639デフォルトの名無しさん:2011/06/18(土) 00:13:34.26
いい歳してお漏らし癖が止まらないんだがどうすればいいんだろうか…

ttp://www.infoq.com/jp/news/2009/10/WPF-Memory-Leak
とそのリンク先は見て対応したけど、ガベコレに強制回収させた後でも
そのEffectが破棄したViewへの参照を持ちつづけていたりして一行に残尿感がなくならないし、
本当に漏れているのか漏らしていないのかも自分では分からない。
640デフォルトの名無しさん:2011/06/18(土) 00:48:29.02
WPF を利用して印刷やってます。

XAML の中に <IMAGE> タグでローカルファイルを張ってます。
Visual オブジェクトを得るために途中で XmlReader.Load を実行すると、先のローカルファイルにロックがかかります。
かかるのはいいんだけど、処理が終わった後もプログラム自体を終了するまで、そのままとなってます。

XmlReader.Load の出力のオブジェクトには Dispose もないみたいだし、解放するにはどうすればいいんでしょうか。
641デフォルトの名無しさん:2011/06/18(土) 01:27:53.24
>>639
派生クラス作ってコンストラクタで10MBくらい確保してタスクマネージャーで追えばわかるだろ
642デフォルトの名無しさん:2011/06/18(土) 03:55:29.99
>>641
タスクマネージャを使うぐらいならWinDbgとかsosとかもっと高精度な手はある。
ただ、PropertyDescriptorからの参照とか、他の部品のRenderからの参照(キャッシュ?)とか、
いつインスタンスが消えるのが正しいのか分からない場合も多々ある。
643デフォルトの名無しさん:2011/06/18(土) 09:23:49.39
リークしてるか調べたいんじゃないのかよ
644デフォルトの名無しさん:2011/06/18(土) 11:03:46.63
>>640
image.SourceのBindingに
CacheOption.OnLoadなBitmapImageを返すConverterを設定
645デフォルトの名無しさん:2011/06/18(土) 23:02:03.20
>>644
thx
まだよく意味がわかってないけど、週明けに確認してくる。
646デフォルトの名無しさん:2011/06/18(土) 23:03:22.98
Labelをクリックすると、そのLabelの文字列のURLでIEやFirefoxなどのブラウザが起動(起動してる場合は新しいタブや新しいウィンドウなど)
みたいなことやりたいんだけどどうやればいいですか!

Label1のTextがhttp://hibari.2ch.net/test/read.cgi/tech/1301122694/
だった場合、Label1をクリックするとIEやFirefoxでこのページに飛ぶ
みたいなことやりたいんです
647デフォルトの名無しさん:2011/06/18(土) 23:14:35.00
>>646
void Label_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
 System.Diagnostics.Process.Start(((Label)sender).Content.ToString());
}
648デフォルトの名無しさん:2011/06/18(土) 23:57:04.90
ResizeGripの使い方がよくわからないんですけど
これはつまり何ができるものでどう組み込めばいいの?

<Grid>
<ResizeGrip />

</Grid>

ってやるとグリッドの右下隅になんか表示はされるんだけどこれでグリッドをリサイズできるもんでもないみたい
649648:2011/06/19(日) 01:35:48.15
解決
thumbに適用するテンプレートだったんですね
失礼しました
650デフォルトの名無しさん:2011/06/20(月) 23:13:36.72
先週、Image タグについて質問した者です。
基本的なことで申し訳ないのですが、もう一点教えてください。

たとえば以下のような XAML から Medi.Visual のオブジェクトを作ります。

<Grid Name="grid01">
<Grid Name="grid02">
<TextBlock Name="textblock01" Text="Test"/>
</Grid>
</Grid>

この TextBlock "textblock01" の Text の設定値を 先の Visual オブジェクトから
変更することは出来るでしょうか。
この例では、Visual オブジェクトを作成する XmlReader.Load() で得られるのは
"grid01" の Grid オブジェクトなのですが、その子ノードにアクセスする手段がわからないのです。
651デフォルトの名無しさん:2011/06/20(月) 23:22:05.79
> 先の Visual オブジェクトから変更する
ってのがよく分からんが、要はFindName?
652デフォルトの名無しさん:2011/06/20(月) 23:23:22.61
Gridのプロパティ穴が開くほど見れば分かるだろ
http://msdn.microsoft.com/ja-jp/library/system.windows.controls.grid.aspx
653デフォルトの名無しさん:2011/06/20(月) 23:58:08.71
ありがとうございます。

>>651
はい。何らかの手段で Visual の階層的にしたにあるオブジェクト
(この場合は System.Windows.Controls.Textlock )を取得したかったのです。

FindName で出来そうです。
いまは頭がもう寝てるので明日確認してみます。
おかしいなぁ。本当に穴が開くほどヘルプを見てたはずなんだけど。。。
なんで気づかないかなぁ。。。
654デフォルトの名無しさん:2011/06/21(火) 03:25:52.81
なんでそんな保守性の悪いコードを書こうとするのか
ただの実験ならいいけど
655650:2011/06/21(火) 22:08:53.68
FindName で問題なくできました。ありがとう。

>>654
だってその条件でやれってことなんだもん。
656デフォルトの名無しさん:2011/06/24(金) 16:08:05.61
2010でAPICodePackでグラスウィンドウ使ってるんだけど、PDBの出力なしにしてビルドするとエラーになる。
GlassWindow.csの
HwndSource.FromHwnd(windowHandle).CompositionTarget.BackgroundColor = System.Windows.Media.Colors.Transparent;
という行で「ArgumentExceptionはユーザーコードによってハンドルされませんでした。ゼロの Hwnd は無効です。」というエラーが出る。
しかし、このまま続行すると普通に起動、使用はできる。
657デフォルトの名無しさん:2011/06/25(土) 12:43:55.79
SourceInitialized前に呼び出すとウインドウハンドル取得できず例外が買える

あとはわかるな
658デフォルトの名無しさん:2011/06/27(月) 11:31:05.92
Rectangle の上にマウスカーソルがきたら色を変更したいと思い、
下記のURLにあるxamlを書いたのですが、無反応で困ってます。どこがいけないんでしょうか?

http://ideone.com/VxOzw
659デフォルトの名無しさん:2011/06/27(月) 11:43:49.21
> Rectangle Fill="Azure"
Styleのトリガの設定よりプロパティの設定の方が優先される
MSDNの「依存関係プロパティの概要」
トリガで変えるのならStyleのSetterでデフォルト設定しとく
660デフォルトの名無しさん:2011/06/27(月) 12:34:10.14
>>659
無事に動作しました。ありがとうございます!

TriggerはWPFの重要な要素だと思うのですがいまいち情報が少ない気がします。
助かりました。
661デフォルトの名無しさん:2011/06/27(月) 16:54:04.64
>>660
まあ、Trigger、ひょっとしたら過去の遺物になるかもしれないし。
VisualStateManager と Behaivior の方が将来性ありつつ、
それはもっと情報少ないけども…
662デフォルトの名無しさん:2011/06/28(火) 23:47:04.33
みなさんがお使いのレポート作成ツールを教えてください。
よろしくお願いします。
663デフォルトの名無しさん:2011/06/28(火) 23:49:00.85
どこの誤爆ですか
664デフォルトの名無しさん:2011/06/29(水) 08:54:04.69
そりゃトリガもVSMも本来人間が触るもんじゃないし
VSMの方がよりデザインツールに向いてるからVSMにシフトしつつあるだけ
665デフォルトの名無しさん:2011/06/29(水) 09:02:28.66
となると、やっぱ足りてないのはBlend前提の記事と、
Blend の Express 版提供よなぁ。
666デフォルトの名無しさん:2011/06/29(水) 17:23:02.36
無料版は特に必要ないや
DelphiやC#が無料で配布されたせいで、いろいろ問題起こってる
Delphiも消えたし
667デフォルトの名無しさん:2011/06/29(水) 18:01:21.51
選民か
668デフォルトの名無しさん:2011/06/29(水) 18:14:25.48
WPF用Blendの無料版が出るとは思えないが、
WP7専用のBlendなら無料版も出るかもな

C#の無料版が.NET開発者を増やしたのと同じように
WP7の開発者を増やすという目的があるし
669デフォルトの名無しさん:2011/06/29(水) 18:16:36.08
>>668
WP7 版ってすでに無料じゃなかったっけ?
670デフォルトの名無しさん:2011/06/29(水) 20:15:01.14
依存関係プロパティに{Binding Mode=OneWayToSource}をセットすると、
コンストラクタでセットした値が初期値に戻ってしまうのですが、
戻らないようにするにはどうすれば良いのでしょうか?
下記URLのソースのようにするとマウス左ボタンクリックでpageではなくhogeが表示されてしまいます。

http://ideone.com/v0UWZ

Loaded でセットすればpageと表示されるのですが・・・
671デフォルトの名無しさん:2011/06/29(水) 22:28:55.13
素直に StackPanelEx の OnInitialized や Loaded でセットするんじゃダメなの?
Binding 時に古い値は初期値(やソースの値)で上書きされるよ。セットするなら、Binding 後じゃないと。
672デフォルトの名無しさん:2011/06/29(水) 22:46:21.86
そういう仕様なんですね。
TypeがObservableCollection とかクラスだったりすると同じインスタンスを共有しちゃうのでコンストラクタで初期値セットするじゃないですか。
それにならいたかったんですが素直にLoadedでセットすることにします。
ありがとうございました。
673天使 ◆uL5esZLBSE :2011/07/03(日) 17:34:52.56
Rubyバカにしてる子ってさ
変数に$ついてる言語触ってるって事だよね

いちいちSHIFT+4キーおして $ 打ちまくってる感触はどう?


はい次
674デフォルトの名無しさん:2011/07/03(日) 17:37:08.39
どこの誤爆ッスか
675デフォルトの名無しさん:2011/07/03(日) 20:27:30.42
通報済み
676デフォルトの名無しさん:2011/07/04(月) 23:33:20.83
DocumentViewer について教えてください。

これで簡単な印刷プレビュー画面をそのまんま作ったのですが、
プログラムから、「画面全体に表示」とかを指定することは出来ないのでしょうか。
コントロール自体にそれ用のボタンがあるくらいなので出来るんだろうとは思ったのですが、
ヘルプを見た限りではそれっぽいプロパティなどを見つけることが出来ませんでした。

ご教示いただければ幸いです。
677デフォルトの名無しさん:2011/07/08(金) 02:40:40.01
この本読んでみたいけど手に入れるのは難しいのかな
http://www.amazon.co.jp/dp/1430272058
678デフォルトの名無しさん:2011/07/08(金) 02:56:07.17
品切れでもそのうち入荷するよ
まあ紙じゃなくてもいいならぐーぐるを英語モードにしてぐぐればタダだけどね
679デフォルトの名無しさん:2011/07/08(金) 06:54:45.64
>>678
60秒待ったら落ちてきたサンクス!!(・∀・)
680デフォルトの名無しさん:2011/07/10(日) 23:42:11.73
VS2010のWPFのDataGridってHitTestInfo使えないんですか?
ダブルクリックした行がどれか知りたい場合どうすれば。。。
681デフォルトの名無しさん:2011/07/11(月) 00:08:27.56
VisualTreeHelper クラスをググると幸せになれるかも。
使い方は違うようだけど。
682デフォルトの名無しさん:2011/07/11(月) 00:26:00.20
そもそもDoubleClick拾えたっけ
CellTempleteならできるだろうけど
683デフォルトの名無しさん:2011/07/11(月) 00:26:51.72
>>680
俺も知りたい
解決したら書き込みを頼む
684682:2011/07/11(月) 00:33:09.33
ごめん嘘
たぶんこう

<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding}" >
<DataGrid.Columns>
<DataGridTextColumn Header="Length" Binding="{Binding Length, Mode=OneWay}" />
<DataGridTextColumn Header="Name" Binding="{Binding Mode=OneWay}" >
<DataGridTextColumn.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<EventSetter Event="MouseDoubleClick" Handler="DataGrid_MouseDoubleClick" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
685682:2011/07/11(月) 00:34:27.26
むしろこっちか

<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding}" >
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}">
<EventSetter Event="MouseDoubleClick" Handler="DataGrid_MouseDoubleClick" />
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Length" Binding="{Binding Length, Mode=OneWay}" />
<DataGridTextColumn Header="Name" Binding="{Binding Mode=OneWay}" />
</DataGrid.Columns>
</DataGrid>
686デフォルトの名無しさん:2011/07/11(月) 00:37:33.21
senderにItemsSourceに割り当てられたコレクションのうちの一つが
eの方からDataGridCellが取れるので
ItemContainerGenerator.IndexFromContainerなどを通してIndexに触れるはず
687デフォルトの名無しさん:2011/07/11(月) 00:43:26.73
private void DataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var icg = dataGrid.ItemContainerGenerator;
var c = icg.ContainerFromItem(((DataGridCell)sender).DataContext);
var i = icg.IndexFromContainer(c);

MessageBox.Show(""+i);
}
688デフォルトの名無しさん:2011/07/11(月) 00:59:28.93
言ってる事と書いてる内容がむちゃくちゃだ。
とりあえず動くけど。
689デフォルトの名無しさん:2011/07/11(月) 01:13:01.58
this.dataGrid.LoadingRow += (s, e) =>
{
(e.Row as DataGridRow).MouseDoubleClick -= OnDoubleClick;
(e.Row as DataGridRow).MouseDoubleClick += OnDoubleClick;
};

void OnDoubleClick(object sender, RoutedEventArgs e)
{

}
690680:2011/07/11(月) 22:38:19.06
>>685
>>687
この通りにしたら動きました。
ありがとうございます。
691デフォルトの名無しさん:2011/07/12(火) 14:08:57.95
Style の EventSetter 書くときに、Handler を自動生成してくれる方法ってないの?
コントロールだったら、Click= って入力したときに出てくる、
<新しいイベントハンドラ>とかいうポップアップが出てくるんだが。
692デフォルトの名無しさん:2011/07/13(水) 15:46:54.02
PostMessage的な感じで、次のキューにイベントの処理を任せる事ってできないの?
エクスプローラからD&Dさせたときに長い処理があって、エクスプローラへはすぐに処理を返したいんだが、D&Dされた方はビジー状態にしときたい。
そりゃ、その処理を別スレッドにして、処理中操作不能になるようにしときゃいいんだけど、そこまでするほどの物じゃないと思って。
693デフォルトの名無しさん:2011/07/13(水) 16:54:51.96
適当にDispatcher拾ってきてBeginInvoke
694デフォルトの名無しさん:2011/07/13(水) 17:14:28.70
>>693
ディスパッチャーって言うんスね。

…匿名関数と組み合わせると、なんて便利な…
695692:2011/07/13(水) 18:02:33.33
>>693
ありがとうございました!!
696デフォルトの名無しさん:2011/07/13(水) 19:45:50.29
button.HorizontalContentAlignment = HorizontalAlignment.Stretch;
button.VerticalContentAlignment = VerticalAlignment.Stretch;
したButtonでContentをセンタリングすることって出来ませんか?
サイズは親要素いっぱい、文字は上下中央配置と云うことです
697デフォルトの名無しさん:2011/07/13(水) 19:54:55.44
意味が分からん
文字列しか表示しないならサイズも何もないと思うのだが
Contentはなんなのさ
698デフォルトの名無しさん:2011/07/14(木) 08:31:38.23
textblockがセンタリングできないよーとかそういう話だろ
699デフォルトの名無しさん:2011/07/16(土) 22:49:17.67
親ウインドウから下記のコードで子ウインドウを表示ししています。

private void Button_Click(object sender, RoutedEventArgs e)
{
  var fooWindow = new FooWindow();
  fooWindow.ShowDialog();
}

で、子ウインドウでは下記のように例外を発生させても
何の表示もなく普通に子ウインドウが表示されてしまいます。
private void Window_Loaded(object sender, RoutedEventArgs e)
{
  throw new NotImplementedException();
}

例外が無視されてるみたいなんですけど、これで正常なんでしょうか?
700デフォルトの名無しさん:2011/07/16(土) 22:52:01.65
親のloadedで例外出しても同じだろ

loadedまでは内部でcatchしてるんだろ。理由は知らんけど。
701デフォルトの名無しさん:2011/07/17(日) 20:30:04.92
loadedまでのエラー無視はその動作で正しいよ。コンストラクターまで無視されたかったっけ?あっちはアプリエラーになったっけ?

そもそもロードでエラーなんてアプリ続行していいレベルを越えたエラーだから、そういうソースを書く方が悪いといえば悪い。
702699:2011/07/17(日) 23:50:41.63
>>700
そうなの?親のloaded はIDEがエラー発生箇所に飛ぶけど、子だと飛ばないんだよ。

>>701
画面の初期表示時にコントロールに値を設定したくて、
その中で使ってるメソッドに実装してないのがあったから、
NotImplementedException 投げてたんだけど、
そういう処理って、Loaded でやらないほうがいいの?
703デフォルトの名無しさん:2011/07/18(月) 00:01:08.88
>>701は読み込み時のTypeInitializationExceptionやMissingMethodExceptionとかの話じゃないの?
704デフォルトの名無しさん:2011/07/19(火) 23:49:41.32
質問内容を見ていると、協力会社に使わせるのは心配になるよ。
こなれてるのこれ?
705デフォルトの名無しさん:2011/07/20(水) 00:13:39.26
モノはいいけどWinFormsみたいにtipsコピペでは使えないよ
706デフォルトの名無しさん:2011/07/20(水) 01:25:53.25
コード書く方がまったくこなれてない
前提知識がものすごく多い
707デフォルトの名無しさん:2011/07/20(水) 08:05:27.07
アプローチ全然違うからね…
708デフォルトの名無しさん:2011/07/20(水) 12:56:12.80
開発環境がそもそも未整備もいいところ
Blend程度に金出すくらいならFlexBuilder買うわ
こんな体たらくじゃあそらSilverLightも普及せんわ
WP共々撃沈がオチだな
709デフォルトの名無しさん:2011/07/20(水) 15:31:27.75
慣れるとらくだしイベントドリブンで書くのが面倒になってる自分がいる…
WinFormも途中まで概念取り入れてるしそんな難しいもんでもない…

>>708
スレ間違えてないか?大丈夫か?
710デフォルトの名無しさん:2011/07/20(水) 15:44:42.07
データバインドは良いけどコマンドバインドウザ過ぎだわ
もっと簡単に掛けるようにならない物かな
711デフォルトの名無しさん:2011/07/20(水) 20:45:31.55
そんなことがウザいと感じるならVM使うのが間違いだろ
コードビハインドにプロパティ定義してバインディングだけ使えばいいよ
VMはあくまでテストの手間を勘定すればメリットがあるというもの
712デフォルトの名無しさん:2011/07/20(水) 20:56:59.36
モデルがINotifyCollectionChangedやIPropertyChangedを実装してて
それをビューにバインドしたいだけだったらVM使わなくても
コードビハインドからバインド先のコントロールのDataContextに突っ込むのが楽だよ
713デフォルトの名無しさん:2011/07/21(木) 08:17:36.61
>>711
あとV以外を別言語で書きたいとき便利
714704:2011/07/21(木) 08:34:10.07
>>706 >>705
確かにそんな印象です。
経験者がいないとリスク高そうですね。
VS2012に期待
715デフォルトの名無しさん:2011/07/21(木) 14:52:41.49
つかコードビハインドがうざい
716デフォルトの名無しさん:2011/07/21(木) 15:14:07.80
お金を払って勉強させてあげてる状態だなw

自社でアプリとか作りまくってノウハウあるならいいだろうけど
717デフォルトの名無しさん:2011/07/21(木) 18:59:24.42
テンプレートエンジンでWebアプリ書いてる連中とか、AdobeAIRとかやってる連中の方が馴染みやすいと思う
Formsの延長では絶対にねえもん
718デフォルトの名無しさん:2011/07/21(木) 19:33:43.82
だが、それがいい(AA
719デフォルトの名無しさん:2011/07/23(土) 12:40:21.10
円グラフを描く一番簡単な方法を教えてください
720デフォルトの名無しさん:2011/07/23(土) 13:08:24.98
紙に書け
真円が書けないとか言うなよ
721デフォルトの名無しさん:2011/07/23(土) 13:56:56.45
うっさい黙れ
722デフォルトの名無しさん:2011/07/23(土) 13:58:39.68
このスレ役に立たないから落とそうぜ
723デフォルトの名無しさん:2011/07/23(土) 14:02:14.99
アスペ的には
一番簡単と言われても世界中に存在するグラフ用のライブラリを確認しないと一番を決めるのは云々
そもそも俺の簡単と質問者の簡単は違うかもしれない云々


Microsoft Chart Controlsでも使えばいいんじゃないの
724デフォルトの名無しさん:2011/07/23(土) 14:17:59.54
>>723
kwsk
725デフォルトの名無しさん:2011/07/23(土) 14:19:04.77
Gridで区切った行間、または列間に罫線を引きたいんだがいい方法ないかな
726デフォルトの名無しさん:2011/07/23(土) 14:22:36.56
>>725
borderを置く
borderのverticalalignmentやらgrid.columnspanやらを適切に指定
727デフォルトの名無しさん:2011/07/23(土) 15:53:22.75
>>726
d
728デフォルトの名無しさん:2011/07/23(土) 23:25:30.89
WPF + Entity Framework で作ったDBアプリのサンプルどっかにないだろか?
Northwind 的なやつ。
729デフォルトの名無しさん:2011/07/24(日) 00:00:34.06
Microsoft patterns & practicesとか?
技術サンプル色が強くてあんまり実践的じゃないけど
730デフォルトの名無しさん:2011/07/24(日) 00:45:07.09
>>728 これは? 中身見てないけど。
実例で学ぶアプリケーション開発 Ver.2 | Visual Studio 2010 ソリューション サンプル | MSDN
http://msdn.microsoft.com/ja-jp/silverlight/ff842424
731728:2011/07/24(日) 09:40:43.05
ありがとう。さっそく見てみるよ。
732デフォルトの名無しさん:2011/07/24(日) 17:07:44.91
VMウザって人は、Livet使ってみるとよろし。

ttp://ugaya40.net/livet
733デフォルトの名無しさん:2011/07/24(日) 19:38:24.88
通知とコマンドとビヘイビアがどうにかできれば何でもええねん

ContextMenuにコマンドバインディング設定しにくいのどうにかしろ
殺すぞ
734デフォルトの名無しさん:2011/07/25(月) 00:56:02.56
Model には郵便番号が7桁の文字列として入っています。
これを View に 〒[xxx]-[xxxx] みたく、3文字と4文字のテキストボックスにわけて
Binding したいと思います。

ViewModel で、二つの文字列型プロパティにわけて、Model に書き戻すときにつなげる
・・・という方法は思いついたんですが、もっと簡潔な方法ありませんか?
735デフォルトの名無しさん:2011/07/25(月) 01:10:11.96
Silverlight5ではマルチカラムテキストみたいなコントロールが追加されるらしいから
そのうちWPFにもフィードバックされるかも
736デフォルトの名無しさん:2011/07/25(月) 01:14:13.91
>>734
VMでプロパティ分けるに1票。
737デフォルトの名無しさん:2011/07/25(月) 01:15:09.05
>734
InputMan 使えばいいんでないかい?
738デフォルトの名無しさん:2011/07/25(月) 01:19:27.43
>>734
自分だとコンバーター使ってプロパティは一つにする方法とるかなぁ…
たぶんDBとか使うだろうし、VMでの入力時チェックも楽だし…
739デフォルトの名無しさん:2011/07/25(月) 01:20:49.92
俺はModelのプロパティ分けるわ
740デフォルトの名無しさん:2011/07/25(月) 01:26:09.99
View依存でモデルを変えるってのは無いな
モデルはあくまでDBなり出力先に合わせる
741デフォルトの名無しさん:2011/07/25(月) 01:34:42.63
>>740
同意。エンティティをそのままバインドできなくなるしね。
DateTime型をDatePickerとテキストに合わせるときも>>738のようにした。
なんで出力先の型のままモデル作って…というかDBだと自動で作ってくれて、それにVM合わせるって形だね。
742734:2011/07/25(月) 23:10:21.69
みなさんレスありがとうございます。

>>735
今回は郵便番号と電話番号だけなので、それぞれに UserControl
作っちゃうのが早いのか・・・という気がしてきました

>>737
なにそれ?と思って調べたら・・・
それは高い。

>>738
Converter って1対1以外の変換もできるんですか?
View から Model に戻す処理が Converter ではできない気が・・・
(私が知らないだけかもしれませんが)
743デフォルトの名無しさん:2011/07/26(火) 00:55:48.75
ConvertBackとConveterParameter使ってできるよ。
というか、郵便番号レベルならテキスト二個並べてConveterParameterとか使えばチェック含めてすぐできそうな気がする…
744デフォルトの名無しさん:2011/07/26(火) 11:11:46.72
>>732
さっそく見てみた。

Model が特定のクラスを継承している必要があるってどうなの?
既存のクラス使おうとすると、M-VM の間に Livet用Modelの層つくんなきゃいけなくね?
と思った。

国産だしちっと使ってみようかなぁ〜と思ったのに、残念だった。
745デフォルトの名無しさん:2011/07/26(火) 15:10:58.52
>>744
あれ?
ViewModel クラス(名前通り、VMの基底)のことでなく?
M も何か継承必要だっけ?
746デフォルトの名無しさん:2011/07/26(火) 21:50:04.38
この作者ってMVVMの目的を理解していない馬鹿が多いと言ってた人だよね
Modelに特定の基底クラスを要求するとかありえない設計だなw
747デフォルトの名無しさん:2011/07/26(火) 21:56:55.10
>NotifyObject
>変更通知機能を持つオブジェクトです。主にModelの基底クラスとして利用されます。

たぶんこれの事を言ってるんだと思うが
単なるINotifyPropertyChangedのヘルパーで継承は義務じゃない

勝手に勘違いして貶すとか低脳すぎんだろ
748デフォルトの名無しさん:2011/07/26(火) 22:06:39.40
>Modelの発生させる独自イベントをLivetのNotificatorを通じて発生させる必要があります
つまりフレームワークにモデルを合わせることを前提にしてるわけだよ
749デフォルトの名無しさん:2011/07/26(火) 22:07:04.35
一通り読んだけど継承って単語すら出てこないな…。

Notificatorってのが気になったけどこれは単なるプロパティだ。
750デフォルトの名無しさん:2011/07/26(火) 22:09:29.44
>>748
それは別に問題なくね。

今問題にしてるのは「既存のクラス使おうとすると、M-VM の間に Livet用Modelの層つくんなきゃいけなくね?」って部分。
751デフォルトの名無しさん:2011/07/26(火) 22:13:42.18
>>748
んなこと言ってたらINotifyPropertyChangedすら書けないじゃん
752デフォルトの名無しさん:2011/07/26(火) 22:16:18.54
INotifyPropertyChangedは標準ライブラリのインターフェイスで
特定の実装技術に依存してることにはならんだろ
別にMVVMではModelがINotifyPropertyChangedを実装してる必要はないし
753デフォルトの名無しさん:2011/07/26(火) 22:19:00.71
特定の実装技術に依存するのはよくないって
ならフレームワークって何のためにあるんだよw
754デフォルトの名無しさん:2011/07/26(火) 22:20:35.76
そんなこと言ってたら外部のライブラリ一切使えなくね…。
755デフォルトの名無しさん:2011/07/26(火) 22:22:43.31
Modelが特定のクラスを継承〜の指摘が見当はずれだったから話をそらし始めただけ。
756デフォルトの名無しさん:2011/07/26(火) 22:29:55.49
>>732見てないけどMにINotifyPropertyChanged付けるのって一般的なの?
757デフォルトの名無しさん:2011/07/26(火) 22:31:14.47
話ぶった切るけどローカルの画像をBitmapImageに非同期で読み込ませる方法ない?
BitmapImageはUriSourceでHTTPのスキームじゃないとだめっぽ(file:はNG)

FrameworkElementがスレッドに依存するからスレッドプールとかタスクにやらせると引っ掛かっちゃうよママン
758デフォルトの名無しさん:2011/07/26(火) 22:34:21.96
ファイルの内容だけ読み込んでUIスレッドに渡してやりゃいいだろ
759デフォルトの名無しさん:2011/07/26(火) 22:36:06.36
>>756
自動生成されたエンティティをモデルとするような場合は
ついでにINotifyPropertyChangedを実装しちゃうのが一般的
UIへの通知のためだけに手書きで実装するならMよりVMに実装したほうがいいと思う
>>757
Dispatcher.BeginInvoke使うとかBackgroundWorkerのRunWorkerCompletedイベントとか
760デフォルトの名無しさん:2011/07/26(火) 22:37:05.73
BitmapSource継承してロードする部分だけ自分で書けば行けるんじゃね
System.Drawingにデコードさせればスレッドの問題はないはず
WPFの範疇のクラスでスレッドに依存しないデコーダーがあれば最高だけど、あるのかは知らない
761デフォルトの名無しさん:2011/07/26(火) 22:40:32.60
>>758-
今はそうやってんだけどねー
ガクガクしちゃってこれが
IOで遅延しないだけ大分マシではあるんだけど

MemoryStreamに読み込み→Dispatcherを介して初期化
762デフォルトの名無しさん:2011/07/26(火) 22:44:00.70
>>760
ちょっとやってみる
763デフォルトの名無しさん:2011/07/26(火) 22:47:41.24
>>757
>BitmapImageはUriSourceでHTTPのスキームじゃないとだめっぽ(file:はNG)
ここの部分だけで他行は無視w

var img = new Image();
img.Source = BitmapFrame.Create(new Uri(filePath, UriKind.Relative));

とかでローカルを読める。
ちなみにBitmapFrameをキャッシュ化したりしてみたけど無意味だったから辞めた。
764デフォルトの名無しさん:2011/07/26(火) 22:52:31.15
>>761
がくがくしちゃってってどの程度かわかんないけど、>>763のConverter利用したTwitterアプリだけど全然気になならい…
使用環境がデスクトップのCore-i7(GPU差し)、ノートCore-i7(GPUなし)だから性能にあぐらかいてるだけかもしれんがw
765デフォルトの名無しさん:2011/07/26(火) 22:53:55.04
前に似たような所で引っかかった記憶がある。
ListBoxに画像をバインドしようとした時だ。
766デフォルトの名無しさん:2011/07/26(火) 22:55:15.52
>>764
画像がでかいからが一番の原因だろうな
どれも壁紙サイズだから
767デフォルトの名無しさん:2011/07/27(水) 01:56:54.73
>>757
適当なワーカスレッドで非同期にImageSourceを読み込んでFreeze()する。
後はUIスレッドでImageのSourceに突っ込むだけ。
Freeze()していないとスレッド間で扱えない。
768デフォルトの名無しさん:2011/07/28(木) 02:44:05.61
VMが一つでVを複数仕様って大丈夫かな?
メディアプレーヤーなんだが、複数のプレイコントロールビューを配置したんだが
しかもVは場合によっては途中で破棄する場合もある
769デフォルトの名無しさん:2011/07/28(木) 03:00:27.68
別にいいだろ
770デフォルトの名無しさん:2011/07/28(木) 12:13:28.47
プレイリストや再生リストがVM持つのはともかくプレイコントロールにVM必要かなあ
ほとんど役に立たない気がする
ユーザーコントロールとコードビハインドでよくね
771デフォルトの名無しさん:2011/07/28(木) 15:09:37.29
まずモデルとしてIMediaPlayerServiceやIPlaylistServiceなどがあって、
再生ボタンが押されたらIMediaPlayerServiceのインスタンスを取得して
Playメソッドを呼ぶっていうのが筋でしょ。その処理をVMに書くか
イベントハンドラに書くかだけの些細な違い。
で、VMを使っていればIMediaPlayerServiceを差し替えることで
Vなしでその処理をテストできるというのがMVVM。モデルに書くべき処理を
メインのVMに書いてしまっているから、それを利用するためにメインのVMを
共有したいということであれば、1VM複数Vの是非以前の間違いだと思う。
そういうわけじゃないならVが複数でも全然問題ない。
772771:2011/07/28(木) 15:53:32.49
IMediaPlayerServiceをモデルというのは不適切かも
再生機能を実装するのは最終的にはもちろんビューだよ
ともかく、いろんなVMから使いたい機能はVM受け渡したりしないで
MVVMと無関係な別のクラスが提供したほうがいいってこと
773768:2011/07/28(木) 19:31:00.07
作っているのはPCとテレビ2画面に対応したプレーヤーで、PC側のメインからでも
テレビの方の画面にあるコントロールでも操作可能になっています(一応動いていて今はリファクタリング中)
それとコントロールをVとVMに分けたいのは、Vを取っ替えて見た目を変更可能にしたいから
現状は>>770さんの言っているようなコードビハインドで書いています
774デフォルトの名無しさん:2011/07/28(木) 20:28:08.82
趣味悪いよなぁ
これ考えた奴
こんなのビジュアルツールで設定できるようにしろよ
775デフォルトの名無しさん:2011/07/28(木) 20:31:03.69
MSー!Blend買うてくれー!
776デフォルトの名無しさん:2011/07/31(日) 14:21:39.58
777デフォルトの名無しさん:2011/08/02(火) 09:16:10.86
ExpressionBlendのUIが黒すぎるんだが・・・・
なんであんな見づらくしたんだろう黒がカッコイイとでも思ってるのか
778デフォルトの名無しさん:2011/08/02(火) 09:30:17.27
格好いいと思っているんだろうな
779デフォルトの名無しさん:2011/08/02(火) 09:32:28.23
設定で黒くないのに変えられるだろ
780デフォルトの名無しさん:2011/08/02(火) 11:07:51.36
デフォで表示されるのがあれだからな
781デフォルトの名無しさん:2011/08/02(火) 11:13:44.20
Blend 2はバーゲン価格だったのに、何でここまで値上げしたんだ?
アップグレード版はVS2008Std同梱で15,000円しなかったぜ
782デフォルトの名無しさん:2011/08/02(火) 12:35:14.56
強気になれる要素があったんだろうなあ…
あったの?
783デフォルトの名無しさん:2011/08/02(火) 13:03:19.83
まあ高機能であることだけは確かだからな
784デフォルトの名無しさん:2011/08/02(火) 13:38:13.58
ライバルがいまいちだったんだろ
785デフォルトの名無しさん:2011/08/02(火) 14:40:23.07
ToolBarに追加されたComboBoxのWidthを、HorizontalAlignment="Stretch"のように可変にするにはどうすればいいんでしょうか?
DockPanelに追加するイメージなのですが、そうするとComboBoxのデザインが変わってしまいます
786デフォルトの名無しさん:2011/08/03(水) 02:12:40.24
ListViewの行の高さを変えるにはどうすればいいですか?
787デフォルトの名無しさん:2011/08/03(水) 02:20:04.51
http://msdn.microsoft.com/ja-jp/library/system.windows.controls.listviewitem.aspx

<Style x:Key="MyContainer" TargetType="{x:Type ListViewItem}">

<Setter Property="Margin" Value="0,1,0,0"/>
<Setter Property="Height" Value="21"/>

<Style.Triggers>
...
788デフォルトの名無しさん:2011/08/03(水) 02:48:26.57
>>787
ありがとうございます
できました
789デフォルトの名無しさん:2011/08/03(水) 22:56:13.45
TreeView のような HieralcicalDataTemplate に対応したコントロールを
ItemsControl から派生して実装したいと思います。

どこかにサンプルコードあったら教えてください。
790デフォルトの名無しさん:2011/08/05(金) 01:21:15.62
toolwindowをnoresizeにしたらタイトルが消えた
791デフォルトの名無しさん:2011/08/07(日) 00:37:58.39
48x48 の Foo.png を下記のようにして、Image に表示させると、
2倍くらい大きく表示されるわけなんですが、なぜ大きくなってしまうのか
ご存じのかたがいらっしゃいましたら教えてください。

<Window x:Class="TestApp.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
  <Grid>
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="Auto"></ColumnDefinition>
      <ColumnDefinition></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto"></RowDefinition>
      <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <Image Source="/TestApp;component/Images/Foo.png"></Image>
  </Grid>
</Window>
792デフォルトの名無しさん:2011/08/07(日) 00:48:24.42
Imageのfittingだかを指定するか、width,heightを指定する
793デフォルトの名無しさん:2011/08/07(日) 01:00:19.58
画面と画像のdpiをちゃんと設定しろ
794デフォルトの名無しさん:2011/08/07(日) 07:34:39.04
>>790
再現しない
795791:2011/08/07(日) 09:54:39.50
>>793
 ご指摘のとおりでした。

 画像の dpi を確認したら 56x56 でした。画面が 96x96 なので、
このせいでほぼ2倍だったんですね。

 画像の dpi をそろえようとすると、ものによってバラバラだったり
そもそも設定されていないのがあったり、使用許諾で改変不可
だったり(dpi変えるだけで改変に当たるかは疑問はありますが)
するのでプログラム側で指定できれば楽だと思いました。

 WPF にはリソース内の画像をすべて 96x96 dpi であるとして扱う
楽な方法はないでしょうか?
796デフォルトの名無しさん:2011/08/07(日) 10:21:59.41
一番手っ取り早そうなのはImageのWidth/HeightをSourceのPixelWidth/PixelHeightにバインドすることか?
797デフォルトの名無しさん:2011/08/08(月) 06:24:17.81
BitmapSourceはDPI読み取り専用だからうぜーよね
DPI変更とかでググってもこんな無駄な方法しか出てこない

private static BitmapSource convertDpi(BitmapImage bitmap, double dpi)
{
int width = bitmap.PixelWidth;
int height = bitmap.PixelHeight;

int stride = width * 4;
byte[] pixels = new byte[stride * height];
bitmap.CopyPixels(pixels, stride, 0);

return BitmapSource.Create(width, height, dpi, dpi, PixelFormats.Bgra32, null, pixels, stride);
}

使えねー
後はBitmapSource継承してDpiX/YとWidth/Heightを調整できるようにするくらいか
798デフォルトの名無しさん:2011/08/08(月) 17:12:24.45
ラスターイメージなんか使うなってことだよ。
言わせんな、恥ずかしい///
799デフォルトの名無しさん:2011/08/08(月) 20:40:48.88
だってベクターだとフリーアイコン少ないんだもーん。
800デフォルトの名無しさん:2011/08/08(月) 22:06:36.13
実際ツールバーにあるようなアイコン群をベクターにしてもパフォーマンスは問題ないの?
801デフォルトの名無しさん:2011/08/08(月) 22:28:56.13
フレーム毎にレンダリングしてるわけじゃないからあんまり関係ない
ツールバーなんてめったに再描画されないんだから
802デフォルトの名無しさん:2011/08/11(木) 12:02:52.82
コントロールを利用して画像を作成保存しようと考えてます
コントロールをウィンドウに配置し、表示した状態で保存することはできたのですが、
コントロールをウィンドウに配置しないで(オブジェクトだけつくって)やってみると、真っ黒になります

コントロールをウィンドウに配置しないでコントロールを描画させて画像を保存する方法はありますか?
803デフォルトの名無しさん:2011/08/11(木) 12:05:52.86
C#初心者スレにこんな流れがあったけど、こういうことじゃないのか


350 名前:デフォルトの名無しさん[sage] 投稿日:2011/07/16(土) 05:36:22.73
Gridをモニターに描画させないでGrid内のコントロールを含めた描画イメージを裏でスクリーンショットを撮るにはどうすればいいんですか?

351 名前:デフォルトの名無しさん[sage] 投稿日:2011/07/16(土) 05:44:06.65
GridからVisualBrushを生成する
DrawingVisual作ってRenderOpenしてDrawingContextにVisualBrushでDrawRectangleする
RenderTargetBitmapを生成してDrawingContextをRenderする
RenderTargetBitmapを保存するなりなんなりする

たぶんこれでおk

352 名前:デフォルトの名無しさん[sage] 投稿日:2011/07/16(土) 06:14:44.30
>>351
できたありがとう〜
804デフォルトの名無しさん:2011/08/11(木) 12:09:52.02
情報ありがとうございます
やりたいことはそれです
TRYしてみます
805デフォルトの名無しさん:2011/08/11(木) 15:30:50.24
できましたが、描画してから保存するまでの間にWPFの描画スレッド(?)での処理を挟まないといけないようですね
RenderTargetBitmap.Render()以降をCompositionTarget.Renderingで処理するようにしてみました
他にいい方法があれば情報よろしくです
806デフォルトの名無しさん:2011/08/11(木) 16:00:59.61
VisualBrush作る直前あたりで描画要素のMeasureとArrangeすればいいんじゃないかな
807デフォルトの名無しさん:2011/08/11(木) 16:33:33.56
livet で V を閉じるときに、M に通知してほしいんですけど、
どうすればいいんでしょうか?

今は、イベントハンドラに直接メソッド書いちゃってますが、
V が VM を直接呼び出すのってよくないのかと思いましてん。
808デフォルトの名無しさん:2011/08/11(木) 16:44:00.14
>>806
ありがとうございます
できました
809デフォルトの名無しさん:2011/08/11(木) 21:08:40.41
VがVMに依存するのは別に構わないだろん
810デフォルトの名無しさん:2011/08/11(木) 22:21:42.68
別に直接呼んでもいいけど依存させたくないんだったらインターフェイス使って
var obj = DataContext as IViewEventAware; if (obj != null) obj.OnClosing();
みたいにやればいいんじゃね
ビヘイビアとして実装すれば再利用もできるよ
811デフォルトの名無しさん:2011/08/11(木) 22:45:33.31
Livet、超お手軽にMVVM実装出来て素晴らしいと思うんだけど
いかんせん情報・ドキュメントが少なすぎる
せめて現状に合ったサンプルでも配布されてればマシなんだが
812デフォルトの名無しさん:2011/08/15(月) 07:28:20.08
WPFはローカライズのやり方がわからなくて辞めたな
Formsと同じやり方でいいのに何で劣化してんだよ
813デフォルトの名無しさん:2011/08/15(月) 12:45:05.72
>811
VBだけどここでサンプルの修正版公開してる。
ttp://d.hatena.ne.jp/hilapon/20110720/1311162979
814デフォルトの名無しさん:2011/08/15(月) 17:26:12.34
>>813
ありがとう。
自分も最初にぐぐる先生には質問してみたので、そこは見たよ。
基本的な実装方法はそこのサンプルでわかるんだけど
応用的な使い方をしようとすると、メッセージとトリガーの書き方によっては
トリガーされないケースがあったり、ハマるポイントがまだまだあるなという印象。
最低限、クラスリファレンスといくつかのサンプルくらいは公式に欲しい。
815デフォルトの名無しさん:2011/08/15(月) 18:53:05.18
サンプルは充実させて欲しいよね。
後はソースを読むから。
816デフォルトの名無しさん:2011/08/16(火) 09:31:55.88
質問です。

現在別ツールを使用して作成した
3DのXamlデータをGridに表示させています。

しかし、座標を指定する箇所が膨大な行数
となっており、VSがまともに
動作しなくなって困っています。

何か良い解決方法はありませんか?
817デフォルトの名無しさん:2011/08/16(火) 09:43:46.83
そもそも、
> 別ツールを使用して作成した3DのXamlデータ
をやる必要があるのか。
818デフォルトの名無しさん:2011/08/16(火) 09:47:59.02
XamlReader.Load使う
SilverlightではXNAに差し替えられて無かったことにされていることからもわかるように
WPFの3DのAPIはカスなので、ちょっとした飾りじゃなくガッツリ3DやるならそこだけXNAやDirect3Dを使ったほうが
819デフォルトの名無しさん:2011/08/16(火) 11:10:55.26
どうせbamlになるときにコンパイルされとるやろ
820816:2011/08/16(火) 11:50:18.37
レスありがとうございます。

調べさせてもらいましたところ
私の場合ですとXamlReader.Loadが
良いように感じたので、そちらを
使用していきたいと思います。
821デフォルトの名無しさん:2011/08/16(火) 19:24:19.13
>815
常時ツィッターに貼り付いてるみたいだから、直接呟いてお願いしてみれば?
822デフォルトの名無しさん:2011/08/17(水) 22:58:29.71
しばらくAndroidに手を出していたけれど、
Androidのアーキテクチャの糞さに嫌気が差した。
WPFは本当によくできている。
823デフォルトの名無しさん:2011/08/18(木) 02:06:33.39
俺は仕事でちょっとしか触ってないけど分業という点ではWPFよりいいと思った。
レイアウトXMLで出来ることが少ない分(笑)
R.id〜とか、はぁ?って感じだよな。
824デフォルトの名無しさん:2011/08/18(木) 08:29:07.47
XML でできること少ないとかマイナスだろ。
825デフォルトの名無しさん:2011/08/18(木) 08:35:47.43
だから(笑)なんじゃん
826デフォルトの名無しさん:2011/08/18(木) 09:55:27.63
できることが少ない=悪、って…オブジェクト指向初期にもそんなのがいたなぁ。
できるべきことができないのは確実に悪だが、できることが少ないのは必ずしも悪ではない。

でも、レイアウトXMLはシラネw
827デフォルトの名無しさん:2011/08/18(木) 10:44:25.16
.NET5になったらViewをHTML5/JavaScriptで書いて裏を.NETで書くような
フレームワークが入るのかな
分業という点ではそれがベストかも
828デフォルトの名無しさん:2011/08/18(木) 10:45:33.14
XAML全否定っすか
829デフォルトの名無しさん:2011/08/18(木) 10:45:52.85
WPF無くなるってこと?
830デフォルトの名無しさん:2011/08/18(木) 10:58:54.11
SLが途中からHTML+JS+.NETになって
WPF残せばすっきりする
831デフォルトの名無しさん:2011/08/18(木) 14:41:25.54
最終的にHTMLになっていくのが正道だよね
832デフォルトの名無しさん:2011/08/18(木) 14:56:17.07
XAMLで分業って理想は分かるが夢のまた夢だな。
仕様をまず任せようと動きのある部品の見た目をデザイナに考えろと言っても考えれる奴は一握り。
実装まで任せようと動きのある部品を作れるだけのベースとなるXAMLを渡すぐらいお膳立てしても無理。

「じょうたいせんいずってなーに?」レベルでも合理的にデザインできる高機能なツールが必要だw
833デフォルトの名無しさん:2011/08/18(木) 15:22:24.99
blendのサンプルのようなアニメーション作ってくれれば上出来だろ
834デフォルトの名無しさん:2011/08/18(木) 15:23:42.50
>>830
やめてくれwww
835デフォルトの名無しさん:2011/08/18(木) 17:25:13.66
実際XAMLがHTML+CSS+JSになっても誰も困らないよね
デザイナは掃いて捨てるほどいるんだし
JSでバインディング機構用意すればMVVMだって問題なくやれる
836デフォルトの名無しさん:2011/08/18(木) 17:28:14.85
今以上の変態コードになりそうだからWPFのは残してほしいな
837デフォルトの名無しさん:2011/08/18(木) 17:49:24.86
まぁ仮にそうなったとしても、まず.netがどこに入るんだ?プラグイン拡張?
838デフォルトの名無しさん:2011/08/18(木) 17:52:33.38
JavaScriptから.NETのオブジェクトを操作するくらい
SilverlightのページでもWPFのWebBrowserでも普通にできるよ(逆も超簡単)
ViewのコードビハインドとXAMLがそれぞれJSとHTMLになるだけ
839デフォルトの名無しさん:2011/08/18(木) 19:45:34.16
ごめん、説明が足りなかった…
思ったのは>>838のようにOS上のCLRからのスクリプティングや、ブラウザ上のsilverlightにのっけてるCLRからのスクリプティングじゃないんだ…

ブラウザのHTMLをベースにした場合、CLRがないからオートメーションに入り込むのかとふと思ったんだよね…
でも考えてみたらブラウザベースになるとは限らないから勘違い?との結論に達したw
840デフォルトの名無しさん:2011/08/18(木) 20:02:22.57
XAMLの問題はそれ自体で完結出来ない点
どれだけシンプルなビューでもIDEが生成する最低限のコードビハインドが必要になるし
いくつかの機能はXAMLでは実装できず、コードビハインドで実装する必要がある
いっそのこと、WPFは完全にMVVMありきの形にしてしまって、
ビューで共通的に多く使われる実装パターンはXAML側で完結出来るようにしてほしい
841デフォルトの名無しさん:2011/08/18(木) 21:17:31.35
簡単につくれるようになるんならなんでもいいや
早く完成させて
842デフォルトの名無しさん:2011/08/18(木) 21:28:00.76
簡単に作れるようになればなるほど求められるレベルも上がっていくジレンマ…
んでその新しい手法を身につけないとどんどん取り残されていく現実…
843デフォルトの名無しさん:2011/08/18(木) 21:40:22.54
御託はいいから早く頼むよ
844デフォルトの名無しさん:2011/08/18(木) 23:45:09.69
HTML5で何倍も時間掛けてショボい上に互換性問題ありまくりの画面つくるよりは
WPFの知識でほぼ作れるSilverlightの方がいいな
845デフォルトの名無しさん:2011/08/19(金) 00:06:00.56
別にスタンドアロンアプリに使うならブラウザの互換性は関係ないでしょ
Silverlightが生産性高いっていうのはVSとC#が使えるからで
WPFベースだからとかいうのはあんまり関係ないよ
846デフォルトの名無しさん:2011/08/19(金) 00:50:26.71
XAML のいいところは、FrameworkElement 継承したクラス書くだけでタグが増やせるところよ。

HTML5 は、HTML5 のタグとして定義されてないものをやろうとした途端に難易度跳ね上がるし。

あと、データバインディングの仕組みもないと、結局つらい。
今は JS にも jQuery あるにしても、まだまだ「コードで UI 要素作る」感が酷い。
847デフォルトの名無しさん:2011/08/19(金) 01:07:27.36
にしてもDataGridが遅すぎだな
848デフォルトの名無しさん:2011/08/19(金) 01:30:21.68
ブラウザ互換はなくても、今ならHTML5のバージョン互換があるだろうね。
こないだもセキュリティで突っ込まれたから動作変わるだろうし…

というかHTMLじゃなくてXAMLでいいよ。
データバインディングですむところをコードビハインドやイベントドリブンで書くとか煩雑すぎるし、ボタン一つにしても標準デザイン使わないし…
849デフォルトの名無しさん:2011/08/19(金) 01:36:41.73
>>831
そだね。自分もそう思う。
最大公約的な技術の組み合わせが最大多数の幸せに繋がると思う。
850デフォルトの名無しさん:2011/08/19(金) 01:40:30.22
理想と現実だな
851デフォルトの名無しさん:2011/08/19(金) 07:39:10.55
クラスを作れない名前空間もないhtmlがいいとかおまえらがいかにxamlを使いこなせてないかよくわかる話
852デフォルトの名無しさん:2011/08/19(金) 08:55:12.54
そこそこ対応してるスマホですら
HTML5でやろうなんてのは一部マニアだけ
そして結局後悔してる
853デフォルトの名無しさん:2011/08/19(金) 12:51:33.05
HTML5でやろうとは思わないな
HTML6くらいでいろいろできるようになるだろう
854デフォルトの名無しさん:2011/08/19(金) 12:58:46.57
XAMLがHTMLに置き換わるのは、まあやがてそういう方向に向かっても構わない
でもコードビハインドにjavascript使わされるのはマジ勘弁
855デフォルトの名無しさん:2011/08/19(金) 13:53:31.15
>>863
いつの話だろうなw
2020年は余裕で越えそう。
856デフォルトの名無しさん:2011/08/19(金) 19:55:49.85
HTMLにWPF相当の機能を期待するくらいなら、WPFベースのHTMLレンダリングエンジン作るわ
857デフォルトの名無しさん:2011/08/19(金) 20:33:16.69
寝言はマトモに文字をレンダリングできるようになってから言えw
858デフォルトの名無しさん:2011/08/19(金) 21:51:43.09
HTML5の話題でスレが埋まってるな・・・
859デフォルトの名無しさん:2011/08/19(金) 22:38:59.43
なんでHTML5とWPFが比べられるのかわからん。
WPFはクライアントアプリケーションのUIフレームワークで
HTML5はWebブラウザー上のUIフレームワーク。
クライアントアプリが滅んでWebになるっていうならまだわかるけど、
WPFがHTML5になること無いだろ
860デフォルトの名無しさん:2011/08/19(金) 22:52:38.64
XAMLからHTMLにコンバートするサンプルの話をすればHTMLを語ってもスレ違いにならないはず。
http://msdn.microsoft.com/ja-jp/library/aa972129%28v=vs.80%29.aspx
861デフォルトの名無しさん:2011/08/20(土) 00:03:00.48
>>859
HTML5の用途をあえてWebブラウザ上に限定する理由は無いんじゃないの。
もしUIフレームワークの基盤を1本に統一できるなら、それに越した事は無い。
862デフォルトの名無しさん:2011/08/20(土) 00:14:07.60
いいかげん夢から覚めなさい。
そしてWebProg板に帰りなさい。
863デフォルトの名無しさん:2011/08/20(土) 00:29:09.91
>>860
で、いつそのサンプル前提という話が出てたの?
864デフォルトの名無しさん:2011/08/20(土) 00:37:58.58
>>863
突然何言ってるんだ?
君、日本語分からないの?
865デフォルトの名無しさん:2011/08/20(土) 02:24:30.72
xmlで会話しろ
866デフォルトの名無しさん:2011/08/20(土) 02:41:23.72
xmlじゃダメだろ、XAML使えXAML
867デフォルトの名無しさん:2011/08/20(土) 12:41:26.00
C/C++/C#/Javaで会話する自身はあるが、XAMLは無理。
Cなどでは読めば分かる、は十分可能だが、XAMLは無理。
意図したとおりに書けないから読めない(小技が必要だったり冗長だったり)。
868デフォルトの名無しさん:2011/08/20(土) 12:44:27.67
そういえばこんな本が出るね

XAML Developer Reference
http://oreilly.com/catalog/0790145325617
869デフォルトの名無しさん:2011/08/20(土) 13:10:15.56
見かけたら読んでみたいが地元には入らないだろうからなー
870デフォルトの名無しさん:2011/08/20(土) 13:10:30.95
>>867
ん?意図して書けるでしょ…
まぁ書くより描く機会の方が多いけど…
871デフォルトの名無しさん:2011/08/20(土) 13:56:39.59
>>869
AmazonのKindleでオンライン購入して読むのが通。
872デフォルトの名無しさん:2011/08/20(土) 17:05:43.00
HTML5でクライアントアプリはJavascriptしか出来ない、
HTMLしか書けない技術者の裾野を広げる意味しかないだろ。Node.jsみたいに。
873デフォルトの名無しさん:2011/08/20(土) 17:44:27.09
XAMLもほとんどASP.NET由来だろ
874デフォルトの名無しさん:2011/08/20(土) 19:50:21.74
何を言ってるんだ
875デフォルトの名無しさん:2011/08/20(土) 23:07:54.73
結局XAMLが何か分からずに騒いでたってオチ?
876デフォルトの名無しさん:2011/08/22(月) 16:00:39.09
DataGridColumnってなんでFrameworkElementじゃないんだよ
877デフォルトの名無しさん:2011/08/22(月) 16:50:14.56
Visualを持ってないから
別に困らないだろ?
878デフォルトの名無しさん:2011/08/22(月) 18:42:32.72
HTML5の話が出てるのはWin8のMetroUIがHTML5で書かれているって話があるからってわけじゃなかったの?
HTMLがWebブラウザ上のUIフレームワークだからWPFから置き換えられる事は無いってのは話の前提が変だろ。
俺も置き換えられて欲しいとは思わんが、あり得ない話でも無いだろ
879デフォルトの名無しさん:2011/08/22(月) 18:55:39.24
HTML5「も」使える、ならともかく
置き換えとかMSも作り手もユーザーもみんな不幸になるだけだろう
100%無いわ
880デフォルトの名無しさん:2011/08/22(月) 19:24:19.49
98seでもデスクトップにhtml貼り付けられただろ確か
バインディングもまともに書けないからhtmlとかいうんだろうけど無理ならformsに帰れよ誰も責めないよ
881デフォルトの名無しさん:2011/08/22(月) 19:30:57.99
アクティブデスクトップはまた土俵が違うだろうw

バグ多すぎてあれはね
882デフォルトの名無しさん:2011/08/22(月) 21:14:17.02
まぁ、ちょっとしたランチャーとかはHTMLApplicationは便利だ
883デフォルトの名無しさん:2011/08/22(月) 21:42:13.03
XPは長いこと使ってたけどアクティブデスクトップなんて最近知ったわ
884デフォルトの名無しさん:2011/08/22(月) 21:52:00.29
置き換えはないだろうけど、将来的にVSでHTML5+.NETでのクライアントアプリ作成が
サポートされることは十分ありうるな
885デフォルトの名無しさん:2011/08/23(火) 01:45:49.65
>>876
DataGridってDataGridRowが並んでいるItemsControlがあって
DataGridRowの中がDataGridCellが並んでいるItemsControlになっている構造なので
ColumnがVisualになる余地が無い。
886デフォルトの名無しさん:2011/08/24(水) 02:25:21.57
MSのRibbonWindowって配下のフォントサイズおかしくならない?
なんかコンマ以下の誤差出てる感じでにじむ。

Fluent使うからもういいけど
887デフォルトの名無しさん:2011/08/24(水) 07:43:47.52
4.0じゃないからじゃねーの
888デフォルトの名無しさん:2011/08/24(水) 20:35:26.00
Visual Studioリボン化まだかよ
889デフォルトの名無しさん:2011/08/25(木) 01:03:16.74
ListBoxのselectionmodeをMultipleにして使っているんだが、
右クリックでコンテキストメニュー出したときも反応してしまう
選択したのがメニュー起動で非選択になってしまうので使いづらくて困っています
何か良い対策有りませんかね?
890デフォルトの名無しさん:2011/08/25(木) 02:42:54.78
WPFって需要あるの?
891デフォルトの名無しさん:2011/08/25(木) 02:46:55.77
892デフォルトの名無しさん:2011/08/25(木) 07:41:49.92
WPFで食い繋ごうと思ってる人には需要あるよ
可哀そうなほど先見性ないけど
893デフォルトの名無しさん:2011/08/25(木) 16:18:28.58
え、html5+jsで受注しちゃうの?
894デフォルトの名無しさん:2011/08/25(木) 16:45:16.49
WinFormで止まってるんだろう
895デフォルトの名無しさん:2011/08/25(木) 19:37:56.89
WPFはそこから後向きに進んでいる気がするが止まってはいないな
896デフォルトの名無しさん:2011/08/25(木) 20:40:07.83
.net3.5 WPFで書いています。
NavigationWindowを用いてPageを遷移する
ものを作っているのですが、
ページ切り替えの効果(フェードなど)は、
WPFの機能としてありますでしょうか?

TransitionType fade などで検索していますが、
希望の結果は出てきません。
よろしくお願いします。
897デフォルトの名無しさん:2011/08/25(木) 22:44:45.17
プレイベントでvisualコピーしてHLSL書けばいいんじゃね知らんけど
898デフォルトの名無しさん:2011/08/26(金) 11:27:33.74
はよMetro UIライブラリ配れ
899デフォルトの名無しさん:2011/08/29(月) 13:28:53.25
WPFはアーキテクチャー的には良い線行っているけど性能が出ない
消えていった技術の典型ではあるな
Blendを無料化すれば或いはとは思うが
900デフォルトの名無しさん:2011/08/29(月) 13:51:47.54
とりあえず代替技術発表まではWPFでいいわ
901デフォルトの名無しさん:2011/08/29(月) 14:28:11.38
>>899
いや、古いグラボ使ってなければ性能は出るだろ。
あと開発環境で F5実行は遅いが、直接exe叩けば速いぞ
902デフォルトの名無しさん:2011/08/29(月) 16:43:52.01
Zune SoftwareってWPFだよな?
903デフォルトの名無しさん:2011/08/29(月) 20:43:02.67
え?WPF終わるの?
WPFで2ちゃんブラウザ作っている俺の立場は・・・。
WPFを理解さえすれば、WinFormなんて戻れないけどな・・・。何が不評なんだろ。
904デフォルトの名無しさん:2011/08/29(月) 20:49:18.24
windowsアプリの時代はある程度去ったという感じ?
企業向けとかだとあるのかもしれないが
一般向けはすでに開発済みのVBやVC++やJavaのソフトがあるし
実際2chの専用ブラウザだってリメイクしたものはないはず
905デフォルトの名無しさん:2011/08/29(月) 20:55:00.72
WPFがオワコンだとは思わないが、Blendの機能はVisualStudioに統合してけれ。
906デフォルトの名無しさん:2011/08/29(月) 21:10:41.47
>>903
まあ、現在の形そのままで WPF が残るかと言われると微妙だけど、
WPF が終わったとして、WPF から9割型のコードそのままで移植できる
新しい何かができるのは確実だから安心して WPF アプリ書けばいいよ。

不評なのはリリース時期的な問題かねぇ。
WPF が作られたのって、脱ネイティブに偏りすぎてた時期で、
かつ、OS によってハードウェアスペックを吊り上げないといけない
(でないと新しいPC売れない)時代の産物なので。

今は、如何にネイティブとの共存するかって時代に揺り戻しが来てるし、
ハードウェアの主戦場が PC から携帯機器に移って、性能向上が停滞してる時期なので。
つまるところ、「WPF 重たい」ってのはそういうこと。
907デフォルトの名無しさん:2011/08/29(月) 21:18:59.95
おまえらが一生使いこなせなくても、formsスキップして入ってきたゆとり世代が書いてくれるだろ
問題ない
908デフォルトの名無しさん:2011/08/29(月) 21:25:27.23
今さらWinForms戻るぐらいならDirectXで直書きするわ
909デフォルトの名無しさん:2011/08/29(月) 22:51:27.72
>>907
ゆとりにゃハードル高杉だろがw
インテリセンスったってどれが何か覚えてなきゃ使えねーぞ
910デフォルトの名無しさん:2011/08/29(月) 22:55:28.83
>>909
それはFormsでもいっしょじゃね?

まあ、MVVMパターンとか使うとインテリセンスに頼れない部分多い
(特定の属性つけてるといいことあるよ、とか、インターフェイス実装してるととか)
のでつらいけども、それもまあ、Forms で MVP したい時とか ASP.NET で MVC したいときでも一緒だし。
911デフォルトの名無しさん:2011/08/29(月) 23:59:54.82
大丈夫大丈夫
もうFormsは忘れろ
912デフォルトの名無しさん:2011/08/30(火) 03:58:18.95
WPFで2ちゃんブラウザ作るくらいならHTMLでブラウザで動く2ちゃんブラウザでよくないか?
913デフォルトの名無しさん:2011/08/30(火) 07:17:41.89
>>912
HTML5でいろいろと試してみたら操作が激重。
あとやはりクロスドメイン問題で解決しないといけない問題が山盛り。
Javascriptなので作業効率が悪い。

特に最後の作業効率。
俺は仕事をしていて、休みの日に組むので、C#+VSレベルの快適な開発効率が無いと厳しい。
それにWPFの表現自由度の高さ。
是非WPF2ちゃんブラウザを完成させたい。
914デフォルトの名無しさん:2011/08/30(火) 08:08:39.99
前にItemsControlで2chブラウザ作ったつう人が、複数のレスにまたがるテキスト選択が面倒くさいって言ってたな
915デフォルトの名無しさん:2011/08/30(火) 09:05:59.83
WPFもJavaScriptも知名度の高い言語は色々と趣味でやって成果物出してるけどJavaScriptでの作業は効率いいけどなー
CoffeeScriptで短くかけるしデバッグも楽勝だしさ
WPFはBlendやT4,PrismのようなMVVMフレームワークが必至なようにJavaScriptにも色々ある
何でもそうだけど他のものを貶して言い訳にしちゃうとみっともないよー
それこそWPFは重いーとか言って停滞してる人と同じです
916デフォルトの名無しさん:2011/08/30(火) 10:46:56.28
それ3つともMVVMフレームワークじゃないよ
Prismはただのサンプルだけどそれはまあ許すとして、
BlendもMVVMのテンプレートがあるから百歩譲っても、T4てw
917デフォルトの名無しさん:2011/08/30(火) 13:04:47.71
Metroが出たら速攻移るんでよろしく
918デフォルトの名無しさん:2011/08/30(火) 13:23:05.35
>>916
MVVMフレームワークはPrismの事しか指してないがなー
作業効率のお話で出てきた各種便利な何かのお話なのにもっとちゃんと読めよー
んで軽くAMQP的な仕様も取り入れるPrismはMVVMフレームワークです
もっとお勉強しましょー
919デフォルトの名無しさん:2011/08/30(火) 13:32:30.98
FlowDocument の改行がよくわからんなー
TextRangeのText に改行コード足しちゃ駄目なのかしら
920デフォルトの名無しさん:2011/08/30(火) 14:52:18.14
ComboBox の高さが高すぎる(文字の大きさに対して余白が多すぎる)
気がするんだが、余白だけ小さくする方法ある?
921デフォルトの名無しさん:2011/08/30(火) 15:41:53.57
>>919
LineBreak
>>920
標準コントロールの見た目なんて有って無いようなもので、
テンプレート編集すれば好きなように変更できる
ほぼBlend必須になるけど
922デフォルトの名無しさん:2011/08/30(火) 15:48:33.91
Blend使ったことないんだがMVVMで必須環境なのか?
使い分け面倒臭そうなんだが
923デフォルトの名無しさん:2011/08/30(火) 16:14:43.63
MVVMに限らず、バインディングを活用するならBlend必須。
見た目に関してWinForms以上のものを求める場合も必須。
使い分けは実際とっても面倒臭い。
924デフォルトの名無しさん:2011/08/30(火) 16:48:30.59
ComboBoxの余白調整ごときにBlendなんざいらん
925デフォルトの名無しさん:2011/08/30(火) 17:21:04.67
VS Premium買えない貧乏人はVS ProとExpression Studioでいいんだよな?
バインディングレベルで必須ならProで欲しいわ
926デフォルトの名無しさん:2011/08/30(火) 17:37:15.24
>>924
そんな細かいこと気にする人がどうせそれだけで済むわけないじゃん
手書きのテンプレート編集は地獄だぞ
MSDNにのってるやつは実際と違うから、まずXamlWriterでデフォルトのテンプレートを取得して…
とかそんなレベルから始まる
927デフォルトの名無しさん:2011/08/30(火) 19:37:47.00
>>926
いや、VS2010でプロバティーウインドウから、「値をリソースに抽出」すれば
簡単にテンプレート抽出できるぞ
928デフォルトの名無しさん:2011/08/30(火) 19:56:45.92
Blendとの使い分けめんどくせーよなー。
やっぱVS単体である程度できるようになって欲しいわ。
929デフォルトの名無しさん:2011/08/30(火) 21:20:36.30
むしろBlendのエディタをもっとマシにしてほしい
なんでVSのコンポーネントをそのまま使わないんだよ
930デフォルトの名無しさん:2011/08/30(火) 21:24:37.88
分業を促してるんかね
どうせデザイナーもVS要りそうだが
931デフォルトの名無しさん:2011/08/30(火) 21:29:54.40
Blendで作業してたらXAMLを手で編集したくなったとき
インテリセンス効かないからVSでやったりとかアホらしすぎるわ
932デフォルトの名無しさん:2011/08/30(火) 21:54:22.17
926じゃないけど本当に出来てワロタ、今までの俺の苦労は一体……>>927ありがとう
ただコントロールによっては抽出出来ない?のは何故だろう
933デフォルトの名無しさん:2011/08/30(火) 22:16:17.30
Silverlight5に合わせてBlend5でるのかな
無料化してVS統合の流れにしてほしいわ
934デフォルトの名無しさん:2011/08/30(火) 23:12:57.59
MSを見てれば、プログラマーもデザイナーもVSとBlendを買えって事だろ。
935デフォルトの名無しさん:2011/08/30(火) 23:28:59.07
http://windowsclient.net/wpf/wpf35/wpf-35sp1-more-effects.aspx
ここのGreyScaleEffectのサンプル見ると、GreyscaleEffectクラスのInput依存プロパティを
サンプラーレジスタと関連付けてて、このInputプロパティの値がシェーダーにかけられるってのはわかった。
MainWindow.xaml.csでは、このGreyscaleEffectインスタンスを1つ作って、それをすべての要素で使いまわしてる。
ここでわからないのは、インスタンスを使いまわしてるのになんで各要素の画像がちゃんとサンプラーレジスタに送られてるのか。
明示的にInputプロパティへ代入しないといけないのでは?と思うんだけどどこにもそんな処理書いてない。
一体どういう仕組みでInputプロパティが更新されてるんでしょう?
936デフォルトの名無しさん:2011/08/31(水) 00:14:45.79
WPFが内部で勝手にやってる
別にInputプロパティが更新されるわけじゃなくて、勝手にs0に入力が来る
937デフォルトの名無しさん:2011/08/31(水) 00:32:16.04
>>936
なるほど、ありがとう。
試しにInputプロパティに関する項目をコメントアウトしてみても動作しました。
でもs0レジスタに送られるのはImageインスタンスの画像だけでした。
ちゃんと依存プロパティ用意してUpdateShaderValue呼び出さないとうまく動かんようです。
未だ詳しい動作を掴めずにいますが気にせず先に進むことにします。
938デフォルトの名無しさん:2011/08/31(水) 01:23:17.02
Windowの中にGridがあり、
その中に他のコントロールを配置しています。
ここで、フォーカスが別のウィンドウにある状態から
今作っているアプリに移ったときに
発生するイベントってありますか?

gotforcusがそれかなと思い
WindowやGridにトリガ置いてみましたが駄目でした。

具体的には、Grid内においたButtonを
押すとイベントが発火したようでした。
希望のイベントはあるのてしょうか?
よろしくお願いします。
939デフォルトの名無しさん:2011/08/31(水) 01:41:21.11
>>938
window.Activetedとか?
940デフォルトの名無しさん:2011/08/31(水) 11:30:01.10
>>939
ありがとうございます。希望の動作になりました。
Activateって、そうか、そういう活用なんですね。
941デフォルトの名無しさん:2011/08/31(水) 14:31:48.17
FlowDocumentが遅すぎる
942デフォルトの名無しさん:2011/08/31(水) 23:08:48.49
ListBox を ICollectionView を使ってソートして表示しています。

縦方向にある程度スクロールさせておいて、画面表示に表示されてない上のほうに
アイテムが追加されるとスクロールしてしまいますが、画面に表示されていない
範囲にアイテムが追加された場合はスクロールしない設定ってできますか?

簡単にいうとツイッターのタイムラインで、スクロールして下のほうを見ているときに上のほうで
アイテムが追加されても画面がずれないようにしたいんです。
943デフォルトの名無しさん:2011/09/01(木) 08:33:10.60
EnsureVisibleすれば
944デフォルトの名無しさん:2011/09/01(木) 16:33:51.12
MVVM LightとPrismどっちがおすすめ?
945デフォルトの名無しさん:2011/09/01(木) 16:45:16.49
Prismは勉強用
946デフォルトの名無しさん:2011/09/01(木) 16:48:23.92
ResourceDictionary 内のデータテンプレートの中から、Window の Converter を呼びたいんだけどどうすればいい?
947デフォルトの名無しさん:2011/09/01(木) 18:00:39.87
>>946
コンバーターをリソース定義
948デフォルトの名無しさん:2011/09/02(金) 17:22:50.63
LabelでもTextBlockでも良いのですが、
文字色を途中で変えることはできますか?

コードでもXamlでも構いません。

今は泣く泣く、
StackPanelに、Width=Autoのラベルを並べています。
949デフォルトの名無しさん:2011/09/02(金) 17:31:22.54
950デフォルトの名無しさん:2011/09/02(金) 18:08:01.21
>>958
TextBlockの中のInlineに色を設定
951デフォルトの名無しさん:2011/09/02(金) 19:17:42.78
多分RichTextBox使うのが用途に合っているんじゃないかな?
952デフォルトの名無しさん:2011/09/02(金) 20:24:34.11
>>948
ラベルの方がいいよ
ソース動的を考慮するなら、テキストはラベルほど色々できない…
953デフォルトの名無しさん:2011/09/02(金) 20:47:43.22
普通にTextBlockとInlineでできるだろ
RichTextBoxはFlowDocumentだからともかくLabelなんて
テキスト描画自体はTextBlockよりずっと貧弱で
細かいことやろうと思ったら結局中にTextBlock入れるんだぞw
954デフォルトの名無しさん:2011/09/02(金) 21:44:00.51
Vだけや簡単なVMならテキストのが楽なのは知ってる…
ただ画面仕様で複雑なVM等になりえるならテキストはきついってだけ
貧弱じゃなくて性質の違い
色変え、改行のみならテキストのがラク
955デフォルトの名無しさん:2011/09/03(土) 02:25:28.01
WPFってWindows XPじゃ無理なんだっけ
956デフォルトの名無しさん:2011/09/03(土) 02:33:08.92
問題ない
957デフォルトの名無しさん:2011/09/03(土) 09:50:32.72
無理ではないがパフォーマンスはかなり落ちる。
958デフォルトの名無しさん:2011/09/04(日) 10:12:21.92
WPF 4.0 で ListView と DataGrid の使い分けって
どうやって決めるの?

編集は必要ないんだけど、ソートはしたい。
表示するデータの件数は数万件・・・となったら
どちらを使うべき?
959デフォルトの名無しさん:2011/09/04(日) 12:56:42.80
WindowsFormsHostでDataGridView
960デフォルトの名無しさん:2011/09/04(日) 13:16:48.21
まあListViewに数万件表示するとしたら設計に問題有るだろ
961デフォルトの名無しさん:2011/09/04(日) 16:16:41.40
DataGridViewを万単位のデータで使うんなら必然的にDataTableだね
LINQで数万は遅すぎてムリ…
まぁそんな画面は見たくないって事の方が本音だけど、仕様だからで強硬されたりするからなぁ…
962デフォルトの名無しさん:2011/09/04(日) 18:09:41.22
>>958
ListViewは列の仮想化ができないからDataGridのみを使う。
963デフォルトの名無しさん:2011/09/05(月) 16:42:16.21
>958
xamDataGrid でFA
964デフォルトの名無しさん:2011/09/05(月) 23:33:03.40
正直xamはお勧めしない。
965デフォルトの名無しさん:2011/09/05(月) 23:53:16.35
>964
何故に?
966デフォルトの名無しさん:2011/09/06(火) 00:41:05.25
バージョン上げないと不具合直らないのにバージョン間の互換性がないとか多い気がする。商用コントロールならもっと互換性とか気をつけてくれ。
今となっては標準のDataGridに比べて利点があまりない。
タッチパネルを繋ぐだけで落ちたりするみたいな環境依存のバグも引きやすい気がする。
967デフォルトの名無しさん:2011/09/06(火) 17:07:41.48
ScrollViewer で現在表示されている項目を取得ってできないですかね?
表示されている項目にバインドされているものが取得したいのですが。
968デフォルトの名無しさん:2011/09/07(水) 01:22:55.40
>>967
PART_VerticalScrollBarを探してValueとViewportSizeで表示範囲を調べてとかやって取得した。
もっと手軽に判別する手段がほしいところ。
969デフォルトの名無しさん:2011/09/07(水) 09:52:20.32
糞所
970デフォルトの名無しさん:2011/09/07(水) 14:06:35.36
コマンド リンク コントロールって無いのか
971デフォルトの名無しさん:2011/09/07(水) 14:18:06.39
972デフォルトの名無しさん:2011/09/07(水) 14:59:52.99
>>971
それWPF無関係だと思ってスルーしてた
サンクス!
973デフォルトの名無しさん:2011/09/08(木) 08:55:04.40
WPFなしでリボンUIってつくれるんですか?
974デフォルトの名無しさん:2011/09/08(木) 08:57:17.99
それを何故ここで聞くのか
MFC用ライブラリは公開されてる
975デフォルトの名無しさん:2011/09/08(木) 11:08:42.57
リボンwindowってウィンドウアイコンダブルクリックしたらアプリごと終了するから困る
976デフォルトの名無しさん:2011/09/08(木) 12:29:01.47
blend 4.1きてるな
977デフォルトの名無しさん:2011/09/08(木) 15:14:44.52
>>975
左上のアイコン?それってリボンに限らず規定の動作だよ。
978デフォルトの名無しさん:2011/09/08(木) 16:14:13.16
アイコンを髑髏マークにしておけば問題なし。
979デフォルトの名無しさん:2011/09/08(木) 18:30:29.99
リボンはタブ複数にするとデザイナでアイテム選択できなくなるのが困る
980デフォルトの名無しさん:2011/09/08(木) 19:03:28.82
CP潰せ
981デフォルトの名無しさん:2011/09/09(金) 11:44:14.24
ボタンコントロールの輪郭をぼかしたいのだが、
Blendを使うか、画像を使うしか方法は無いでしょうか?

できればApplication.Resourcesで
全てのボタンに対して行いたいです。
982デフォルトの名無しさん:2011/09/09(金) 14:23:17.49
TreeViewめんどいね
983デフォルトの名無しさん
>>981
Application.xaml に Button の ControlTemplete 設定しとけばいいんじゃね。