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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
一向に普及しないユーザーインターフェースシステム
Windows Presentation Frameworkについて語るスレ。
.NET4.0もリリースされたけど別に盛り上がってはいないよね…。

Visual Studio 2010
ttp://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

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

過去スレ
WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5
http://pc12.2ch.net/test/read.cgi/tech/1261879110/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1245384489/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1231506876/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング
ttp://pc11.2ch.net/test/read.cgi/tech/1211453941/
【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
ttp://pc11.2ch.net/test/read.cgi/tech/1162950198/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
2デフォルトの名無しさん:2010/05/21(金) 16:52:07
1000 名前:デフォルトの名無しさん[sage] 投稿日:2010/05/21(金) 16:32:29
1000ならWPF終了

残念ながらこのスレは終了しました
Microsoft先生の次回作にご期待ください
3デフォルトの名無しさん:2010/05/21(金) 17:18:09
このスレッドは天才チンパンジーなんたらかんたら
4デフォルトの名無しさん:2010/05/21(金) 17:30:08
WPFを使う前にシルバーライトで十分で無いか確かめるべき
5デフォルトの名無しさん:2010/05/21(金) 21:30:45
それはある・・・
6デフォルトの名無しさん:2010/05/21(金) 22:32:43
INotifyDataErrorInfoがSilverlightにはあるのにWPFにないのが不思議
7デフォルトの名無しさん:2010/05/22(土) 23:10:39
トリガにて、プロパティをアニメーションさせる場合
Trigger.EnterActionsとTrigger.ExitActionsそれぞれにStoryboardを放り込むわけだけど、
トリガがアクティブになったときはアニメーションを使わず、
アクティブでなくなったときにだけアニメーションさせたい場合でも
EnterActionsのほうにStoryboardを入れる必要があるの?
現状それ以外にやり方がわからんので、とりあえずDurationが0秒のアニメーションを適用してるけど、
Setterなんかでちゅるっとできんかなーと思ってる。
8デフォルトの名無しさん:2010/05/23(日) 16:56:01
>>6
DataGridのようにSilverlightから逆輸入がこれからのトレンド
9デフォルトの名無しさん:2010/05/24(月) 09:46:25
うーん。。。
標準DataGridイケてねえなぁ。
なんでグリッド内でのコピペを実装するだけでこんなに面倒なんだ。
10デフォルトの名無しさん:2010/05/24(月) 09:50:29
コピペして使うかもしれないからどっか俺の見える所に貼っとけ
11デフォルトの名無しさん:2010/05/25(火) 21:18:32
XAMLでもC#でも出来ることはどっちでやればいいんですか?
XAMLを覚える必要ってあるんでしょうか?
12デフォルトの名無しさん:2010/05/25(火) 21:24:32
基本的にXAMLでやる。
XAML優先。
13デフォルトの名無しさん:2010/05/25(火) 21:24:36
デザイナが使いたかったらXAMLしかない
VS2010なら直にXAMLを触らなくてもWinForms程度のUIなら問題無く作れるけど
そんなに難しくないんだから覚えとけ
CLRのオブジェクトをXMLにマッピングしてるだけなのでXAML固有の事項はごく少ない
14デフォルトの名無しさん:2010/05/25(火) 21:44:38
やっとC#で見えてきたのに・・・
XAMLも徹底的に勉強します
ありがとう
15デフォルトの名無しさん:2010/05/25(火) 21:47:16
>>14
そんなにかわらないよ
xamlって今までだとIDEのデザイナーが書いてた部分に相当するだけだし
16デフォルトの名無しさん:2010/05/25(火) 21:49:39
C#と.NETとXMLがきちんとわかってればXAMLはだいたいわかるはず
XMLがわからないのはプログラマとして問題外
17デフォルトの名無しさん:2010/05/25(火) 22:01:18
>>16
C#と.NETとXMLがわかってる奴なんてどれだけいるんだよ
18デフォルトの名無しさん:2010/05/25(火) 22:05:32
えっ
19デフォルトの名無しさん:2010/05/25(火) 22:07:13
XMLは外出しのカスタマイズ性のある定義ファイルを作成する案件やれば携われるっしょ
20デフォルトの名無しさん:2010/05/25(火) 22:08:43
XMLなんかWPF以前の問題でしょ
それこそ「XMLがわからなくて何作れるの?」ってレベル
21デフォルトの名無しさん:2010/05/25(火) 22:13:51
XMLとHTTPの違いがよくわからない
22デフォルトの名無しさん:2010/05/25(火) 22:21:50
大根と八百屋くらい違う
23デフォルトの名無しさん:2010/05/25(火) 22:32:15
>>21
LINQ to XML 勉強を進めてみる
XMLもLINQも分かって、XAMLや集合の概念が掴めてお得
24デフォルトの名無しさん:2010/05/25(火) 22:58:36
XAML より LINQ の方が慣れるのに時間かかったなぁ。
25デフォルトの名無しさん:2010/05/25(火) 23:03:01
XAMLはUI側だけど、LINQはBL側だからねぇ
26デフォルトの名無しさん:2010/05/25(火) 23:08:23
嬉し恥ずかしボーイズラブですか
27デフォルトの名無しさん:2010/05/25(火) 23:31:25
Business Logicですぜ、旦那
28デフォルトの名無しさん:2010/05/25(火) 23:58:16
盛大に釣れた
29デフォルトの名無しさん:2010/05/26(水) 00:34:12
>>28ェ・・・
30デフォルトの名無しさん:2010/05/26(水) 07:00:44
犠牲になったのだ・・・
31デフォルトの名無しさん:2010/05/26(水) 07:08:16
クソスレ
32デフォルトの名無しさん:2010/05/26(水) 10:00:25
BLワロタ
33デフォルトの名無しさん:2010/05/27(木) 22:50:22
WPFで動的にコントロールを差し替える場合ってスマートなやり方ってありますか?
34デフォルトの名無しさん:2010/05/27(木) 22:51:08
DataTemplate
35デフォルトの名無しさん:2010/05/27(木) 23:21:25
>>34
ありがとうございます

しかしWPFってwinformほど情報が蓄積されてないのが痛いですね
36デフォルトの名無しさん:2010/05/27(木) 23:33:09
つくづくネックだな
37デフォルトの名無しさん:2010/05/28(金) 00:23:14
>34
DataTemplateはリストとかでアイテムを表示するための定義という認識なんだが。
コントロールが何らかのアイテムと結びついてない限りそれを使いまわすのはなんか違和感。
38デフォルトの名無しさん:2010/05/28(金) 00:29:15
VはVMと結びついてるから気にしたことがなかった
39デフォルトの名無しさん:2010/05/28(金) 00:33:30
IHogeView view = (IHogeView)ViewProvider.GetViewFor(typeof(Hoge));
view.SetViewModel(hogeViewModel);
MVVMならこういう風にViewにインターフェイス被せるのがMVVMの目的からいって正しいんだろうと思う
40デフォルトの名無しさん:2010/05/28(金) 00:38:26
まあやりたいことは2chの専ブラのsubjectの表示や
スレッドの部分なんですけどね

速度的な面を考えると一つを使いまわすよりインスタンスを
その都度追加してアクティブな物だけ前面に表示する形を
取りたいんですけどどうもWinForm的なやり方しか浮かばなくて・・・
41デフォルトの名無しさん:2010/05/28(金) 01:04:21
>>40
MSDNに山ほど情報あるのに何故探さないのか
http://msdn.microsoft.com/ja-jp/library/cc716879.aspx

まあ高々1000件程度なら素直な方法で実装しても体感できないと思うが
42デフォルトの名無しさん:2010/05/28(金) 01:10:55
>>41
ありがとうございます

なんというか・・・上で言ったデータの蓄積っていうのは
検索エンジンに最適回に行き着くような学習データの蓄積ができてないと
言い換えればいいのか・・・

WPF入門    WPFある程度やった人

この間を埋めるのがまだまだな感じなんですよね
43デフォルトの名無しさん:2010/05/28(金) 01:14:05
このスレですら割といい加減な回答される品
44デフォルトの名無しさん:2010/05/28(金) 01:42:45
俺も入門したばっかりだけど、WinForm知ってるなら探し方が悪いだけだじゃないかと…
WPF ListBox 仮想化 でググって2番目に出たページにリンク乗ってた。
仮想モード に変えてググると前スレが引っかかるw
45デフォルトの名無しさん:2010/05/28(金) 01:46:34
MVVMってのが飲み込めない。
46デフォルトの名無しさん:2010/05/28(金) 01:48:13
>>44
お恥ずかしい話だが仮想機能を使ったことなかった
まあ>>41みてまあ仮想化機能は当たり前だなあと思ったw
ゲームなんかでも描画の必要が無いところはスキップするしね

なのでヒントもらえるだけでもかなり感謝してるよ
47デフォルトの名無しさん:2010/05/28(金) 07:31:34
48デフォルトの名無しさん:2010/05/28(金) 09:36:43
prismきたか
これないとちゃんとしたMVVMにならないから必須だわ
49デフォルトの名無しさん:2010/05/28(金) 11:01:37
MEFに押されて消えていくかと心配もしたけど、2.n系列の開発が続いてて安心した。
Prism 4.0ではUnity+MEFの利用もできるように開発してるみたいだし。
50デフォルトの名無しさん:2010/05/28(金) 20:55:18
Prismってなぁに?
51デフォルトの名無しさん:2010/05/28(金) 20:57:50
52デフォルトの名無しさん:2010/05/28(金) 21:23:56
よくわかんないから俺にはまだ必要ないな
53デフォルトの名無しさん:2010/05/28(金) 23:57:44
モジュール化の仕組みだから、
それなりにデカいものを作りたいのでなければいらないでしょ。
54デフォルトの名無しさん:2010/05/29(土) 00:05:50
このてのまともなソースは軒並みソリューションフォルダーなんてものを使ってるから
Expressユーザーはまともに開けず涙目
55デフォルトの名無しさん:2010/05/29(土) 03:02:05
一画面でもヘッダフッタメニューとちゃんと分けてモジュール化出来るからprismは重宝するじぇ
56デフォルトの名無しさん:2010/05/29(土) 10:00:38
>>54
リファレンス実装のStockTraderはExpressだといくつかのモジュールが動かないけど、
クイックスタートのデモのソリューションフォルダはライブラリのソースだったり、
テストプロジェクトだったりするから気にせずビルドして、どんなもんか試せるよ。

Prism自体は、複合アプリを作るためのフレームワークだから、
アセンブリ参照してExpressでも利用できるしね。



57デフォルトの名無しさん:2010/05/30(日) 23:24:04
DoubleAnimationUsingPath
など、UsingPathを用いたアニメーションはXAMLでしか記述できないのでしょうか?
コードビハインドで書かれた情報を見つけることが出来ません。
58デフォルトの名無しさん:2010/05/30(日) 23:29:15
いや、他の要素と同じようにコードで記述できるが
59デフォルトの名無しさん:2010/05/30(日) 23:36:18
ありがとうございます。
ずっと見つからなかったのに、2chで質問した途端に見つけました。
ttp://msdn.microsoft.com/ja-jp/library/system.windows.media.animation.doubleanimationusingpath.aspx

いつもは storyboardは使わず、
Image img = new Image();
///
DoubleAnimation dAnimation = new DoubleAnimation();
dAnimation.From = 0, dAnimation.To = 100;
dAnimation.Duration = new Duration(TimeSpan.FromSecond(5));
img.BeginAnimation(HogeProperty, dAnimation);
みたいな書き方をしているのですが、

UsingPathですとSetTargetNameなどがあるので
Storyboardを使わないと書けないっぽいですね。
60デフォルトの名無しさん:2010/05/31(月) 12:28:43
VMからVを閉じる必要性があるんだが
VMがVの参照を持ってなかったら閉じれない様な気がするんだけど何か方法あるの?

具体的に書くと
VMでBackgroundWorkerが走っている
RunWorkerCompletedと同時にVを閉じたい

今はVの参照持って閉じてる
疎結合にするだけが目的ならこのくらいは別にいいのかなー(Closeの無いWindowは無いわけで)という気もする
何かアドバイスくれ
61デフォルトの名無しさん:2010/05/31(月) 12:44:17
なんでVirtual Machine?
62デフォルトの名無しさん:2010/05/31(月) 12:49:27
いやVisualMode
63デフォルトの名無しさん:2010/05/31(月) 12:53:00
何かややこしく考えすぎている気がするww
64デフォルトの名無しさん:2010/05/31(月) 13:59:06
Vのインターフェイスを定義して、VMでその参照を保持する
VMにCloseRequestイベントを定義して、Vでハンドルする
65デフォルトの名無しさん:2010/05/31(月) 16:58:01
>>64
上は今と大差ないので下を採用してみようと思う
66デフォルトの名無しさん:2010/05/31(月) 22:27:49
MVVMでXamlのイベント(たとえばWindow.Loaded)をVMにバインドする場合ってどうすればいいのかな?
ButtonはCommandがあるから出来るけど他のイベントってなんかうまくいかないんだよな
67デフォルトの名無しさん:2010/05/31(月) 22:29:46
なんか何でもかんでもCommand化する奴がCodeProjectかどこかに無かったっけ
68デフォルトの名無しさん:2010/05/31(月) 22:35:21
以前このスレで紹介してもらった
ttp://marlongrech.wordpress.com/2008/12/13/attachedcommandbehavior-v2-aka-acb/
とか
69デフォルトの名無しさん:2010/06/01(火) 00:40:15
正直、普通にコードビハインドでイベントハンドラ書いて
その中でViewModelのメソッド呼べばいいと思う
やってることは本質的にCommandと同じだからMVVM的には全く問題ない
70デフォルトの名無しさん:2010/06/01(火) 00:44:54
WPFで作った物ってXPにも対応してる?
VMの上で動かすと描画がおかしいので気になる…
71デフォルトの名無しさん:2010/06/01(火) 00:47:17
どのVMかしらんがVMがエミュレートしてるGPUは相当古い物だぞ
実マシン上のXP上だと問題なく使える
72デフォルトの名無しさん:2010/06/01(火) 00:47:58
ViewModelはと紛らわしい
VMってVMware?
73デフォルトの名無しさん:2010/06/01(火) 00:54:09
>>71
文字が滲んで見苦しかったのでそれが聞けてよかった
サンクス
74デフォルトの名無しさん:2010/06/01(火) 00:55:16
バーチャルマッスィーン
75デフォルトの名無しさん:2010/06/01(火) 00:58:35
ん?WPFってGPUが貧弱だと描画がおかしくなるのか?
76デフォルトの名無しさん:2010/06/01(火) 00:59:59
>>75
いや
VPCとかの上で動かしたんでしょ
あれってGPUが相当古いし
77デフォルトの名無しさん:2010/06/01(火) 01:15:28
xpはtoolkitの一部のコンポーネントが動かないけどね
例えばアコーディオンは親のリサイズ時にサイズが追従しない等のバグがある
78デフォルトの名無しさん:2010/06/01(火) 01:18:26
Trim S3 (VRAM 4M) のはず。
79デフォルトの名無しさん:2010/06/01(火) 01:19:07
>>78
Trio の Typo
80デフォルトの名無しさん:2010/06/01(火) 07:09:51
>>68
ありがとう、ありがとう

>>69
やっぱりコードビハインドで書かないとダメだよな、ここらへん問題になってると思うんだけどなんで何もないんだろう
81デフォルトの名無しさん:2010/06/01(火) 07:09:53
xamlがよくわかりません
だれかxamlをC#で表現してみてください

DataTemplate はC#だと foreach...だよ

見たいな感じで
82デフォルトの名無しさん:2010/06/01(火) 07:40:47
>>81
xamlはwinformでいうところのIDEが直接さわる
Form1.Designer.csと同じポジション

それをhtml+CSSの仕組みをヒントに新しく設計したのがxaml
DataTemplateなどはCSSみたいな働きをするものかな
Styleあたりも同じ
83デフォルトの名無しさん:2010/06/01(火) 09:12:00
あれ?
VS2010だとアコーディオンが出てこないぞ??
ToolKit入れてるのになんでだ?
84デフォルトの名無しさん:2010/06/01(火) 09:16:04
xamlはオブジェクトをインスタンス化して配置するためのもの
85デフォルトの名無しさん:2010/06/01(火) 13:20:38
xamlはプログラムっていうよりデザインを作るもの
86デフォルトの名無しさん:2010/06/01(火) 20:44:35
デザインをプログラムするものって方が近いよな。
87デフォルトの名無しさん:2010/06/01(火) 21:15:25
だろ、だろ
だからC#風に表現したらxamlがわからないって言ってるやつも理解できると思うんだ
88デフォルトの名無しさん:2010/06/01(火) 21:18:31
だからそれってhtmlだろ
jsからだとインスタンスいじれるんだし
89デフォルトの名無しさん:2010/06/01(火) 21:54:07
親ウィンドウにピタっと揃える感じで子ウィンドウを置きたいんだが、
以下のコードだとウィンドウの枠の半分くらいがかぶる。
ActualWidthやHeightはウィンドウの枠も含めた値だと思ってたが違うのかな。

this.subWindow.Top = this.Top + this.ActualHeight;
this.subWindow.Left = this.Left + this.ActualWidth;
90デフォルトの名無しさん:2010/06/01(火) 23:10:01
this.ActualHeight->this.Height
this.ActualWidth->this.Width
にしてみればどうか。それでだめなら、コードを呼び出すタイミングが悪いんだろう。
コンストラクタではなくLoadedイベントハンドラに書いてみよう。
一応試してみたけど、うまく揃えて並べられたよ。
91デフォルトの名無しさん:2010/06/01(火) 23:17:33
Aeroのボーダー周辺のシャドウをウィンドウ枠扱いしてるとか無いだろうな、まさかな
92デフォルトの名無しさん:2010/06/01(火) 23:21:36
>>91
してるんじゃないの?
93デフォルトの名無しさん:2010/06/01(火) 23:25:53
いや、そうであってもWindowに隙間ができることはあってもかぶることはないんじゃ・・
94デフォルトの名無しさん:2010/06/01(火) 23:30:01
XAMLが分からんとは言わんが
MSDNでサンプルコードを見たとき別々に書いてあるから頭の中でバインドするのが面倒くさい
95デフォルトの名無しさん:2010/06/01(火) 23:35:09
デバッガで止めて値を確認してみれば一発じゃん
たぶん
96デフォルトの名無しさん:2010/06/01(火) 23:44:42
1 :名無しさん@どっと混む[]:2009/12/14(月) 20:45:15 ID:unnBMLw10
高根社長のSM趣味サイトMaskRと
副業のSMクラブ銀座プレジス・動画配信専門リアルミストレスばかり語られるが
高根社長の本業コムラッドについても語ろう

銀座プレジス
http://www.prezis.jp/top.htm

MaskR
http://maskr.com/

【腹黒樹里高根】銀座プレジス3【客の情報開示】
http://set.bbspink.com/test/read.cgi/sm/1273492895/

【腹黒樹里】プレジスを語ろう2【周年イベント大失敗】
http://set.bbspink.com/test/read.cgi/sm/1262702507/

プレジスを語ろう
http://set.bbspink.com/test/read.cgi/sm/1246009466/

動画配信専門リアルミストレスってどうよ?
http://set.bbspink.com/test/read.cgi/sm/1249183350/

9 :名無しさん@どっと混む:2010/01/03(日) 18:27:00 ID:RSEbBiG0O
高値はもう大麻やめたの?

10 :名無しさん@どっと混む:2010/01/04(月) 05:15:29 ID:A3l1qdv+O
タカネ社長ってどうやってばれないように脱税してんだろ?
億単位で脱税して億ション暮らしなんて凄いよな
監査役の奥さんもグルなのか?
97デフォルトの名無しさん:2010/06/01(火) 23:45:32
18 :名無しさん@どっと混む:2010/01/07(木) 09:26:06 ID:5NL2jyJpO
高根はMASKRでレイプ仲間募集するのやめたんだね
mixiで募集中か

21 :名無しさん@どっと混む:2010/01/10(日) 19:36:45 ID:FdRwgXUTO
風俗店やってるってことは高根社長は暴力団と繋がってるんだね
どこの組にいくらみかじめ料払ってるんだかw

23 :名無しさん@どっと混む:2010/01/23(土) 03:43:12 ID:Pdcv8aq0O
タカネ社長未成年に酒飲ませてレイプ

24 :名無しさん@どっと混む:2010/01/29(金) 18:16:06 ID:zMwtdkIsO
高根社長のレイプ趣味は病気だから治らない

25 :名無しさん@どっと混む:2010/02/01(月) 01:39:32 ID:uaH5mo2nO
前科者

26 :名無しさん@どっと混む:2010/02/09(火) 00:52:46 ID:JwGmN2cG0
>>25
容疑はレイプ?買春?管理売春?公然猥褻?薬物?脱税?詐欺?傷害?

28 :名無しさん@どっと混む:2010/02/14(日) 22:56:30 ID:lykq8x1VO
どこかのスレで人を死に追いやったと書いてあった

33 :名無しさん@どっと混む:2010/03/04(木) 12:49:19 ID:J8YxaRGO0
金がないって脱税がばれて追徴課税でも来たか?
せっかく脱税の隠れ蓑にプレジス営業してるのに残念だったなw

38 :名無しさん@どっと混む:2010/03/12(金) 21:09:53 ID:L0W4+sivO
首吊り首絞めプレイ大好き高根英哉
98デフォルトの名無しさん:2010/06/01(火) 23:46:14
53 :名無しさん@どっと混む:2010/05/17(月) 13:14:06 ID:E/7OZVtz0
>>18
高根英哉blogでレイプ仲間募集中

私とともにマスクの女どもを弄ぶ仲間を募集する
急に思いついたら連絡をして、集まれるような仲間だ
だから、複数名募集するし、いついつという日時があるわけでもない
条件は以下のとおりだ
    ・SMを実践している、または興味がある
    ・マスクを用意できる
    ・都内でイベント参加できる
    ・イベント内容およびこの仲間を通じて知りえた情報を口外しない
    ・成人男子である
    ・携帯電話および携帯メールアドレスを私に公開できる
    ・酒が好きである
希望者は私宛にメールを送ってほしい
全員が参加できるわけでもないので、こちらの選択に任せてもらう
なるべく想いを書いてもらうほうがわかりやすいし
経験や顔写真も歓迎。
[email protected]
[email protected]
[email protected]
99デフォルトの名無しさん:2010/06/01(火) 23:51:36
コピペ君って馬鹿だな、まで読んだ。
100デフォルトの名無しさん:2010/06/02(水) 00:07:13
>>90
ありがとう。Loadedイベントハンドラの中で書いててWidth、Heightで試してみたけど
結果は同じだった。
デバッガで値見たけどWindowタグ内で指定したWidth,Height値と同じ値だったので
いけると思ったんだけど…。
それぞれ5pxずつ増やすとちょうどぴったりになる。

と、書きながらふとWindowタグで指定してたResizeMode="NoResize"を消して試したところ、
ちゃんとした結果が帰ってきた。
NoResizeモードだとなんでずれるの・・・
101デフォルトの名無しさん:2010/06/02(水) 00:22:02
ふーん・・・変だね。
ResizeMode="NoResize"をつけてみても
私の環境(XPsp3 VS2008 TargetFramework=.NET3.5または3.0)では問題がない。
なんでだろうね・・?
102デフォルトの名無しさん:2010/06/02(水) 00:24:24
あ、すんません、俺の環境は
Win7 x64 VS2010 .NET4 Client Profileです。
ResizeModeの指定の有無で結果が変わるのでおそらくこいつが原因だと思うんだけど…。
103デフォルトの名無しさん:2010/06/02(水) 00:27:39
Vista x86/.NET4でもResizeModeによる違いも問題もないなぁ
104デフォルトの名無しさん:2010/06/02(水) 00:48:50
BeginAnimation で Margin を移動させている最中に
Manipulation によって強制的に Margin を変更させても
もともとの到達地点だったところまで Animation で移動させるには
どのように記述したら良いのですか?

WPF4 の資料が少なくて、よく分かりません。

Manipulation に関する情報もほとんどなく、
見つかる情報は全て情報が重複しています。
みんながみんな、同じソースをコピペしているのだろうな、
と思えてしまうほどです。

WPF4 使っている人でも使っていない人でも
よろしくお願いします。
105デフォルトの名無しさん:2010/06/02(水) 12:03:26
以下のコードで、テーマを適用しようとすると、コンパイルは通って、実行結果でもテーマも適用されるのですが、次のようなエラーが出て、デザイナーに表示されません。

ファイルまたはアセンブリ 'file:///C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\WPF.Themes.dll'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

VisualStudio2008Proを使用して、WPF.ThemesとWPFToolkitのアセンブリ(.net3.5用)は参照しています。
上記のフォルダに、アセンブリのインストールが必要なのでしょうか?

<Window x:Class="WpfApplication1.Window1"
   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:themes="clr-namespace:WPF.Themes;assembly=WPF.Themes"
   themes:ThemeManager.Theme="ExpressionDark">
   <Grid>
       <Button>ExpressionDark</Button>
   </Grid>
</Window>

106デフォルトの名無しさん:2010/06/02(水) 16:50:04
そのソースどっからコピペしてきたんよ
107デフォルトの名無しさん:2010/06/02(水) 17:18:16
>>106
WPF Themes
http://wpfthemes.codeplex.com/

からChange Set 34079のデモソースです。
108デフォルトの名無しさん:2010/06/02(水) 17:53:13
109デフォルトの名無しさん:2010/06/02(水) 17:59:22
つーか、WPF.Themesを同じソリューションで作業してるんじゃ無けりゃ
DLLはしかるべき場所にコピーしないと鳴らないと思うよ
110デフォルトの名無しさん:2010/06/02(水) 18:15:32
>>108
入れてます。参照もしています。

>>109
参照設定でローカルコピーもTrueにしているのですが、実行するとテーマは適用されているのに、デザイナに表示されないのが不思議です。
111デフォルトの名無しさん:2010/06/02(水) 18:41:19
いやだから参照設定はデザインとは別じゃない
そのプロジェクトでできたWPF.Themes.dllを
...\Common7\IDE\にコピーしてVS2008再起動してみたら?
うちではそれでうまくいったけど
112デフォルトの名無しさん:2010/06/02(水) 19:31:38
なるほど、そういうもんなんですね。
うまくいきました。ありがとうございます。
113デフォルトの名無しさん:2010/06/03(木) 07:37:36
Updated Release: Prism Drop June 1, 2010
http://compositewpf.codeplex.com/releases/view/46407

Prism 4.0 Drop 1
ひゃっはー!
114デフォルトの名無しさん:2010/06/03(木) 08:29:41
Rating: No reviews yet
Downloads: 1
115デフォルトの名無しさん:2010/06/03(木) 08:37:31
もちろんPrism 4.0系列はキックオフしたばかりのDev status: Alphaです
116デフォルトの名無しさん:2010/06/03(木) 08:45:03
4.0って2系と何がちがうのん?
英語が苦手なぼくちんに教えて下さい><
117デフォルトの名無しさん:2010/06/03(木) 09:23:06
>>116
・MEFの統合
・MVVMサポートの拡張
・WCF RIA Services、WCF Data Servicesなんかの取り込み
・design-timeサポート

MVVMパターンは今でもできるけど、リボン・ポップアップとかのサポートも提供していくっぽい
118デフォルトの名無しさん:2010/06/03(木) 09:30:42
MVVMがわかりやすく説明してあるサイトかわかりやすいサンプルコード、教えてください
119デフォルトの名無しさん:2010/06/03(木) 09:35:23
>>117
ありがとん!
MEF統合はありがたいのー。
120デフォルトの名無しさん:2010/06/03(木) 13:01:08
design-timeがサポートされたら地味に便利
リボンとかポップアップとかダイアログはフレームワークレベルで対応してくれたらほんと使いやすくなるなぁ
121デフォルトの名無しさん:2010/06/03(木) 15:14:00
チミたちMVVMはどこで勉強したの?Web漁ってもいまいち掴みどころがわからんちん
122デフォルトの名無しさん:2010/06/03(木) 15:24:54
つかMVVMをチートシート並に纏めて欲しいんだよ
1200字ぐらいで

MSDNとか数十キロバイトの文章でだらだら説明してナメてんのか
123デフォルトの名無しさん:2010/06/03(木) 15:31:13
そんなことより必要な情報になかなか辿り着けないのがな。
Formsなんか既に情報が蓄積されてるし、前時代のAPIの知識も流用可能だから
大雑把な検索文句でも目的地には着くんだが。

WPFだと「まずどれを使うんだよ?」の答えに辿り着かない。
ドアに取っ手がない。
124デフォルトの名無しさん:2010/06/03(木) 16:09:33
それは壁や
125デフォルトの名無しさん:2010/06/03(木) 16:11:19
「DataGridのデザインとバインド何処に書くんだよ?」
「何処にでも」

・・・ちょっと前まで、マジこんな問答だったよな。
一休さんでも敬遠するっつーの。
126デフォルトの名無しさん:2010/06/03(木) 16:13:32
まあxamlにも書けるし、C#側にも書けるしで悩むよね
xamlに書いた場合はほぼ性的になるだろうし
C#に書くと動的だよね
127デフォルトの名無しさん:2010/06/03(木) 16:33:55
イヤーン
128デフォルトの名無しさん:2010/06/03(木) 16:55:48
とりあえずエッセンシャルWPF読んであとは適当に海外のブログぐぐればなんとかなる
129デフォルトの名無しさん:2010/06/03(木) 17:25:36
システム全体の音量を調節したいです。
あわよくば、自分(アプリ)の音量だけを調節したいです。

調べてみたのですが、WPFで音量のコントロールって
この方法しかないのでしょうか?
ttp://www.geekpedia.com/tutorial176_Get-and-set-the-wave-sound-volume.html

上はC#の話ですが、WPFだと DllImport なんてしなくても
できませんかね?という相談です。

マイクの音量調節なら System.Windows.Input.MediaCommands クラスで
できるみたいなのですが、出力系のものを見つけることが出来ませんでした。
130デフォルトの名無しさん:2010/06/03(木) 21:04:17
WPFを何だと思ってるんだ
システムの音量なんかWPFとは全く関係の無いこと
131デフォルトの名無しさん:2010/06/03(木) 22:24:00
>>130
そういう台詞は、WPFが何なのかを語りながら吐くものだ。
132デフォルトの名無しさん:2010/06/03(木) 23:59:12
C#とWPFを並列に語ってる時点で相手したくなくなるよね
133デフォルトの名無しさん:2010/06/04(金) 00:14:10
>>125
敬遠球をランニングホーマーにするんだね
134デフォルトの名無しさん:2010/06/04(金) 00:16:03
プレゼンテーション用のファウンデーションなんだから、サウンドだって何とかしてくれたっていいじゃない。

>>129
winmm は Vista 以降に対応してなかったキガス
135デフォルトの名無しさん:2010/06/04(金) 00:27:19
Vista以降はMixerAPIかな
136デフォルトの名無しさん:2010/06/04(金) 00:27:35
>>132
並列ならいいんじゃね?
137デフォルトの名無しさん:2010/06/04(金) 14:56:23
>>136
あっ

すみません直列でした
138デフォルトの名無しさん:2010/06/04(金) 15:06:00
面白くない
139デフォルトの名無しさん:2010/06/04(金) 19:26:07
ListBoxとかListViewに、画像ファイルをエクスプローラのサムネイル表示みたいに表示させるのってどうやればいいの?
140デフォルトの名無しさん:2010/06/04(金) 22:46:00
データテンプレートを使う
141デフォルトの名無しさん:2010/06/04(金) 22:49:00
>>139
ViewBaseから継承してGridViewのように使えばいいと思うよ。
142デフォルトの名無しさん:2010/06/04(金) 23:02:15
Styleも必要な気が
143デフォルトの名無しさん:2010/06/04(金) 23:09:26
>>139
ItemsPanelとItemTemplateのコンボでいけるよ。
144デフォルトの名無しさん:2010/06/04(金) 23:19:59
>>143
kwsk
145デフォルトの名無しさん:2010/06/04(金) 23:23:38
例えばこんなん

<Window.Resources>

<asm:ViewModel x:Key="viewModel"/>
<DataTemplate DataType="{x:Type asm:ImageItem}" x:Key="listBoxDataTemplete">
<Image Width="128" Height="128" Source="{Binding Path=FullName}"/>
</DataTemplate>

<ItemsPanelTemplate x:Key="listBoxPanelTemplete">
<StackPanel Orientation="Horizontal"></StackPanel>
</ItemsPanelTemplate>

</Window.Resources>


class ImageItem
{
public string FullName { get; set; }
}


どっかXAML整形表示できるところないのかしら
146デフォルトの名無しさん:2010/06/04(金) 23:25:33
使う時

<Grid DataContext="{StaticResource viewModel}">
<ListBox ItemsPanel="{StaticResource listBoxPanelTemplete}"
ItemTemplate="{StaticResource listBoxDataTemplete}"
ItemsSource="{Binding Path=Items}"/>
</Grid>

テスト用のViewModelは次のを使ってます

public class ViewModel
{
public ImageItem[] Items { get; set; }

public ViewModel()
{
this.Items = new ImageItem[10];
for (int i = 0; i < 10; i++)
{
this.Items[i] = new ImageItem();
this.Items[i].FullName = @"C:\Users\%USERNAME%\Desktop\test.jpg";
}
}
}
147デフォルトの名無しさん:2010/06/04(金) 23:28:01
レスありがとう。
まだ荒削りだけどこんな感じでいけた。
StyleとかDataTemplateはおもしろいだけに、深みにハマりそうで怖い。

スニペット
<Style x:Key="ThumbnailStyle" TargetType="{x:Type ListBox}">
<Setter Property="Padding" Value="5"/>
<Setter Property="Margin" Value="5"/>
<Setter Property="MinHeight" Value="70"/>
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Image Source="{Binding FilePath}"
Margin="5" Width="96" Height="72" />
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<UniformGrid Columns="{Binding Yoko}"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
148デフォルトの名無しさん:2010/06/04(金) 23:29:05
コード書いてたらさらにレス来てた。
>>145
参考にさせてもらいます。
149デフォルトの名無しさん:2010/06/04(金) 23:30:18
Prism和訳のヘルプがあったと思ったんだけどみつかりゃない…
150デフォルトの名無しさん:2010/06/04(金) 23:34:37
>>149
これのこと?
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=6dd3d0c1-d5b4-453b-b827-98e162e1bd8d

内容は古くなってるから英語だけどv2.2のほうがいいとは思うけど。
151デフォルトの名無しさん:2010/06/04(金) 23:41:26
>>150
サンクス!
たしかにちょっと古いな…
でももうPrismのサンプルみるの疲れた('A`)
152デフォルトの名無しさん:2010/06/06(日) 18:16:49
ちょっとしたツールをWPFで作ってみたら糞重くて泣きそうになった。
これに適したアプリケーションってかなり限られてるね
153デフォルトの名無しさん:2010/06/06(日) 18:24:49
マシンが非力か作り方が悪いんだろ
最初WPFでライフゲーム作ってみたときDrawingContextで毎フレーム描画してて糞重くて泣きそうになった
154デフォルトの名無しさん:2010/06/06(日) 18:41:53
ちょっとしたツールに適した機動性っちゅうもんがあるねん
155デフォルトの名無しさん:2010/06/06(日) 18:44:19
ちょっとした、ってのがどのくらいの物か解らんけど
何を作ろうとしたの?
156デフォルトの名無しさん:2010/06/06(日) 19:39:03
ちょっとしたものならC#以外の選択肢もあるだばさ
157デフォルトの名無しさん:2010/06/06(日) 22:44:24
WPF は最初、その複雑さに挫折し、それを乗り越えた次はパフォーマンスに挫折する。
158デフォルトの名無しさん:2010/06/06(日) 23:02:53
Direct2Dベースの描画になってくんねーかなー
159デフォルトの名無しさん:2010/06/06(日) 23:12:24
パフォーマンスに問題を覚えるほど複雑なUI作ってない
ただウィンドウが開くのが異様に重いのだけは難点
160デフォルトの名無しさん:2010/06/06(日) 23:22:53
複雑なUIよりもデータ量を多めにつっこんだ時のパフォーマンスの劣化が痛いと思う。
161デフォルトの名無しさん:2010/06/06(日) 23:48:34
うちは重たいと思った事ないけどなぁ。
仮想マシンの上で動いてるからビデオカードは最低レベルだしIOもホストの1/2しか出ないけど起動がちょい遅いだけで快適。
162デフォルトの名無しさん:2010/06/07(月) 00:43:05
重いって言ってるのは世代的にVista以前のマシンじゃないの
163デフォルトの名無しさん:2010/06/07(月) 00:45:36
入力データの検証を行いたい場合はどのタイミングでおこなうべきでしょうか?

●UI側のイベントを利用して行う
●BindingのConverterで行う
●BindingのValidationRuleで行う
●BindingのUpdate系イベントで行う
●モデル側のクラスが値を代入された時に行う

バインディングを利用した場合は上記のような場所で、
値の検証が行えると思います(他にもございましたら指摘お願いします)。

またWPFを学ぶ上で、MVCのようななんらかしらの
モデルなどはございますでしょうか?

よろしくお願いいたします。
164デフォルトの名無しさん:2010/06/07(月) 01:09:39
TextBlockのレイアウト計算が遅すぎる

大量のテキストが表示されるようなアプリケーションを作るときは
TextBlockを使わずに、独自のコントロールを作らないとやってらんないよ
165デフォルトの名無しさん:2010/06/07(月) 01:43:59
DirectXだよ
166デフォルトの名無しさん:2010/06/07(月) 07:55:43
たしかに大量にTextBlockを生成するよりLabelの方が軽いわ
Labelより独自コントロールの方が軽いのかな
167デフォルトの名無しさん:2010/06/07(月) 12:57:47
WPFアプリ内でDirectInputを使おうと思ったんですがうまくいきません。
参照設定にMicrosoft.DirectX、Microsoft.DirectInputを追加し、
Windowクラスに
private Microsoft.DirectX.DirectInput.Device didev;
を追加するまでは大丈夫なんですが、InitializeComponent();の
呼び出しのあとに、
didev = new Microsoft.DirectX.DirectInput.Device(
           Microsoft.DirectX.DirectInput.SystemGuid.Keyboard);
と書くと、
System.Windows.Markup.XamlParseException はハンドルされませんでした。
Message="アセンブリ 'TrackX, Version=1.0.0.0, Culture=neutral,
   PublicKeyToken=null' で定義された 'Window1' のインスタンスを
   作成できません。 呼び出しのターゲットが例外をスローしました。
   マークアップ ファイル 'Window1.xaml' 行 1 位置 9 にエラーがあります。"
Source="PresentationFramework"
LineNumber=1
LinePosition=9
と表示されて異常終了します。

トレースしてみるとそもそもInitializeComponent()呼び出しまでもたどり着いていないようです。

詳しい方どうか解決方法を教えていただけないでしょうか?
168デフォルトの名無しさん:2010/06/07(月) 13:05:34
> マークアップ ファイル 'Window1.xaml' 行 1 位置 9 にエラーがあります。"
こう言われてんだからまず確認してくれよ
169デフォルトの名無しさん:2010/06/07(月) 13:21:22
>>168
 脊髄反射ありがとうございます。
そこに問題が無いことは確信を持っております。
170デフォルトの名無しさん:2010/06/07(月) 13:22:57
>>169
その確信を捨てるんだ
171デフォルトの名無しさん:2010/06/07(月) 13:26:26
ちょっと試してみたよ。
>>167は64bit環境じゃない?
MDX使うなら、x86にしないとダメだよ。
構成マネージャから新規作成でx86作ってみそ
172デフォルトの名無しさん:2010/06/07(月) 13:27:51
>>170
おまえはエラーを出したことがない天才プログラマーのようだな
173171:2010/06/07(月) 13:28:17
あ、書き忘れたけど、AnyCPUからx86ね
2010からはデフォルトがx86になったけど2008以前だと
AnyCPUだからね
174デフォルトの名無しさん:2010/06/07(月) 13:31:26
>>170-171
レスありがとうございます。
確かに64bit環境です。エスパー感謝いたします。
ただいま構成マネージャ捜索中です。
もしかしてVisual C# 2008 Express Editionでは無いのでしょうか?
175デフォルトの名無しさん:2010/06/07(月) 13:33:30
EEもあるけど、設定変えないと出てこなかった気がする
オプションのツールのとこ。
176デフォルトの名無しさん:2010/06/07(月) 13:38:25
えーと、メニューからツールのオプション選んで
左下の全ての設定を表示にチェック入れて
一番上のプロジェクトおよびソリューションの全般選んで
ビルド構成の詳細を表示、にチェック入れる。
ツールバーに出てこなかったらツールバーも編集いるかも
177デフォルトの名無しさん:2010/06/07(月) 13:39:00
>>175
何から何まで恐縮です。
ツール - ユーザー設定の中に構成マネージャを見つけたので、
めにゅーへ追加しました。
しかし、グレーになっており選択できないようです。

まだ頑張って調べ中ですが、取り急ぎ中間報告いたします。
178デフォルトの名無しさん:2010/06/07(月) 13:43:19
>>176
見逃していました。その通りにしますと、グレーにもならず、
ビルドメニューに構成マネージャが新たに追加されました。

実行も問題なく出来ました。

数カ月の謎が一気に解けました。皆様本当にありがとうございました。
179163 :2010/06/07(月) 14:08:59
たーすけーてくーださーいorz
180デフォルトの名無しさん:2010/06/07(月) 14:13:13
うるせーな適当に答えるぞ

・値の検証

ValidationRuleでやれ
そのためにあるんだろーが

・モデル

MVVM
181デフォルトの名無しさん:2010/06/07(月) 22:13:15
>>166
Labelの方が軽い、というのはなんか変だね。
TextBlockはFrameworkElementから直接継承していてずっと軽い。
LabelはContentControlであって、Stringを放り込んだ場合、自動的に内部にTextBlockを作る。
メモリリソース、実行効率から言ってLabelが軽いはずはないんだけど。
一体どうなってんのかね?
182デフォルトの名無しさん:2010/06/07(月) 22:20:30
レイアウト関連のプロパティのデフォルト値がTextBlockとContentControlで違うとかじゃね
183デフォルトの名無しさん:2010/06/08(火) 01:05:40
やっぱり遅さの元凶はDependencyPropertyとリフレクションなんかなあ。
ただでさえマネージドコードは遅いのに。
184デフォルトの名無しさん:2010/06/08(火) 06:58:44
だろね。
185デフォルトの名無しさん:2010/06/08(火) 11:07:39
そんなことがボトルネックになるようなアホなつくりにはしないだろ
やってることがもともと非常に複雑だから仕方ない
仕様にハードの性能が追いついてないんだよ
186163:2010/06/08(火) 11:24:31
>>180
どもです、やっぱりValidationRuleでやったほうがよいのですね。
もでるについてはMVVMでググって見ます。

ありがとうございました。
187デフォルトの名無しさん:2010/06/08(火) 12:38:17
>>185
ハードを蔑ろにした糞仕様ってこと?
188デフォルトの名無しさん:2010/06/08(火) 12:40:39
まあDirectXとかは先に仕様ができてからハードがついてくるしなあ
189デフォルトの名無しさん:2010/06/08(火) 18:24:12
グラフィックレンダリングに関しては、今後のハードウェアの性能が上がれば描画も早くなろうが・・。
ただ、バインディングやらレイアウト処理やらのマネージドコードで書かれた内部メカニズムに関してはCPUのコア性能があがらんことには
どうしようもない。WPFのViewレイヤーを担当する部分は(基本的には)分散できずにシングルスレッドで走らすしかないから
CPUのコア数があがってもどれほどの向上が見込めるのやら・・・。

190デフォルトの名無しさん:2010/06/08(火) 18:28:22
今の実装がシングルスレッドだからって、将来にわたりマルチスレッドで走らないなんて事はないだろ。
191デフォルトの名無しさん:2010/06/08(火) 18:41:39
いや、WPF開発チームは当初マルチスレッドも許容するようなGUIライブラリに組むことを考えて設計したけど
あまりに複雑になりすぎたので断念した、という経緯がある。
192デフォルトの名無しさん:2010/06/08(火) 19:12:01
またそのうちチャレンジするだろ。
193デフォルトの名無しさん:2010/06/08(火) 20:10:43
COMとの連携なんかでSTAThreadにせざるを得なかったとか書いてあった希ガス
194デフォルトの名無しさん:2010/06/08(火) 21:44:19
yet another doomed libraryてことにならんことを祈る。
195デフォルトの名無しさん:2010/06/08(火) 22:57:33
さわってておもしろいけど、おもしろいでおわっちゃう
196デフォルトの名無しさん:2010/06/08(火) 23:40:28
FlowDocumentって作成したスレッドからしか触れないんだな。
別のスレッドのオブジェクトを操作するには、BeginInvoke使えとか言ってるけど、
ビューアーコントロールはそんなもん使ってくれないし。
データーを裏でロードしたり、構築したりしたい事って結構あると思うんだけどな。
ググったら、MemoryStream使って渡す例があったけど、
実際にやってみたら遅くて本末転倒だった。
197デフォルトの名無しさん:2010/06/08(火) 23:52:53
CPUコア数の増加に進んだ Intel が悪い。
本当なら今頃 16GHz のCPUが出ている筈なのに。
198デフォルトの名無しさん:2010/06/08(火) 23:57:39
どこのCPUメーカーもそうなんじゃない?結局技術的に頭打ちになってるんじゃなかろうか・・・。

199デフォルトの名無しさん:2010/06/09(水) 00:11:52
ネタにマジレスされても困るが、並列プログラミングの難易度の問題から
コア数増えてもクロック数あがらないとあまり効果でないってのは分かりきったことで
このままコア数増え続けていっても有効活用できないだろうし、CPU以外の
部分に足ひっぱられるだろうしで、何かしらの打開策はいるんじゃなかろーか。
200デフォルトの名無しさん:2010/06/09(水) 01:43:08
WPFもCOMコンポーネントを捨てればマルチスレッド許容できたが
現実問題として捨てられないから妥協した、みたいな書き方だったよね

マルチコアに進んだからシングルコアの性能が上がらないんじゃなくて
逆じゃないっけ。
シングルコア性能向上の限界が見えたからマルチコアに進んでるんじゃないの
201デフォルトの名無しさん:2010/06/09(水) 07:46:11
そのうちCPUは太陽表面並の温度になるってギャグがあったなあ
202デフォルトの名無しさん:2010/06/09(水) 11:31:16
単位面積あたりの発熱量が原子炉を越えたじゃなかったかな?
203デフォルトの名無しさん:2010/06/09(水) 12:03:25
Prismでアプリケーション設定やユーザー設定を、モジュール間でやりとりするのってどんな方法がありますか?
Unityコンテナに登録して、各モジュールでインスタンスを取り出すとかかなって考えてますが、いいやり方ってありますか?
204デフォルトの名無しさん:2010/06/09(水) 23:38:58
メインのウィンドウから、別の Window を ShowDialog() で呼び出し、
モーダルとして表示しています。
当然、そのWindowの×ボタンをクリックすればWindowは消せるのですが、
Windowの外の領域をクリックすることでもそのWindowを消したいです。

WPF用デバッグツール snoop なども使ってみましたが、
領域の外をクリックしたことを取得する方法は分かりませんでした。

可能でしたら、手段をお教えください。
205デフォルトの名無しさん:2010/06/09(水) 23:47:00
フォーカスがなくなったよイベントでCloseじゃだめかのう。
206デフォルトの名無しさん:2010/06/09(水) 23:48:11
>>204
カーソルをキャプチャするんだよ
207デフォルトの名無しさん:2010/06/09(水) 23:48:34
最前面じゃなくなったよイベントがあったようななかったような
208デフォルトの名無しさん:2010/06/09(水) 23:50:01
モーダルっつってんだろクソどもが!
209204:2010/06/09(水) 23:56:02
>>205
私も同じことを考えたのですが、
モーダルの場合はフォーカスを失ったとは見なさないようです。

>>206
調べてみます。ありがとうございます。

>>207
最前面かどうかの判定では難しそうです。
210デフォルトの名無しさん:2010/06/10(木) 00:05:38
モーダルの場合でそのような挙動をするダイアログボックスはあまりみたこがありませんが・・・
モードレスへの変更を検討すべきではないかと思います。
211デフォルトの名無しさん:2010/06/10(木) 00:14:37
非アクティブになったら消えるウィンドウがモードレスかモーダルかなんて
利用者から見て違いあるかな?
212204:2010/06/10(木) 00:15:59
>>210
アドバイスありがとうございます。
現在、以下のようなストーリーを考えているのですが、
モードレスでも記述かのうでしょうか?

・メインウィンドウから他のWindowを表示
・メインウィンドウは Window が閉じられるまで操作停止
・Windowには OK と Cancel があり、DialogResult でいずれかを受け取る
・OK or Cancel により、メインウィンドウにてその後の動作を変える

よろしくお願いします。
213204:2010/06/10(木) 00:17:25
すみません、追記です。
Window の外をクリックした場合も、(例えば)Cancel であると見なしたいです。
214デフォルトの名無しさん:2010/06/10(木) 01:31:53
ユーザーエクスペリエンスの破壊を目的とするわけか
215デフォルトの名無しさん:2010/06/10(木) 01:38:32
WPFで簡単なもぐら叩きを作っているのだが、
1分間Gridがクリックされなかったらメッセージボックスを
表示することってできる
216デフォルトの名無しさん:2010/06/10(木) 01:53:52
>>215
スタートしたあと1分間のカウントアップでもカウントダウンでもはじめて
クリックがあればカウントターをリセットすればいいだけちゃうの?
217215:2010/06/10(木) 02:12:26
>>216
あぁ、なるほど。ありがと。
218デフォルトの名無しさん:2010/06/10(木) 02:19:20
カウンターリセットとかどうやんの?

WPFのタイマーっつーと DispatcherTimer を思い出すのだが、
この Completed で MessageBox呼ぶようにしても
Intervalのキャンセルなんてできるの?
219デフォルトの名無しさん:2010/06/10(木) 02:25:49
>>218
WPFのタイマーはよくしらんが標準のタイマーをうまくコントロールできないなら
タイマーから一定サイクルで呼び出される関数で自分の用意したカウンター
を+(もしくは-)にしてってやればいいだけちゃうの?
タイマーとしてみるよりは一定サイクルを刻むクロックとみなして・・・
220デフォルトの名無しさん:2010/06/10(木) 02:49:14
>>218
カウンタっつーか普通にタイマを一度止めて再開すれば良いんじゃね?
221デフォルトの名無しさん:2010/06/10(木) 10:05:20
みなさん、WPFをどうやって勉強してます?MVVMとか。
やっぱり、CodeProjectかCodePlex?
222デフォルトの名無しさん:2010/06/10(木) 10:07:38
このスレ見て
223デフォルトの名無しさん:2010/06/10(木) 10:22:06
3割質問、1割回答、6割がただの煽りのスレで勉強とな
224デフォルトの名無しさん:2010/06/10(木) 10:23:26
ヘルプ見りゃ大体判る
225デフォルトの名無しさん:2010/06/10(木) 10:24:15
でも、WPFって大規模開発でしか使われてないのかも。

数人で作るんだったら、フォームで作っても問題無いような
仕様(それか予算)しか出てこないでしょ。

このスレでも出てきたPrismとか、そんな感じ。
226デフォルトの名無しさん:2010/06/10(木) 10:52:24
WPFのTextBlockやListViewが使いたくなるような要求は結構出てくるよ

「WinFormsだと結構手間がかかるんですよねー」
「でも、WPFで1から作る予算はありませんねー」

で、結局仕様には盛り込まれず、WPFは使われないんだけど。
227デフォルトの名無しさん:2010/06/10(木) 10:54:44
しかし、この先GPUによるアクセラレートはWPFでしか行われなくなりそうなのに、
いつまでもFormってのもなあ。
228デフォルトの名無しさん:2010/06/10(木) 10:55:31
今度、1から作るプロジェクトが始まるんで、WPFで作ろうかと調査中。

MVVMとか、他人に分かるんだろうか‥‥
229デフォルトの名無しさん:2010/06/10(木) 10:58:14
>>228
推し進めるくらいなら布教してまわればいいじゃんw
それができないならwinformでやるしかないような
230デフォルトの名無しさん:2010/06/10(木) 11:01:29
>>229
布教とかめんどくさいじゃん。
欲しいのは金と技術であって、正直、他人のことに興味無い。
231デフォルトの名無しさん:2010/06/10(木) 11:03:40
このスレの状態とネットで検索した状態を見ればおおよそ回りの力量とか状態は把握できそうな物だと思うが・・・
232デフォルトの名無しさん:2010/06/10(木) 11:04:12
>>228
とりあえず採用する前に、パフォーマンスの評価だけはやっといた方がいいよ。
予想以上に遅いから。
233デフォルトの名無しさん:2010/06/10(木) 11:05:39
このスレって、本職の人多いの?
4割が学生、4割がサンデープログラマー、1割がマイクロソフトの人、
1割が通りすがりの人、ぐらいにしか思ってないんだけれど‥‥。

うちみたいなフリーダムな場末の会社じゃないと、仕事で2chとか無理でしょ。
234デフォルトの名無しさん:2010/06/10(木) 11:06:43
>>232
そんなに重いかなぁ。
SIだから、動作環境指定できるので大丈夫。
235デフォルトの名無しさん:2010/06/10(木) 11:08:33
表示されてるコントロールの量が多くなるとすんごくトロくなるね
236デフォルトの名無しさん:2010/06/10(木) 11:09:56
>>234
ああ糞SI様か
下に負担だけはかけないでください
新しいことやるならそれなりに予算をください
237デフォルトの名無しさん:2010/06/10(木) 11:11:47
>>236
嫌なら下りてください。
代わりはいくらでも居るんだから〜。
238デフォルトの名無しさん:2010/06/10(木) 11:12:53
SIが目をつけるってことはWPFは糞でいいな
Javaなんかも実際そうなってしまったし
239デフォルトの名無しさん:2010/06/10(木) 11:17:06
Javaはまだまだ使われてるだろ?
ベンダーロックイン出来ない公共系はJava指定ばかりだ。
240デフォルトの名無しさん:2010/06/10(木) 11:19:15
Javaは第2のCOBOLになりそうだな
241デフォルトの名無しさん:2010/06/10(木) 11:23:12
それは、長い間、金になるってことでは?
242デフォルトの名無しさん:2010/06/10(木) 11:23:47
VB6.0からの移行は.netじゃなくて、Javaにする例が結構多いみたいだな。
243デフォルトの名無しさん:2010/06/10(木) 11:25:12
>>241
金にもなるけど未だに使うのかよとやっかまれつつ
244デフォルトの名無しさん:2010/06/10(木) 11:42:17
AndroidやiPhoneでもXAMLが使えればなあ
245デフォルトの名無しさん:2010/06/10(木) 11:43:15
html5でいいよ
246デフォルトの名無しさん:2010/06/10(木) 11:44:29
AdobeがFlashのHTML5コンバーターだせばいいんじゃね?
247デフォルトの名無しさん:2010/06/10(木) 11:45:00
Flash以上に中身丸見えだけどな
248デフォルトの名無しさん:2010/06/10(木) 12:01:45
WPFは単純に重いというより、何をすると重くなるのかが知られてないんだと思う

WinFromsだって、大量にコントロールを貼って、節操無くInvalidateしまくったら重いだろ

WPFの場合、測定と配置の仕組みを理解していないと
再測定と再配置の嵐で遅くなる
249デフォルトの名無しさん:2010/06/10(木) 12:08:55
>>248
そこんところをやさしく解説してください
250デフォルトの名無しさん:2010/06/10(木) 12:22:15
SharedSizeGroup は重くて使えないよねぇ。下手すりゃ、整列してるのがアニメーションで見られるぐらい。
結局カスタムレイアウト使うことにしたが、何かコツあんの?>>248
251デフォルトの名無しさん:2010/06/10(木) 12:27:26
>>234
端末200台あるような場合でも最新のハイスペック揃えってくれって言えるのはSIer様だけだよ、まったく。
TPOというか、コスト削減につなげるためにシステム入れるってことちょっとは弁えて欲しいぜ。
252デフォルトの名無しさん:2010/06/10(木) 12:32:31
>>251
今時、WPFが軽く動く端末の金額なんて、人件費に比べれば誤差だろ。
そこでコスト削減とか訳のわからないこと言っている企業は、
潰れるべき、っていうか、もう延命しようとも詰まれてると見るべき。
253デフォルトの名無しさん:2010/06/10(木) 12:35:19
いくらハイスペックにしても、シングルスレッド性能は上がらないから、
遅いままなんだけどなあ。
GPUもあんまり効果無いみたいだし。
254デフォルトの名無しさん:2010/06/10(木) 12:35:24
>>248
よろしい
今すぐ纏めなさい
255デフォルトの名無しさん:2010/06/10(木) 12:35:55
つーか、1から作るって書いてあるじゃん。
セキュアな状態が必要だから、ネットワークから敷き直すの。
だから、端末代なんて誤差。

別に、SSLでも良いと思うんだけれどね。
256デフォルトの名無しさん:2010/06/10(木) 12:38:15
つーか、WPFが遅いって言っている人は、自分の技術の無さを自覚するべき。
駄目な奴は何を作っても駄目。いつの時代も遅いって言っている。
257デフォルトの名無しさん:2010/06/10(木) 12:41:06
いつまでも他人のせいだよな
お互いにw
258デフォルトの名無しさん:2010/06/10(木) 12:43:13
>>256
FlowDocumentが重いんですが、速くする方法を教えて下さい
259デフォルトの名無しさん:2010/06/10(木) 12:43:36
>>250
再配置の連鎖が起きないように気をつけるだけだよ。

SharedSizeGroupなら、
動的にサイズが変わるコントロールや動的に生成されるコントロールを含む部分には
SharedSizeGroupを適用しないように気をつける。

それと、カスタムレイアウトは別に悪くないんじゃない?
どうせ簡単に作れるんだし。
260デフォルトの名無しさん:2010/06/10(木) 12:45:49
>>256
余計なこといわなきゃいいのに
駄目と切り捨てた以上はテクニックを披露していけよ
そしたら認めてあげるわw
261デフォルトの名無しさん:2010/06/10(木) 12:50:47
つーか、まず、その遅いというソースをうpするしかないと思うんだが‥‥。
262デフォルトの名無しさん:2010/06/10(木) 12:56:25
MSDNや書籍を含めてろくなドキュメントが無いんだよな
どれもMSDNのチュートリアル止まり

残念なことに、
配置と測定に関してはMeasureOverride、ArrangeOverrideで検索して
断片的な情報を集めて行くのが一番早い
263デフォルトの名無しさん:2010/06/10(木) 12:56:32
つーか、NDAとかでソースが出せないのだったら、
CodeProjectで参考にした記事でも良いよ。
そっから検討すれば良いから。
264デフォルトの名無しさん:2010/06/10(木) 12:57:37
どうも、FlowDocumentのHyperlinkが、上をマウスカーソルが通過するだけで
全体の再配置が起きてるようで困ってる。
色変えや、アンダーバーがいけないのかと思って変わらないようにしてみたけど、効果なし。
継承してOnMouseEnterを潰してみたけど、効果なし。
カーソルがリンクの上を通過するたびに一秒くらい固まる。
同等な物をhtmlで表示した場合は何の問題も無いのになあ。
265デフォルトの名無しさん:2010/06/10(木) 13:05:55
怪しいコントロールがわかってるときは、
そのコントロールをカスタムレイアウトの中に入れて、
強引に配置動作をカスタマイズしてしまえばいい

しかし、標準のTextBlockですら変な挙動を見せるので
この手法が役に立つという始末

フレームワークのセンスはいいけど、
個々のコントロールに品質は悪すぎですよ・・・
266デフォルトの名無しさん:2010/06/10(木) 13:07:26
htmlなどをヒントに作ったであろうxamlがなぜここまでむごいのか
267デフォルトの名無しさん:2010/06/10(木) 13:56:26
WPFは重くないって人は

・恵まれたハード環境でしか動かしていない。
・ラベルとテキストボックス貼っただけのしょうもないものしか作ったことがない。
・ただの煽り

のどれかでしょ。>>248みたいに何かをすると重くなる、という言い方ならともかく、
ただ一言重くないなんてただの無知。
268デフォルトの名無しさん:2010/06/10(木) 14:00:25
StackPanelにFlowDocumentを持つUserControlを100個近く表示させてるけど重くないよ
269デフォルトの名無しさん:2010/06/10(木) 14:01:37
Atom270で開発しているおれに謝れwメモリは2GBだけど。
開発環境はおもたいけど、WPFアプリケーションはまあそこそこのレスポンスは発揮してますよ。
ぬるぬるはうごきませんが破綻しないレベルです。

270デフォルトの名無しさん:2010/06/10(木) 14:06:13
まぁ、速度に鈍感というか寛容な人もいるよね。
271デフォルトの名無しさん:2010/06/10(木) 14:06:33
「恵まれたハード環境とWPFがあれば多少無茶をしても重くならない」

そう思っていた時期がありました

実際は明文化されていない作法みたいなのがあって、
それから外れるとどんなハードだろうと遅くなる
272デフォルトの名無しさん:2010/06/10(木) 14:13:01
>>261
http://msdn.microsoft.com/ja-jp/magazine/dd483292.aspx

の「期待外れのパフォーマンス」という項のサンプルコードをだな。
273デフォルトの名無しさん:2010/06/10(木) 14:13:48
>>271
> 明文化されていない作法みたいなの

これから改良される(変わる)可能性があるから明文化されてないんですかね?
274デフォルトの名無しさん:2010/06/10(木) 14:14:47
具体例を示して、この部分ハードウェアの性能に影響を受ける、と言うならともかく
単にハード云々を言っても説得力は無いわな
275デフォルトの名無しさん:2010/06/10(木) 14:22:43
>>272
なんか極端すぎてあんまり参考にならない例だな
276デフォルトの名無しさん:2010/06/10(木) 14:28:08
>>275
オーケー、マイブラザー。
リストボックスにたかだか10,000個のアイテムを追加しただけのコードだ。

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <ListBox Name="_listBox" ItemsSource="{Binding}" ScrollViewer.CanContentScroll="False"/>
    </Grid>
</Window>

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
            this.DataContext = new int[10000];
        }
    }
}
277デフォルトの名無しさん:2010/06/10(木) 14:29:35
MSのライブラリではいつもの事なんだけど、
シンプルな書き方と最良の書き方が一致してないんだよね

シンプルな書き方 = 最良な書き方 って発想はRoR以降に広まったものだから
2001年から設計されたWPFに求めるのは酷かもしれないけどさ
278デフォルトの名無しさん:2010/06/10(木) 14:34:23
リストボックスに単純に1万も項目追加したら、
WPFに関係無く重くなるんじゃね?

そもそも、そんな設計してる時点でドキュソだろ。
新卒しかしないって。
279デフォルトの名無しさん:2010/06/10(木) 14:37:32
>>278
ScrollViewer.CanContentScroll="False"

を消せば1万行追加しても早いわ。
言い訳ばっかりしてないで包茎の皮切り取って来い、チンカス。
280デフォルトの名無しさん:2010/06/10(木) 14:43:21
だいたい、過負荷テストぐらいしないのかよ。
テーブルに100件ぐらい追加して「パフォーマンスに問題なし」とかほざいて納入しては
数年後に100万件超になってきてパフォーマンス障害が出たので何とかしてくれ、なんてなきつくアホ多すぎ。
どうせSIer様は買い替えの時期です、とかDQNなこと言うんだろうが。
281デフォルトの名無しさん:2010/06/10(木) 14:44:22
Formsでいう、SuspendLayoutがWPFに無いから、
無くても大丈夫なように設計されてるのかと思ったら、
全然そうじゃなかったという・・・
282デフォルトの名無しさん:2010/06/10(木) 14:51:22
WPFは常時SuspendLayoutしてるようなものだよ。

ただし、WinFormsとは重くなる原因が異なるので
WinFormsだと○○すれば軽かった
みたいな経験は通用しない。
283デフォルトの名無しさん:2010/06/10(木) 14:54:52
まぁ大抵の場合WPFを止めるという選択肢しか無いけどな。
284デフォルトの名無しさん:2010/06/10(木) 15:02:07
>>280
そりゃ要件定義の段階でその程度の仕様要求する方が悪いぞ
そんなところまで面倒見るわけねえだろ
285デフォルトの名無しさん:2010/06/10(木) 15:03:33
典型的なおいしい仕事とカモの客だな。
そういう所がもっと増えればよい。
無茶も言わなくなる。
286デフォルトの名無しさん:2010/06/10(木) 15:06:20
相変わらず人のせいですね
お互いに
287デフォルトの名無しさん:2010/06/10(木) 15:08:51
>>284
絵に描いたような典型的なSIerさまでワロス
288デフォルトの名無しさん:2010/06/10(木) 15:10:40
>>280
パフォーマンステストは、100万件はやるだろ、普通。
1億円ぐらい貰っているならば。
100万件がDBのある種の性能閾値だからな。

つーか、データの件数が何百万なのかは関係無いだろ。
WPFの話なんだから。
ビジネス層で何百万あろうと、UI層へそのまま持ってくるのが
頭おかしいって話。

百万件を同時に表示して処理できるユーザがいるのかよ。
件数が多いですが表示して良いですか?さらに絞り込みますか?
てな画面遷移を入れれば、済む話だろ?
そこで、必要に迫られて表示OKを選ぶ客は、
何分待たされても文句言わないよ。

289デフォルトの名無しさん:2010/06/10(木) 15:12:15
>>287
何か文句があるのかよカモ
ツーといえばカーで作って欲しいなら自社開発してろ
290デフォルトの名無しさん:2010/06/10(木) 15:14:15
あれだ、Googleの検索結果に”約1,000,000件”と表示されていたとして
実際に100万件表示されてるかっていう
291デフォルトの名無しさん:2010/06/10(木) 15:17:36
そうカッカするない
292デフォルトの名無しさん:2010/06/10(木) 15:19:20
なんで100万件の一括表示なんて変な話になってんの?
画面数ページレベルの表示でも十分重いのに。
293デフォルトの名無しさん:2010/06/10(木) 15:21:38
>>288
その「多いですが表示して良いですか?」の閾値が多いか少ないかの話だろ。
「100万件」はテストの話で出しただけで、WPFとは関係無いところで言ったのは確かだが。

SQL SERVER Management Studio じゃテーブルの直接編集が「先頭200行表示して編集」なんてメニューになりやがった。

>>289
生憎とSIerさまとのお付き合いはさせて頂いておりませんw
294デフォルトの名無しさん:2010/06/10(木) 15:25:09
100万件の話は、データ量増えてきたことを全く考えずにインデックスはらなかったり腐ったSQL書いてる奴がいるって話で、
それと同じで、たかだか、数十行のデータ表示させて重くないとか言ってんじゃねーよ、と言いたかっただけだ。
295デフォルトの名無しさん:2010/06/10(木) 15:26:53
なんかWPFのパフォーマンスに問題がある事がばれると、
凄く困る人がいるみたいだな。
ロクなテストもせずに、導入決定しちゃった人か?
296デフォルトの名無しさん:2010/06/10(木) 15:27:52
数十行のデータ表示させてってのは違うな。
実際、Virtualizing が効いてれば1万行でも軽いわけで、「たいした処理もせずに重くないって言ってるだけ」と。
297デフォルトの名無しさん:2010/06/10(木) 15:32:38
だから、重いと言っている奴はソース出せと言っているのに。
>>276は1万件で重いって言っているし、
>>292は数ページで重いって言っているし。

少なくとも、数ページで重いとは全く思わないが。

つーか、全世界で高給取りのプログラマで使っている奴がいるのに、
日本で日本人しか使わないコード書いている零細ソフトハウスが、
ソースも無く重いとか言っても、低学歴低所得の僻みにしか聞こえんだろ?
298デフォルトの名無しさん:2010/06/10(木) 16:26:23
せっかくソース提示してやったのにアンカーまで出しておいて無かったことにすんのなw
軽い処理だけ走らせてほら重くないでしょ、ってかww
メッセージボックス表示してGDIのどこが重いんだ、DirectXいらんでしょ、とか言ってるレベル。

WPF は重いけど、重くならないような仕掛けや仕組みを提供してるだけ。
そこから外れる(しかも簡単に)と途端に重くなるわけだが、それを知らない無知だけが重くないと主張する。
299デフォルトの名無しさん:2010/06/10(木) 16:31:12
仕掛けや仕組みを知らない無知が重いと主張してるとも取れるな
お互いに相手を非難するばかりで自己を省みないね
300デフォルトの名無しさん:2010/06/10(木) 16:36:14
いい感じでまとまったな

この調子で重くなるパターンと改善策をどんどん出して欲しい
301デフォルトの名無しさん:2010/06/10(木) 16:36:16
さっぱり言いたいことが分からん。
あのサンプルコードに意味あるのか?
しかも1万件って。

普通に業務で使おうとしたら、1万のオブジェクト生成するだけで重いと思うが。
それに、ググったら日本語ですらTreeViewを使う解法出てくるじゃん。
302デフォルトの名無しさん:2010/06/10(木) 16:42:38
>>301
だからなぁ。
とりあえず俺の示したサンプル動かしてから言ってくれる?
動かしもせずに、WPFは重くないとか1万行は重いとか言ってるのお前だろ。

俺は、サンプル示して、WPFは場合によって重いけど、1万行でもやり方次第で軽く表示できる、と示したの。
それがどうして>>299やら>>301の結論になるのやら。俺が意味わかんねーよ。

だいたい、何を嫉むんだよ。
お前の言うその「全世界で高給取りのプログラマ」様でさえ「200行で限界」だと認めたのに。
303デフォルトの名無しさん:2010/06/10(木) 16:48:37
もう1万行じゃなくていいから、>>276のソースを1000行とかにでもして動かしてみろ。
ネットブック程度のマシンならカクカクするから。

3000行ならネットブックじゃなくても重い筈。1日の受注が3000明細あるとこぐらいあるだろ?
あのままだと、受注明細表出したら重くてつかえねーわけだ。
304デフォルトの名無しさん:2010/06/10(木) 16:55:19
ぶっちゃけページャー使って30件ぐらいしか一度に表示しないと思うの
10万record/dayだとしても
305デフォルトの名無しさん:2010/06/10(木) 16:57:31
「重くならないように作る」のと、「重くない」の区別つかない人だったのね、ごめん。
306デフォルトの名無しさん:2010/06/10(木) 17:04:49
>>298
最後の行が矛盾してるんだよ

> そこから外れる(しかも簡単に)と途端に重くなる
これには同意する。

だが、簡単に外れるなら、無知な奴が実際より軽いと誤認識する可能性は低いだろ?

だから、根拠もなしに「重い」と言ってる奴と「軽い」と言ってる奴がいれば、
「軽い」と言ってる奴は仕組みをよく理解してて
「重い」と言ってる奴は仕組みをあまり理解していないのではないかと考える。
307デフォルトの名無しさん:2010/06/10(木) 17:15:58
視点が違うんだな

俺はベンチマークが目的じゃないんで、
作法に沿ったプログラムで十分な速度が出る事が重要なんだ

仮想化によってWPFの利点が損なわれるなら、
仮想化OFFの性能も考慮する必要があるが、そうじゃないだろ?

下手なプログラムが遅かろうがどうでもいい
308デフォルトの名無しさん:2010/06/10(木) 17:17:34
自称玄人は黙ってろってこったな
309デフォルトの名無しさん:2010/06/10(木) 17:18:34
30件しか表示しないとか言ってる馬鹿の目の前には
2chの板一覧とスレッド一覧は無いのかな
310デフォルトの名無しさん:2010/06/10(木) 17:22:28
10万件しか表示しないとか言ってる馬鹿の目の前には
2chの板一覧とスレッド一覧は無いのかな
311デフォルトの名無しさん:2010/06/10(木) 17:23:05
>>306
>だが、簡単に外れるなら、無知な奴が実際より軽いと誤認識する可能性は低いだろ?

>>267

いや、なんか疲れた。視点が違うのは間違いないな。
でも、日本のプログラマの8割はその下手なプログラムなんだぜ。
312デフォルトの名無しさん:2010/06/10(木) 17:23:22
700スレくらいかな
100万よりは30の方が近そうだね
313デフォルトの名無しさん:2010/06/10(木) 17:23:52
日本語変になっちまったよ。
314デフォルトの名無しさん:2010/06/10(木) 17:24:11
フリーザの戦闘力並
315デフォルトの名無しさん:2010/06/10(木) 17:26:01
極論同士の無意味な熱いバトルです。
316デフォルトの名無しさん:2010/06/10(木) 17:33:12
こんな時間にスレの勢い伸ばせるなんてうらやましいです。
317デフォルトの名無しさん:2010/06/10(木) 17:34:28
書いた本人がDBテストの話でWPFの事じゃないと言ってる100万件にいつまでも拘ったり、
30件しか表示しないとか現実離れした事言ったり、
なんかすごいWPF擁護に必死だね。
318デフォルトの名無しさん:2010/06/10(木) 17:52:17
仮想化でどうにかなるような100万件の話じゃなくてさ、
WPFでパフォーマンスを追求したけど結局ダメでした
って話は無いの?

WPFのせいでプロジェクトが頓挫したとか、酷い製品ができあがったとか
そういう話が聞きたい。
319デフォルトの名無しさん:2010/06/10(木) 18:05:51
採用されても無いから失敗した話も無いね
320デフォルトの名無しさん:2010/06/10(木) 18:07:32
ハハハ
WPFそのもののプロジェクトが頓挫しそうじゃないか
321デフォルトの名無しさん:2010/06/10(木) 18:31:41
だれうま
322デフォルトの名無しさん:2010/06/10(木) 19:19:52
WPFが停滞してる原因がsilverlightに人員を取られたってのが何ともな・・・

もっとマシなUIフレームワークは無いものか
323デフォルトの名無しさん:2010/06/10(木) 19:47:25
作る側からしたら、WPFとSLはほぼ水平に移行可能だろ?
まず、1年目はプロトタイプを少ない拠点で展開し、
ユーザからのフィードバックを受けて好評なら2年目でWeb化。

というプロジェクトの場合、1年目も2年目もお金を沢山もらうけれど、
内部のコードは共通です、みたいなー。
324デフォルトの名無しさん:2010/06/10(木) 20:01:10
このスレが伸びてるのはWebに代わってFormの時代がくる予兆か
325デフォルトの名無しさん:2010/06/10(木) 20:12:46
ゲームのグラフィックなんか永久にWEBでは実現できないからな
326デフォルトの名無しさん:2010/06/10(木) 20:15:49
WPF 対 Silverlight: プロジェクトに最適な技術を選ぶ
http://www.infoq.com/jp/news/2010/06/WPF-vs-Silverlight

>>中には、WPF はやがて死ぬ、と考えている人がいるが、 Microsoft Regional Director で MVPの Brian Noyes氏は、少なくとも向こう2,3年はそのようなことは起きない、と信じている。
少なくとも向こう2,3年て…先がねーな
327デフォルトの名無しさん:2010/06/10(木) 20:24:46
Brian Noyes
328デフォルトの名無しさん:2010/06/10(木) 20:26:20
途中で送信してしまった。気の済むまでなじってくれ

Brian NoyesってWinFormsで二冊本出してWPFでもMSDNに寄稿までしてる人が
2, 3年ってよっぽどだなw
329デフォルトの名無しさん:2010/06/10(木) 20:26:22
>>325
HTML5&Canvas&JavaScriptでそのうちできるよ。

レンダリングにハードウェア支援を行う予定だし、
JavaScriptはホットスポットを動的コンパイルで
ネイティコードを実行する方向にいってるしね。

一世代前くらいの携帯ゲーム機並みにはなると思われ。
330デフォルトの名無しさん:2010/06/10(木) 20:31:26
また、低学歴低所得が枝葉末節に拘っているな。
331デフォルトの名無しさん:2010/06/10(木) 21:00:54
>HTML5&Canvas&JavaScript
造る側からしたら地獄だな…('A`)
332デフォルトの名無しさん:2010/06/10(木) 21:09:19
>>331
ちゃんとしたデバッガがないと厳しい。
あと誰から各ブラウザの挙動を吸収してくれるライブラリかいてくれないとね。

実装の中身が見えちゃうのがいやだなあ・・・。

ソースがみえて本当に困る人が出てくれば、暗号化の話とか、
またでてくるかもね(MSがやってメジャーにならなかったけど)。
333デフォルトの名無しさん:2010/06/10(木) 21:12:36
現状C#でWPFよりよくできたGUIライブラリってないよ。
いまさら糞ダサいFormsなんかさわってられるかっての
334デフォルトの名無しさん:2010/06/10(木) 21:20:15
まともに触ってないからそんな事が言えるんだよ
335デフォルトの名無しさん:2010/06/10(木) 21:54:16
WPFはGUI組み立てるのにいいと思うけど、そのアプリを使う側のこと考えたらそんな良さどうでもいいわけで
336デフォルトの名無しさん:2010/06/10(木) 21:58:51
見た目が綺麗なものが作れるというのはあるだろ
WinFormsでも頑張れば同じように綺麗な見た目やアニメーションもできなくはないけどやっぱりWPFより重くなるよ
使う側のことを考えるならもちろん直接DirectXで作るのが理想なわけだが
337デフォルトの名無しさん:2010/06/10(木) 22:13:24
javascript変態だなぁ、webプログラマの苦労は絶えない
html5のcanvasでGPUの支援があるのって今はIE9くらいでしょ、他のブラウザも追随しそうだけど時間がかかるだろうなー普及率の問題もあるし
そのうちゲームはDirectXじゃなくてIE9を同封して配布するのかな
338デフォルトの名無しさん:2010/06/10(木) 22:17:22
スレチ
339デフォルトの名無しさん:2010/06/10(木) 22:49:41
Formは、コモンコントロールのラッパーによるダサさがあるし、
WPFは、突貫で作ったような、コントロールの設計の甘さがあるし、
どっちもどっち。
340デフォルトの名無しさん:2010/06/10(木) 22:52:26
好きな方使えよってことだね

とりあえず相談室にでも消えてろ
341デフォルトの名無しさん:2010/06/10(木) 23:03:33
WPFのWindowのWidthとHeightが枠の部分を含めているのに違和感がある。
枠の部分の面積はWindowsのテーマに依存する部分で、さまざまに変化してしまうからデザインを考えたときに使いにくい
例えば枠がめちゃくちゃ広いテーマにしたらWindowの中が全て枠になる可能性もある
342デフォルトの名無しさん:2010/06/10(木) 23:05:15
>>341
わくわくするな
343デフォルトの名無しさん:2010/06/10(木) 23:05:51
なにか問題でも?
枠内のはWindowのContentに入れた要素で調べられるし。
344デフォルトの名無しさん:2010/06/10(木) 23:13:15
調べられるから何?
345デフォルトの名無しさん:2010/06/10(木) 23:15:12
米Microsoftのやることに間違いはないんだよ
346デフォルトの名無しさん:2010/06/10(木) 23:17:03
たまにMSDNが間違ってるのは擁護できない
347デフォルトの名無しさん:2010/06/10(木) 23:19:12
世間はiPadで湧いてるけど、
MicrosoftのOrigamiってどうなったの?
348デフォルトの名無しさん:2010/06/10(木) 23:22:34
WPF早く滅べ
349デフォルトの名無しさん:2010/06/10(木) 23:27:10
>>344
枠を含めない領域を指定できるから、枠だけしか見えないウィンドウが作られる心配はない。
350デフォルトの名無しさん:2010/06/10(木) 23:41:54
>>348
WPFが滅んだとして次はなにがくるんですか?
351デフォルトの名無しさん:2010/06/10(木) 23:45:39
XULとか?
352デフォルトの名無しさん:2010/06/10(木) 23:45:52
JavaFXですね
353デフォルトの名無しさん:2010/06/10(木) 23:59:38
WPFはUIのフレームワークとしては柔軟性とかよさげだけどパフォーマンスが微妙だ・・・
いまのOS Xとかはどんだけナイスなフレームワークになってるんだ?
354デフォルトの名無しさん:2010/06/11(金) 00:18:18
WPFアプリが起動しなくなる度に
OS再インストールするのに疲れた
355デフォルトの名無しさん:2010/06/11(金) 00:19:21
4年ぐらいWPFで開発してるが聞いたことないな
356デフォルトの名無しさん:2010/06/11(金) 01:04:44
もしかしてXP?

XPの時代にはDirectXがまともに動かない、腐ったグラフィックドライバが結構あったからなぁ・・・
357デフォルトの名無しさん:2010/06/11(金) 01:45:34
パフォーマンスというか、起動時間がネックだな。
起動時間以外は工夫次第でどうにでもなる。
何が原因で起動がこんなに遅いのやら。
358デフォルトの名無しさん:2010/06/11(金) 01:53:02
2回目からは速いというか遅くはないよ
359デフォルトの名無しさん:2010/06/11(金) 02:03:16
速いマシン使っていればそんなには遅くないかも
360デフォルトの名無しさん:2010/06/11(金) 02:17:46
何回目だろうがWinFormsと同程度の速さにはなって欲しいな。
VSTOでExcelのプラグイン書いた時に、UserControlをWPFにするのとWinFormsにするのとで
起動速度が結構違って笑っちゃった。
それでも最初期のWPFと比べればだいぶよくなったけどさ。
361デフォルトの名無しさん:2010/06/11(金) 02:34:56
SilverLightをデスクトップで使えるようにしたら
軽くなるんじゃね?
362デフォルトの名無しさん:2010/06/11(金) 02:42:15
>>361
それ4だよ
toolkitの日本語版がこないのでやってないが

AIRみたいにブラウザアプリをインストールという形で
ローカルでも使えるようになるとか

SLがこんな感じなのでもしかするとWPFって本当に・・・
363デフォルトの名無しさん:2010/06/11(金) 03:28:16
WPFは自分が作る分には楽でいいが
他人が作ったのは重くて使いたくないな
364デフォルトの名無しさん:2010/06/11(金) 04:05:58
それはあるな。

SLのOOBの方がパフォーマンス優れてるなら置き換えてもいいんだけどWPFの方がVS開くだけでいきなり始められるから導入が楽でSLには手が伸びない感じ。
これからどうなるか。
365デフォルトの名無しさん:2010/06/11(金) 05:49:53
366デフォルトの名無しさん:2010/06/11(金) 15:08:06
VS2010には最初からSL3が入ってるぞ
ExpressもVWDには最初から入ってる
367デフォルトの名無しさん:2010/06/11(金) 15:11:33
>>362
3でもブラウザ外実行はできるけど使い物になるのは4から
4はCDなどからのローカルへのインストールもできるので
Silverlightで作れる範囲のものならほんとにWPFいらなくなった
368デフォルトの名無しさん:2010/06/11(金) 15:54:36
VSのIDEもSilverlightに置き換えて
軽くならないものか
369デフォルトの名無しさん:2010/06/11(金) 16:00:20
SLもWPFもコード的にはほぼ共通な実装が出来るだろ?
SLがどうとかWPF不要とか、そんなこと言ってるの日本人だけ。
http://compositewpf.codeplex.com/

ローカルファイルに自由にアクセスしたいならWPFしかないし、
Webアプリにしていきなりブラウザ閉じられちゃったりしたら、
困る業務アプリだってあるだろ。

逆にユーザのアプリ導入の敷居を下げたいならSLの方が良い。

客の要求に合わせるしかないだろ?
370デフォルトの名無しさん:2010/06/11(金) 16:34:23
>>368
重くなるよw
レイアウトが複雑なものをSilverlightで作ると糞重くなる
371デフォルトの名無しさん:2010/06/11(金) 17:07:51
WindowsFormsHostでWinFormのwebbrowserを使うと、
スクロールバーがクラシックスタイルになってしまうのですが
見た目を変えるにはどうしたらよいのでしょうか?
372デフォルトの名無しさん:2010/06/11(金) 17:12:12
System.Windows.Forms.ApplicationのEnableVisualStyles
373デフォルトの名無しさん:2010/06/11(金) 17:16:27
ありがとうございます。
Styleプロパティになんか設定するのかと思って調べて行き詰まってました
374デフォルトの名無しさん:2010/06/11(金) 20:03:47
WPF版のWebBrowserがあるのに、
なんでWinFormの使うの?
375デフォルトの名無しさん:2010/06/11(金) 20:08:32
( ゚ρ゚ )<WindowsFormだいすきあうあうお〜
376デフォルトの名無しさん:2010/06/11(金) 20:26:44
ここを一体何スレだと
377デフォルトの名無しさん:2010/06/11(金) 21:14:29
Broserのないバージョンをサポートするためだよ
378デフォルトの名無しさん:2010/06/11(金) 21:27:26
Hostを使うとスクロールバーに問題なかったっけ?
379デフォルトの名無しさん:2010/06/11(金) 21:43:54
>>377
馬鹿じゃね?
380デフォルトの名無しさん:2010/06/11(金) 21:46:49
>>374
HTMLを取得してフォームに値を入力してポストするみたいなのが面倒&やり方が分からないからです。
調べたらwinformのブラウザ使える方法があったのでそれでやろうかと。
381デフォルトの名無しさん:2010/06/11(金) 21:51:22
スパムアプリか。
382デフォルトの名無しさん:2010/06/11(金) 22:05:40
いや作りたいのはブラゲのBOT
383デフォルトの名無しさん:2010/06/11(金) 22:31:08
犯罪者乙
384デフォルトの名無しさん:2010/06/12(土) 00:07:49
ConverterParameterって依存関係プロパティじゃないからバインドできないので、
MultiBinding使うのが定石?っぽいんだけど、
Converterに依存関係プロパティを実装して、そいつにバインドさせるって問題ある?
385デフォルトの名無しさん:2010/06/12(土) 00:11:12
そろそろSilverlightにもDrawingContextを用意して欲しいなぁ。
任意の図形を単一のVisualに収める仕組み、まだ無いよね。
Controlも全然足りない。Menuすら無いってどうよ。
386デフォルトの名無しさん:2010/06/12(土) 00:14:11
>>384
INotifyPropertyChangedじゃいかんのか。
387デフォルトの名無しさん:2010/06/12(土) 00:24:24
>>385
DrawingContextはDrawing作ってるだけだからなあ
Drawingだけサポートした方がいいと思う
DrawingContextは勘違いしてSystem.Drawing.Graphics感覚で使う奴が必ず出てくるし
388デフォルトの名無しさん:2010/06/12(土) 01:36:03
>>387
DrawingContextのほうがコードであれこれできるから自由度高い。
BitmapCacheもあるし、昔ほど毛嫌いする必要もないんじゃない。
389デフォルトの名無しさん:2010/06/12(土) 02:13:05
>>379
ニート?
390デフォルトの名無しさん:2010/06/12(土) 06:48:02
>>386
なんでINotifyPropertyChanged?どう使うの?
391デフォルトの名無しさん:2010/06/12(土) 07:26:17
>>385
Menuは確かに欲しい
折角OOBに力を入れてるんだし、基本的なコントロールは一通り欲しいよな
392デフォルトの名無しさん:2010/06/12(土) 07:33:06
WPF使ってたらメニュー要らないと思うようにならない?
メニューのあるデザインは間違いだとさえ。
393デフォルトの名無しさん:2010/06/12(土) 08:14:14
メニューってたしかにそんなに重要じゃないかもなあ
メユーからコピーだの貼り付けだの選んで使ってる人なんていないだろし
394デフォルトの名無しさん:2010/06/12(土) 08:23:47
キーボードのみで操作出来ないと気持ち悪いっつーかストレス溜まるっつーか
まあ一般ユーザは逆なんだろうけれど
395デフォルトの名無しさん:2010/06/12(土) 08:28:29
タッチパネルなどを意識するのであればwinodwsのようなメニューは
捨てるべきだなあ

どっちかといえばUIはゲームに学ぶべきだと思う
396デフォルトの名無しさん:2010/06/12(土) 08:38:30
しかしメニューを捨てたOffice2007は激しく不評
397デフォルトの名無しさん:2010/06/12(土) 08:42:46
アイコンを大量にずらずらと並べるよりは、メニューの方がマシだと思う

しかしSilverlightだと、Altキーを押しても
SLアプリじゃなく、ブラウザのメニューバーにフォーカスが移りそうな気がするがなw
398デフォルトの名無しさん:2010/06/12(土) 08:42:56
>>396
そりゃofficeそのものがタッチ向けのソフトじゃないからだろw
中身で考えろw
399デフォルトの名無しさん:2010/06/12(土) 08:45:15
つーより、何で急にタッチパネルの話になったんだ
あんなもん、業務アプリじゃとても使い物にならんと思うが
(ハードウェアからして、専用のが必要だし)
400デフォルトの名無しさん:2010/06/12(土) 09:20:30
VWD2010EE+SL4Tools と、 VC#2010EE でツールボックスを比較してみた
間違いは有るかも

■共通
[ ポインター ][ Border ][ Button ][ Calendar ][ Canvas ][ CheckBox ]
[ ComboBox ][ ContentControl ][ DataGrid ][ DatePicker ][ Ellipse ][ Frame ]
[ Grid ][ GridSplitter ][ Image ][ Label ][ ListBox ][ MediaElement ]
[ PasswordBox ][ ProgressBar ][ RadioButton ][ Rectangle ][ RichTextBox ][ ScrollBar ]
[ ScrollViewer ][ Slider ][ StackPanel ][ TabControl ][ TextBlock ][ TextBox ][ TreeView ][ Viewbox ][ WebBrowser ]

■WPFのみ
DockPanel
DocumentViewer
Expander
GroupBox
ListView
Menu
Separator
StatusBar
ToolBar
ToolBarPanel
ToolBarTray
WindowsFormsHost
WrapPanel

■Silverlightのみ
AutoCompleteBox
DataPager
HyperlinkButton
MultiScaleImage
DomainDataSource
401デフォルトの名無しさん:2010/06/12(土) 09:45:42
Separator無いのかよ・・・
402デフォルトの名無しさん:2010/06/12(土) 09:57:08
SLはListBox有るのにSeparator無しか
403デフォルトの名無しさん:2010/06/12(土) 10:06:20
SL専用のコントロールで羨ましいのは、MultiScaleImageくらい?
404デフォルトの名無しさん:2010/06/12(土) 11:37:37
メニュー・ツールバー・ステータスバーは
アプリのひな型としてとりあえず入れるものだと思ってる。
作ってるアプリに最適なUIが見えてきたら不要にできるかもしれないけど
一番最初はどんなUIが最適かわからんものだ。
とっかかりとして便利なんだよ。
405デフォルトの名無しさん:2010/06/12(土) 11:56:44
> ■WPFのみ
> DockPanel、Expander、GroupBox
って、おもいっきりよく使うところじゃねーかw Silverlight使いはどうやっているんだよw
406デフォルトの名無しさん:2010/06/12(土) 12:05:06
WPF標準のコントロールやパネルってWPFとC#だけで作られてるの?
どういうつくりなのか想像もつかん
407デフォルトの名無しさん:2010/06/12(土) 12:18:03
>>405
Silverlight Toolkitというものがあってだな。
408デフォルトの名無しさん:2010/06/12(土) 14:42:48
Silverlight、メニューもツールバーもステータスバーも無いのな。
まあTextBlockとかで代用出来なくも無いが…。
409デフォルトの名無しさん:2010/06/12(土) 16:29:20
>>406
極端な話、マウスやキーボードなどによる入力の検知と
最終的な画面への出力さえあればなんでもできる
そこだけはもちろんプラットフォーム呼び出しに頼って
あとは全てマネージコード
410デフォルトの名無しさん:2010/06/12(土) 16:38:49
DockPanelなんかドッキングウィンドウなUIでない限り要らないだろ
そこまで大袈裟なUI作るならDockPanelの有無なんか些細な問題だし
Silverlightでそこまでやらんでしょ
411デフォルトの名無しさん:2010/06/12(土) 19:57:04
>>410
むしろGridだと大げさすぎてパフォーマンスに懸念があるところで
DockPanelやStackPanelのような軽量レイアウトをつかうんだけどなぁ。
412デフォルトの名無しさん:2010/06/12(土) 20:21:14
WrapPanelくらいは有っても良いかもなあ。
Webブラウザは、クライアントアプリに比べてウィンドウサイズを動かされる率も高いだろうし。
413デフォルトの名無しさん:2010/06/12(土) 20:42:35
ObservableCollectionにRectangleの位置、形状をもったオブジェクトをもたせて
それをxamlで参照してRectangleを描画させたいのですがどうしたらいいですか?
414デフォルトの名無しさん:2010/06/12(土) 20:49:11
>>413
カスタムのItemsControl作らないと無理じゃないか。
415デフォルトの名無しさん:2010/06/12(土) 20:51:30
そーですかorz
俺には無理ですか><
416デフォルトの名無しさん:2010/06/12(土) 20:52:56
ObservableCollection<RectangleInfo>みたいなこと?自分なら
1. ItemsControlのItemsSourceにObservableCollectionをbind
2. ItemsControl.ItemsPanelにCanvasを入れIsItemsHostにする。
3. RectangleInfoのDataTemplateを定義してRectangleに変換
でできそうな気がする。そんなことやったことないけど
417デフォルトの名無しさん:2010/06/12(土) 21:40:16
>>416
試してみたがダメっぽい。
ItemsControlをそのまま使うとItemのコンテナはContentPresenterになるんだけど
コンテナの縦横が0だから表示されないという事態になるっぽい。
418デフォルトの名無しさん:2010/06/12(土) 21:55:59
>>417
あぁそうか、Canvas.Topとかで指定しないとダメか。
んじゃ、Rectangleの代わりにPolygonにして座標直接指定か、
ItemContainerStyleでCanvas.TopなどをBind。

気になって超適当な検証コードかいて行けた。
419デフォルトの名無しさん:2010/06/12(土) 21:57:31
ItemPanelをCanvasにすればいいんじゃないの
420デフォルトの名無しさん:2010/06/12(土) 22:03:43
>>418
うるうる

ちょーだい
421デフォルトの名無しさん:2010/06/12(土) 22:35:06
出し惜しみするようなものでもないが、わざわざ見るほどのものですらないよ
http://uproda11.2ch-library.com/11247102.zip.shtml Pass=wpf
422デフォルトの名無しさん:2010/06/12(土) 22:47:25
ありがとう
たすかりました
423デフォルトの名無しさん:2010/06/13(日) 13:05:48
読み込んだ値によって、使用するConverterを切り替えるにはどうしたらいいですか?
たとえば、
設定値が1の場合:EvenConverter
設定値が2の場合:OddConverter
といった感じに切り替えることがやりたいです。

もしくはConverter内で、設定値が1の場合、2の場合と処理を分けてもいいんですが、
その場合、Converterにどのように設定値を渡せばいいんでしょうか?
424デフォルトの名無しさん:2010/06/13(日) 13:18:33
読み込んだ値って何さ 設定値ってどこの何さ
425デフォルトの名無しさん:2010/06/13(日) 13:42:59
>>423
複数の引数渡せるコンバーターがあったような
426デフォルトの名無しさん:2010/06/13(日) 13:49:11
何を目的としているのか分からないがDataTriggerは使えないだろうか

>>425
固定値ならConverterParameterで渡せる(Bind不可)し、
IMultiValueConverterもある。
427デフォルトの名無しさん:2010/06/13(日) 14:46:36
>>421
ItemContainerStyleという手があったか…
些細なものでもひとのコードを読むのは勉強になる。
428デフォルトの名無しさん:2010/06/13(日) 15:35:20
結構XAMLでは苦労するよなあ。
デザイナとプログラマの担当部分の分離なんてやっぱり無理なんじゃないか?
もうデザイナにはStyleだけ作ってもらうようにするしかない。
429デフォルトの名無しさん:2010/06/13(日) 16:08:00
デザイナにも高いレベルでXAMLを理解してもらうしかない。
Webデザイナだってhtmlとcssを理解しているんだから
同じレベルでxamlを理解してもらう必要があるだろうね。
ファイルを.xamlと.xaml.csに分けたから分離完了なんてわけにはいかないさ。
430デフォルトの名無しさん:2010/06/13(日) 19:58:21
そもそもデザイナを別に雇うとか考えらんねぇ
431デフォルトの名無しさん:2010/06/13(日) 20:29:44
作るGUIの内容によってはそういう所もある。
ただ未だに「動かせるのにたえうるStyle」を作れるデザイナなんて見たことがない。
432デフォルトの名無しさん:2010/06/13(日) 21:04:33
ウチはアットホームが売りなくらい小規模だからな
433デフォルトの名無しさん:2010/06/13(日) 22:56:08
PCメーカに行くと優秀なデザイナがたくさんいるよ
434デフォルトの名無しさん:2010/06/14(月) 06:45:03
おれのところはデザインの人たちに xaml を意識させることは無いな。
どうせ理解できないから。

各パーツと、それをどう配置するかの詳細情報のみもらう。
435デフォルトの名無しさん:2010/06/14(月) 17:49:59
>>434
それが現実的だろうね。
xamlはどのみちプログラマの仕事になる。
436デフォルトの名無しさん:2010/06/14(月) 19:32:24
>>407
あれのNumericUpDownは最高だ
437デフォルトの名無しさん:2010/06/14(月) 19:46:53
438デフォルトの名無しさん:2010/06/14(月) 21:22:32
つまりデザインとプログラムの分離は失敗したということだな
439デフォルトの名無しさん:2010/06/14(月) 21:46:16
プログラマーがデザインセンスを磨けばいいんじゃね?
440デフォルトの名無しさん:2010/06/14(月) 21:56:07
コードに美しさを求める(よな?)人種だから素養はあるはず、たぶん
441デフォルトの名無しさん:2010/06/15(火) 00:13:56
バカいうな
442デフォルトの名無しさん:2010/06/15(火) 03:45:35
デザインとプログラムが分離されてるおかげで
UIを担当するプログラマとビジネスロジックを担当するプログラマとで分業できるじゃないか
443デフォルトの名無しさん:2010/06/15(火) 08:24:17
xamlはデザインをプログラムするものだから、デザイナーにプログラム脳を要求してしまっている
完全に分離できているとはいえない
444デフォルトの名無しさん:2010/06/15(火) 10:43:54
芸術系の奇抜なデザインならともかく、産業系の工学的なデザインなら、
プログラマーだろうと、誰にでも出来るだろ?
大勢が見たときに、最も万人ウケするデザインにすれば問題無い。
客観的に見て、最も違和感を感じないようにさせれば良いだけ。

正直、それ以上は、デザイナのセンスより、ユーザからのフィードバックの方が重要。

そんな訳で、他人が見て違和感を感じさせるデザインしか出来ない奴は、
他人の気持ちが分からない人か、本当に頭が狂っている人のどちらかだと思っている。
445デフォルトの名無しさん:2010/06/15(火) 12:21:43
よしじゃあ、お前のデザイン晒してみろ
446デフォルトの名無しさん:2010/06/15(火) 13:28:14
普段何かする時にも、これはいいとかこれはこうした方がよくなるとか
考える人ならいいものができると思うよ。
447デフォルトの名無しさん:2010/06/15(火) 14:59:02
どうしたら他人に受け入れられるか程度も分からない人は駄目だよね。
つまり、会話が面白くなく、自分語りしか出来ない人は、デザインも駄目だと思う。

面白い話が出来ない人は、自分勝手なデザインしか出来ない。
448デフォルトの名無しさん:2010/06/15(火) 21:53:40
WPF Toolkit と Composite Application Guidance ってどうやって使い分けてます?
両方ともCodePlexで公開されてるんですけれど。

CALの各モジュールの中でToolkitを使いたい人は使うって感じですか?
449デフォルトの名無しさん:2010/06/15(火) 23:11:59
冷静に考えてみると、CALってUnityでDIしてるだけのフレームワークだよね。
となると、MEFがある現在、CALの存在意味ってあんまりない?
CALのDrop2が出たけれど、MEFとMVVMが目玉になってるし。
450デフォルトの名無しさん:2010/06/15(火) 23:21:19
>>444
> 芸術系の奇抜なデザインならともかく、産業系の工学的なデザインなら、
> プログラマーだろうと、誰にでも出来るだろ?

いきなり工業デザインて専門分野を否定してきたけどさ、
製造業で働いてるデザイナと仕事したことあるか?

まあ言いたいことはわかるんだがちょっと現実離れしてるぞ。
451デフォルトの名無しさん:2010/06/15(火) 23:52:38
あるが
 デザイナー「無効状態は文字を灰色で」
 俺    「じゃ編集済み未保存は?」
 デザイナー「それは赤で」
 俺    「え?編集済み未保存かつ無効状態は?」
 デザイナー「青」
 俺    「ぇえ!?」
二度とやりたくない。
452デフォルトの名無しさん:2010/06/16(水) 00:18:07
>>451
悪かった。想像を超えるレベルみたいだ。
453デフォルトの名無しさん:2010/06/16(水) 08:46:42
製造業で働いているデザイナって、情報系以外の話かな。
試作品に数十万、量産用の金型に数百万や数千万かかる製造業と、
簡単にUIが修正出来るIT系は、ちょっとデザイナの重みが違うと思うが。

>>451みたいな例もあるし、
最終的に重要なのは、ユーザからのフィードバックじゃない?
454デフォルトの名無しさん:2010/06/16(水) 14:51:28
誰か、CAL使ってる人はいないの?
WPFが遅いとかいう話になると、めちゃくちゃレスが付くのに‥‥。

そういえば、使えないプログラマの特徴に、こんなのあったよね。
・新しい言語、フレームワーク、開発環境のデメリットの情報だけは早い。
・問題が起きると、大抵マイクロソフトの所為、ということで落ち着く。
455デフォルトの名無しさん:2010/06/16(水) 16:17:11
CALってクライアント・アクセス・ライセンスでよいのか?
456デフォルトの名無しさん:2010/06/16(水) 17:08:23
エネルギーの単位だと思う
457デフォルトの名無しさん:2010/06/16(水) 22:24:20
>>454
CALのほうがMEFより守備範囲が広い。
MEFにはIModuleもなければRegionもない。
CompositWPFEventもない。
ただし、MEFは.NET標準装備のDIコンテナだから将来も安心。
以上を踏まえた上であんたのアプリに必要なものを使えとしか言えないな。
俺はMEFと統合するまではCALを本気で使う気は無い。
458デフォルトの名無しさん:2010/06/16(水) 22:27:55
他の話題をブッタ斬ろうとした上自分の話題が無視され逆ギレし「使えないプログラマ」呼ばわりとはw

>>453
たしかにその通り。でも、ユーザーからのフィードバック=手戻り。
デザイナーの知識・経験を反映させることで精度を上げ、そのリスクを軽減させることが重要じゃないか?
デザイナー自身が反映させる知識・経験を持っていなかったり、その責務を理解していないことも珍しくないがw
459デフォルトの名無しさん:2010/06/16(水) 22:32:31
アプリケーションユーザーインターフェースに関しては、
「綺麗なビットマップを作れる人」が良いデザイナーというわけではないのだけど
美しさ以外は自分の責務ではないからよろしくやってくれというデザイナも稀に生き残っているね。
UXという言葉はもうちょっと広まってくれていい。
460デフォルトの名無しさん:2010/06/17(木) 00:03:37
もっともユーザのフィードバックだって正鵠を得てるとは限らんしねえ。
要件決めるときとおんなじで本当は何をしたいのかってのがわかんなくなってることままあるよね
461デフォルトの名無しさん:2010/06/17(木) 00:37:30
WPFやSLのインターフェイスデザインなんて Expression Blend 使って標準コントロールの ControlTemplate いじくるだけじゃないの?
コントロールの配置や画面遷移とかはプログラマの領分でしょ。
462デフォルトの名無しさん:2010/06/17(木) 07:19:34
そこのところがあいまいだからxamlが複雑になって失敗した
463デフォルトの名無しさん:2010/06/17(木) 20:14:05
xamlは複雑じゃないだろ
wpfのアーキテクチャは複雑だけど
そこのところがあいまいだとわけわかんねえだろ
464デフォルトの名無しさん:2010/06/17(木) 20:21:53
Xamlなんてたかだかオブジェクトツリーをつくるだけの言語じゃん。
なにが複雑なのやら。
465デフォルトの名無しさん:2010/06/17(木) 20:39:13
いちいちBlend使わないと
まともに作れないのが気にくわん
466デフォルトの名無しさん:2010/06/17(木) 22:56:15
win7, VS2010, WPF4 です。

windows 7 でDPIを100から125(もしくは150)にすると
レイアウトが崩れるのだが、DPIの設定を変えても
ウィンドウサイズとかフォントサイズとかを変化させない
ようにする方法ってある?

調べてみたところ、MSDNに DeclareDPIAware.manifest の名前で
紹介されている manifest をプロジェクトに追加してDPI設定を認知
するようにし、レイアウトその他は自分でゴリゴリ書かないといけない
のかな、と思ったのですが。

参考にしたサイトなど:
ttp://msdn.microsoft.com/ja-jp/windows/dd630126.aspx
ttp://msdn.microsoft.com/en-us/library/ms633543(VS.85).aspx

※SetProcessDPIAware関数は使っていません
467デフォルトの名無しさん:2010/06/18(金) 04:02:12
SnapsToDevicePixels
468デフォルトの名無しさん:2010/06/18(金) 07:25:32
>>467
おぉ、こんなプロパティがあったのですか。
ありがとうございます。


469デフォルトの名無しさん:2010/06/18(金) 07:42:25
>>464
コントロールのツリーを表現するのは別に複雑とは思わないが、crlオブジェクトの
参照やバインディングの表記はわかりにくく且つうざすぎるじゃね?
470デフォルトの名無しさん:2010/06/18(金) 11:12:14
>>469
それぐらいは仕方ないんじゃね?
他に、神がかり的な表記法があるとも思えない。

まぁ、インテリセンスを改良して、Binding指定の時も候補出すとか、
インテリセンスで候補をコードじゃなくUIのプレビューで表示するとか、
そういう改善ぐらいしか出来ないのでは?
471デフォルトの名無しさん:2010/06/18(金) 13:57:12
本来的に静的なXML構造に動的なバインド持ち込むからとっ散らかった見た目(&仕様)になるんだと思うな
表示は何でもかんでもCSS!!ってやってピンポイント修飾がやり辛くなってるHTML5と似たような感じ
472デフォルトの名無しさん:2010/06/18(金) 19:43:43
attached propertyとmarkup extensionとか触らずに三日経てば忘れるレベル
473デフォルトの名無しさん:2010/06/18(金) 21:51:00
>>471
どういう風にかければ満足なん?
474デフォルトの名無しさん:2010/06/18(金) 21:57:32
expression blend使えば小洒落たGUI作るのは簡単です?
見た目が重要だ!とか言い出してる顧客がいるんだけど外に丸投げだから簡単じゃないと厳しい
475デフォルトの名無しさん:2010/06/18(金) 21:58:39
簡単ではあるがセンスがいる
476デフォルトの名無しさん:2010/06/18(金) 22:06:46
自分が作った社内アプリケーションをコード書けない同僚がblend使って改変した時といったら……
かっこいい!おしゃれ!市販ソフトみたい!と賞賛されていた。そいつだけが。マジで
477デフォルトの名無しさん:2010/06/18(金) 22:15:23
XAML手打ちに慣れ過ぎて、Blendが使えない。
478デフォルトの名無しさん:2010/06/18(金) 22:29:46
おまおれ
479デフォルトの名無しさん:2010/06/18(金) 22:49:56
そのセンスを用意するのが一番面倒臭いんだけど
480デフォルトの名無しさん:2010/06/19(土) 00:38:33
Windows 7に付属してるソフトでWPF製のソフトあるの?
481デフォルトの名無しさん:2010/06/19(土) 00:39:57
PowerShell ISE
482デフォルトの名無しさん:2010/06/19(土) 01:05:58
7じゃないけど2008R2のAD管理センターもWPFなんじゃないかな
483デフォルトの名無しさん:2010/06/19(土) 01:58:37
じゃあやはりMS自身もあまり使ってないのか
484デフォルトの名無しさん:2010/06/19(土) 05:31:59
既存のものは既存のものをベースになってるし、異なってるのはDirect3Dを使うようになった標準ゲームぐらい。
たとえば比較的新しい部類に入る Windows Media Center もマネージド アプリケーションだし、WPF が使うのは InBox アプリケーションはこれからでしょ。
実際 Windows Vista から新規に追加された実行可能ファイルなんて PowerShell ぐらいだし。
485デフォルトの名無しさん:2010/06/19(土) 09:00:18
デザイナーにセンスとかいらねーだろ、どっかのデザインぱくればいいだけだしwww
お前らも嫌々言ってないでデザインぱくってくればいいよ
486デフォルトの名無しさん:2010/06/19(土) 11:20:21
>>485
パクるのもセンス。
それをあわせるのもセンス。
不要と思うなら自分でやればいいよね。
487デフォルトの名無しさん:2010/06/19(土) 11:30:24
デザイナーの美的センスが嫌なんじゃない。
不条理で非合理的で無茶苦茶な要望を平気でいうデザイナーと、それを精査せずに受け入れる上司が嫌なんだ。

「チェックボックスが○でラジオボタンは◇」とか
「すべての部品がアニメーションでうにょぉぉおーん!」とかありえないことを要求する。
488デフォルトの名無しさん:2010/06/19(土) 13:05:55
ListViewとかGridViewとかDataGridでカラム数を動的に変化させたいんだけど
(カラム数がコンパイル時は未確定)、どうすればいいですか?

DataTemplateとかでできればいいんですが、
コードビハインドでカラム生成してaddしていくしかないですかね。
489デフォルトの名無しさん:2010/06/19(土) 13:56:08
DataGridならAutoGenerateColumn=trueでよくね?
490デフォルトの名無しさん:2010/06/19(土) 16:20:50
>>489
AutoGenerateColumnとかあったんですね。ありがとうございます。
ItemsSourceにバインドさせるコレクションを列に対応させて動的に作ればいいのかな。
やってみます。
491デフォルトの名無しさん:2010/06/19(土) 17:15:58
>>487
そういうのを否定するならWPF使う意味を示せないのでは?
492デフォルトの名無しさん:2010/06/19(土) 18:11:51
>>487
それはデザイナーのセンスがないんだね。
絵がきれいだけがセンスじゃないからね。
それを良しとする上司では、ご愁傷様です。
493デフォルトの名無しさん:2010/06/19(土) 19:37:12
一見して用途が解らない、見慣れないUIとか嫌過ぎるな。
494デフォルトの名無しさん:2010/06/19(土) 20:10:14
WPFだと自由度が高いから、それを作られるリスクも高い。
部品をカスタマイズできるのはいいが、部品のあるべき挙動を理解せずに
ものすごい挙動を発明するデザイナーがいるからなぁ。

不自由ってのは愚者でも道を違わぬために必要なものだと理解した。
495デフォルトの名無しさん:2010/06/19(土) 20:14:08
一度飲まないと始まらない
496デフォルトの名無しさん:2010/06/19(土) 21:20:35
>>487
まずはAbout Faceでも読ませとけ。
497デフォルトの名無しさん:2010/06/20(日) 01:52:14
うちのノートだとWPF重いから
WPFアプリ増えないでくれ
498デフォルトの名無しさん:2010/06/20(日) 03:44:37
WPF製ソフトにはうんざり
昔のVB製ソフトを思い起こさせる
499デフォルトの名無しさん:2010/06/20(日) 06:16:53
そんなに重いか?
VGAがカスな仮想環境ですらサクサクなのに
500デフォルトの名無しさん:2010/06/20(日) 08:14:43
重いっていうなら環境書け
501デフォルトの名無しさん:2010/06/20(日) 08:32:48
今発売されてるPCなら大丈夫だろうけど
古いPCもいっぴい稼働されてる世の中だから
502デフォルトの名無しさん:2010/06/20(日) 08:54:37
御託はいい
重いというなら環境を書け
愚痴と独り言をこぼされても参考にならん
503デフォルトの名無しさん:2010/06/20(日) 09:15:42
環境は地球上です
504デフォルトの名無しさん:2010/06/20(日) 10:44:04
AtomZ520なマシンで色々動かしてみているが
アプリ起動とコントロールの動的生成の時は重たいがあとはまぁ何とかなる。
アプリの内容/作り次第では問題にはならないだろう。
だがそれ以上に表示乱れまくりだから、使えないが。
505デフォルトの名無しさん:2010/06/20(日) 11:50:17
Atomなんて買う奴いるのか
506デフォルトの名無しさん:2010/06/20(日) 12:40:21
買っちゃったよ。
しかもデスクトップPC・・・


ネカフェとかだとたまにあるわ。
507デフォルトの名無しさん:2010/06/20(日) 12:53:17
まあ、買う奴が全く見込めないなら商品展開してないわな
508デフォルトの名無しさん:2010/06/20(日) 12:54:45
ネットブックで開発してるけど問題ないなあ
vs2010はストレージ食うのでSSDだときついくらいか
509デフォルトの名無しさん:2010/06/20(日) 13:15:01
expression blend4何時出るん?
510デフォルトの名無しさん:2010/06/20(日) 21:57:26
正直>>506みたいな奴がなぜム板にいるのか分からん
頭の中に何入ってんの?豆腐?
511デフォルトの名無しさん:2010/06/20(日) 22:59:55
おからでしょ。
512デフォルトの名無しさん:2010/06/20(日) 23:11:10
というか Atom でも Z シリーズでしょ?
むしろマみたいな玄人向けの面白マシンが多い
環境だと思うんだが。
513デフォルトの名無しさん:2010/06/20(日) 23:23:30
玄人じゃないんだろ
514デフォルトの名無しさん:2010/06/20(日) 23:54:54
重いと言えば環境を書けと言い、
環境を言えば頭がおかしいと言い。

おイタが過ぎる知将さんなんだね。
515デフォルトの名無しさん:2010/06/21(月) 01:19:03
頭がおかしいって誰も言ってないし
516デフォルトの名無しさん:2010/06/21(月) 01:23:42
素手で岩を抱えりゃ重いに決まってるのに
重い重いと1人でわめいてりゃ滑稽にも見えるさ。

「これ重くない?ねぇねぇ素手で持つと重いよ!重いって!」

他の人は荷車で軽々運んでるのに。
517デフォルトの名無しさん:2010/06/21(月) 01:24:30
【レス抽出】
対象スレ:WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part6
キーワード:頭がおかしい
検索方法:マルチワード(OR)

514 名前:デフォルトの名無しさん[sage] 投稿日:2010/06/20(日) 23:54:54
重いと言えば環境を書けと言い、
環境を言えば頭がおかしいと言い。

おイタが過ぎる知将さんなんだね。

抽出レス数:1

518デフォルトの名無しさん:2010/06/21(月) 07:23:57
WPFはblend買わなきゃいけないのが好かん
普及させる気がないのだろうか
519デフォルトの名無しさん:2010/06/21(月) 10:17:05
>>518
んなわけない。
WinFormと同様程度のデザインならVSで十分だろ?
もっと気狂いじみたデザインをしたい時に、Blendだろ?

Expressionシリーズがこのまま普及してくれれば、
PhotoshopやIllustratorのシェアが減らないかな。

アドビのツールは10万を超えるから、個人で買うのは難しい。
520デフォルトの名無しさん:2010/06/21(月) 10:47:50
>>518
そのレベルで文句を言っていってる人には普及させるつもりはないでしょうね。
521デフォルトの名無しさん:2010/06/21(月) 12:36:11
>>519
どこをどうしたらPhotoshopと競合すんだよwwwwww
アホか
522デフォルトの名無しさん:2010/06/21(月) 13:07:41
Expression Designのフィルタが充実すれば、それで十分だろ?
523デフォルトの名無しさん:2010/06/21(月) 13:29:36
Winユーザーらしからぬ意見だなw
524デフォルトの名無しさん:2010/06/21(月) 20:33:00
Expression Designの元になったExpressionってちょっとカルト的な人気があったグラフィックツールだったんだよな
シンプルで割と好きだこれ
525デフォルトの名無しさん:2010/06/21(月) 20:34:19
>>524
もとになったのってな〜に?
526デフォルトの名無しさん:2010/06/21(月) 20:34:58
ExpressionはMSに買収されて死んだ
今あるのはパチモン
527デフォルトの名無しさん:2010/06/21(月) 20:44:23
>>525
expressionというグラフィックツールがあったって話
528デフォルトの名無しさん:2010/06/22(火) 06:51:06
WPFはやってないっていうと必ずだれかがファビョるな
529デフォルトの名無しさん:2010/06/22(火) 07:51:38
実際流行ってないから
530デフォルトの名無しさん:2010/06/22(火) 08:41:33
Intelがatomなんか出すから悪い
531デフォルトの名無しさん:2010/06/22(火) 10:27:08
atomで.NETでうちのタイムカードレコーダーとして運用してる
こういう運用にはちょうどいいわ
532デフォルトの名無しさん:2010/06/22(火) 13:42:53
iPadは非力なハードウェアでもサクサクなのに、
WPFは、高性能なPCでなんでこんなに重いの?
533デフォルトの名無しさん:2010/06/22(火) 13:46:35
MACのUIはそのじつ単純なつくりだからです。
534デフォルトの名無しさん:2010/06/22(火) 13:57:56
ハード固定なら複雑なレイアウトなんかいらんわな
ぜんぶ絶対座標でいける
535デフォルトの名無しさん:2010/06/22(火) 14:34:33
マルチタスクとシングルタスクの違いも大きい。画面を占有できればバッファやメッセージポンプも最小化できるし。

しかし、実際のところ WPF のアプリが重いと思ったことはないな。
VS2008 から VS2010 に移ったけど、あんまり変わらない。多少軽くなったかもと思えるぐらい。
536デフォルトの名無しさん:2010/06/22(火) 14:42:53
初期化ってか画面が出てくるまでは重い感じ
VSの場合は元から立ち上げ遅いから気にならんのではないか
537デフォルトの名無しさん:2010/06/22(火) 14:47:47
VSでデバッグなし実行させたときの起動スピードは2010になって速くなったように見える。
538デフォルトの名無しさん:2010/06/22(火) 19:11:13
WPFが重いという奴は、低学歴低所得で、マシンが非力なのです。
生活が貧しいと、心まで貧しくなり、視野が狭くなるのです。
539デフォルトの名無しさん:2010/06/22(火) 19:14:20
環境によって重いのは別に否定せんが、
重い重いと喚くだけなのは何の意味もねーよなっつーか何つーか
540デフォルトの名無しさん:2010/06/22(火) 20:25:51
他のアプリに比べて重いだろ認めろよ
541デフォルトの名無しさん:2010/06/22(火) 20:40:57
出始めの頃のJavaに比べりゃ遥かにマシ、てとこかね
542デフォルトの名無しさん:2010/06/22(火) 20:46:00
Atomはピンキリ
TDP1W以下のやつから、デュアルコアでHT対応してGMA 3150が統合されてるやつまである。
GMA 3150:200MHz〜400MHz/ビデオメモリ256MB/DirectX9.0c/Shader Model 2.0(3.0はソフトウェア対応)

もうすぐ発売されるLincroftは、さらにパフォーマンスがアップして、もっと低消費電力になるらしい。
543デフォルトの名無しさん:2010/06/22(火) 21:07:57
>>541
AWT とか Swing なんて実際遅すぎて流行らなかったってのもあるよね。
544デフォルトの名無しさん:2010/06/22(火) 21:21:03
クソツールごときで重いって思わせたらだめだろう
545デフォルトの名無しさん:2010/06/22(火) 22:07:35
なんか、ガページコレクションに起因してるようなトロさはあるな。
ページを連続して替える時はすぐ切り替わるけど。
ちょっとほっといた後に切り替えると、少し時間かかったりする。
546デフォルトの名無しさん:2010/06/22(火) 22:28:37
それキャッシュのせいだろ
WPFは要素が変更されない限り再描画しないから
547デフォルトの名無しさん:2010/06/22(火) 22:30:07
オラオラ、下請けども、つべこべ言わずに、客の言うとおりに作れや。
こっちは、金出してんだぞ。

それが嫌なら、プライムベンダーに転職しろや。
つーか、わざわざ戦場で足軽に就職するってマゾ?
548デフォルトの名無しさん:2010/06/22(火) 22:50:28
※触らないでください。
549デフォルトの名無しさん:2010/06/22(火) 22:51:26
誰かが触らなくても気は触れているからな。
550デフォルトの名無しさん:2010/06/22(火) 23:17:48
.NET Framework 4でOuterGlowBitmapEffectとかBitmapEffectGroupを使おうとして全然動かなくて非推奨に気付いた。
DropShadowBitmapEffectが動くだけになかなか気がつかなかったよ。
551デフォルトの名無しさん:2010/06/22(火) 23:25:11
3.5の頃から非推奨扱いになってるよ
552デフォルトの名無しさん:2010/06/23(水) 01:58:25
非推奨なのにObsoleteになってるわけでもなくドキュメントに非推奨って書いてるものが混じっているという程度で
ビルドも通るし非推奨の警告も何も出ないのに動かすと何も動作しないのがひどいなど。
4もサポート対象に入ったままだし。
553デフォルトの名無しさん:2010/06/24(木) 10:27:26
色をバインドする方法は文字列だけですか?
554デフォルトの名無しさん:2010/06/24(木) 11:02:14
ValueConverter使えば自由
555デフォルトの名無しさん:2010/06/25(金) 00:09:30
ナビゲーションにはPageを使うのが向いてるとのことだけど、
例えばゲームでよくある
ストーリーモード
VSモード
プラクティス
オプション
クレジット
というようなメニューがあって、オプションを選択したら、右からにゅにゅっと
オプション項目が出てくるようなUIを作りたいとき、Pageを使うのは有効?
それとも各画面をリソースとして作っておいて、
Clickイベントをイベントトリガで拾うなりして自分でごりごり書いていくのがいいかな。
後者だと遷移アニメーションはなんとかできそう。でもリソースとしてUIを書いていくのは
デザイナ使えないしちょっと大変だな。
556デフォルトの名無しさん:2010/06/25(金) 00:41:04
メニューとテンプレートで済みそうな気がする
ページではないんでないか
557デフォルトの名無しさん:2010/06/25(金) 07:24:39
線をL本、RectangleをM個かかせたいとき、(L、Mは可変)
どうすればいいですか?
558デフォルトの名無しさん:2010/06/25(金) 07:39:12
なんだこのプログラマとは思えない質問は
559デフォルトの名無しさん:2010/06/25(金) 07:41:55
こういう質問だとよかったかも

線をL本、RectangleをM個かかせたいとき、(L、Mは可変)
WPF流に実装するにはどうすればスマートでしょうか?
560デフォルトの名無しさん:2010/06/25(金) 08:35:37

(´・ω・`)
561デフォルトの名無しさん:2010/06/25(金) 13:43:53
線をL本、RectangleをM個書いてはどうか
562デフォルトの名無しさん:2010/06/25(金) 14:33:39
マジレスすると情報が少なすぎて
何をしたいのかわからないんだよ
563デフォルトの名無しさん:2010/06/25(金) 14:36:48
WPF勉強中です。
System.Windows.Controls.Controlから派生した複合コントロールの作成を目指しています。XAMLを使用しない条件です。

VisualCollection m_Children;
public コンストラクタ()
{
m_Children = new VisualCollection(this);
m_EditButton = new Button();
m_EditButton.HorizontalAlignment = HorizontalAlignment.Left;
m_EditButton.VerticalAlignment = VerticalAlignment.Top;
m_Children.Add(m_EditButton);
m_ClearButton = new Button();
m_ClearButton.HorizontalAlignment = HorizontalAlignment.Left;
m_ClearButton.VerticalAlignment = VerticalAlignment.Top;
m_Children.Add(m_ClearButton);
}
protected override int VisualChildrenCount
{
get { return m_Children.Count; }
}
protected override Visual GetVisualChild(int index)
{
return m_Children[index];
}

こんなかんじで追加した要素を表示しようとしているのですが、O番目しか表示されません。
位置とサイズ設定コードは別にありますがそれは問題ないです。
Add順序を変えると勿論変えたO番目だけ表示されます。
実装する上で何が足りないのか問題が解決できずに煮詰まっています。
564デフォルトの名無しさん:2010/06/25(金) 14:49:08
これは…w
565デフォルトの名無しさん:2010/06/25(金) 16:06:00
>>563
MeasureOverride と ArrangeOverride の実装どうなってる?試しに下の様にして実行してみたけど表示されたよ。

public MyControl() {
 _children = new VisualCollection(this) {
   new Button() { Content = "A", Width = 100, Height = 30 },
   new Button() { Content = "B", Width = 100, Height = 30 }
 };
}
protected override int VisualChildrenCount { get { return _children.Count; } }
protected override Visual GetVisualChild(int index) { return _children[index]; }
protected override Size MeasureOverride(Size constraint) { return constraint; }
protected override Size ArrangeOverride(Size arrangeBounds) {
 var rect = new Rect(arrangeBounds);
 foreach (var i in _children) {
  var c = (FrameworkElement)i;
  c.Arrange(rect);
  rect.Y += c.Height;
 }
 return arrangeBounds;
}

あと、Template 使わないのなら Control から直接派生する意味ないので UserControl から派生させれば?
VisaulTree のルートも Panel にしておけば自分で実装する手間は省けるよ。まあ、使えそうな Panel がないなら自分で書くしかないけど。
566デフォルトの名無しさん:2010/06/25(金) 16:32:08
>>565
ありがとうございます。2個目以降の表示ができました。
それらの実装も書く必要があったのですね・・・。
567デフォルトの名無しさん:2010/06/25(金) 16:38:26
洋書でMVVM学ぶのにいい参考書あったら教えてください。
568デフォルトの名無しさん:2010/06/26(土) 11:20:15
WinFormならWebBrowser.DocumentTextでhtmlを表示できたのですが、
WPFはどうすればhtmlを表示することができますか?
569デフォルトの名無しさん:2010/06/26(土) 11:33:51
NavigateToStringあたりでいいんじゃね
570デフォルトの名無しさん:2010/06/26(土) 11:43:26
>>569
ありがとうございますッ
571デフォルトの名無しさん:2010/06/26(土) 20:42:17
こ、こんなまともなスレはWPFスレじゃない!




WPFは重い。
572デフォルトの名無しさん:2010/06/26(土) 21:11:49
>>557
>>413-421のやり方を拡張して、ItemsSourceにラインデータと四角データを両方入れて
ライン用データテンプレートと四角用データテンプレートで表示させればおk。
573デフォルトの名無しさん:2010/06/27(日) 03:19:09
通知用に非表示ウィンドウのハンドルがほしい場合って、どうやって実装するのが一般的でしょうか?
いきなり行き詰ったorz
574デフォルトの名無しさん:2010/06/27(日) 19:51:43
線かかせるとコントロールの外まで書いちゃうことがあるんだがなんで?
回避する方法ある?
575デフォルトの名無しさん:2010/06/27(日) 21:14:18
範囲外の座標を指定していないはずなのに、範囲外に描画されるということか?
それなら再現可能なコードを出してくれなきゃどうにもならん
576デフォルトの名無しさん:2010/06/28(月) 00:03:18
バグだらけWPF
MSに報告してもナシのつぶて
やってられん
577デフォルトの名無しさん:2010/06/28(月) 00:18:18
まぁ、バグっつーか不思議な挙動が多すぎだわな。
"VisualTreeをつなぎ忘れてもたまに描画される"とか、
"要素の外に子要素を描画させると、親要素のサイズ次第で子がかかれたりかかれなかったり"とか。
最悪なのがXPとVista以降で挙動がガラっと変わることがあること。
578デフォルトの名無しさん:2010/06/28(月) 00:27:23
イヤーン
579デフォルトの名無しさん:2010/06/28(月) 07:56:52
>>575
ItemsControlの中でLine書かせたんだが
やたらとでかいマイナスの座標(Canvasの外)与えちゃうと
上に隣接する別なコントロールにまで線延ばしてくれた
カットされることを期待してたんだけどびっくりした
580デフォルトの名無しさん:2010/06/28(月) 21:06:24
WPFはそういうもん
親要素でClipを設定する
581デフォルトの名無しさん:2010/06/28(月) 21:16:35
仕様ですか
どもども、お騒がせしました
582デフォルトの名無しさん:2010/06/29(火) 02:51:04
M-V-VMのコマンドバインディングでイベントにICommand型のプロパティをBindingする時コンバーターを使うことで解決できますか?
583デフォルトの名無しさん:2010/06/29(火) 08:19:46
どういう問題なのか一切触れてないのにどうやって答えろっちゅーねん
584デフォルトの名無しさん:2010/06/29(火) 16:09:01
イベントハンドラでコードから直接コマンド呼べばいいよ
VとVMの分離という意味ではMVVM的には何の問題もない
585デフォルトの名無しさん:2010/06/29(火) 19:50:29
WPF初めて触ったけど重いな
ネイティブから扱えるようにはならないのだろうか
586デフォルトの名無しさん:2010/06/29(火) 21:15:19
そもそもWPFはほとんどC#で書かれてるからネイティブから使おうとしたら
レイヤが増えて余計に重くなるはず
587デフォルトの名無しさん:2010/06/30(水) 01:07:03
>>584
View側にViewModelのインスタンスは持ちたくありません。CodeplexにあるCAL4のCommandBehavior<T>クラスを使ってヘルバークラスを用意したらルーティングイベントとコマンドをバインドすることができました。
588デフォルトの名無しさん:2010/06/30(水) 01:08:44
何言ってんの
ViewはViewModelを知っているもの
でなきゃ何をどうバインドするんだよ
589デフォルトの名無しさん:2010/06/30(水) 01:43:27
「VMにVを持ちたくない」なら意味分かるけどなあ。
590デフォルトの名無しさん:2010/06/30(水) 03:08:50
ViewのDataContextにViewModelを代入しているので、ビハインドコードにViewModelのインスタンスを持ちたくないということです。
591デフォルトの名無しさん:2010/06/30(水) 09:19:31
事実上完全に依存してるのに全く意味のないこだわりだな
今回のケースでどうかはともかくとして、無理にコードビハインドを避けて
Viewの実装の詳細に引きずられてViewModelのインターフェイスが複雑になって
結果的にVMがVに依存してるのに近い状態になるのは本末転倒だと思う
592デフォルトの名無しさん:2010/06/30(水) 10:40:08
ToolTipの表示位置を常にマウス近傍にある
(マウスがある程度動いたらToolTipがマウスに追随して移動)
ようにしたいのですが、いい方法あるでしょうか?
593デフォルトの名無しさん:2010/06/30(水) 11:04:27
>>592
MouseMoveイベントで毎回SetToolTip
594デフォルトの名無しさん:2010/06/30(水) 11:05:33
ある程度だったか
ならそれの制御しないとだな
593はマウスに常に追随する
595デフォルトの名無しさん:2010/06/30(水) 11:45:19
さらにWPFスレだと言うことに気づかなかった
忘れてくれ
596デフォルトの名無しさん:2010/06/30(水) 12:20:06
そうですか、残念です
とりあえずコントロール前面に透明な物体描いてそれぞれにToolTipもたせて
なんとなくそれっぽいことしてみました

でも気持ち悪いのでもっといい方法があれば教えてください
597デフォルトの名無しさん:2010/06/30(水) 15:18:19
正攻法はToolTipではなくPopupを使って自分で制御
598デフォルトの名無しさん:2010/06/30(水) 15:24:24
OuterGlowBitmapEffect が機能しねえと思っていたら、.NET4.0でコードを書いていた。
それはいいとして、ウィンドウ全体でClearTypeでテキスト描画するように指定する方法ってどうやんの?
初心者な質問ですみません。
599デフォルトの名無しさん:2010/06/30(水) 19:59:42
>>597
ありがとうございます
Popupで動くようにできました

でもなぜかPopupが真っ黒になります
なんで?
600デフォルトの名無しさん:2010/06/30(水) 20:33:48
AllowsTransparency=trueにして表示できた
へんなの
601デフォルトの名無しさん:2010/07/01(木) 01:07:53
ウィンドウのリサイズ時に比率を保持させる場合ってSizeChangedイベント使うのでいいの?
試しにこんなコード書いてみたけど
private void Window_SizeChanged(object sender, SizeChangedEventArgs e)
{
Window s = sender as Window;
double per = 0.5625;
s.Height = s.Width * per;
e.Handled = true;
}
リサイズさせると一部が盛大にちらつく。マウスでドラッグした分を描画したあとに
コードで指定したサイズに描画してる感じ。ちらつかせないようにしたいがどうすればいい?
602デフォルトの名無しさん:2010/07/01(木) 01:35:15
やったことはないけど、Measure/Arrangeでやったらどう?
レイアウト計算時点で新しいサイズが反映されるからちらつきにくくはなりそうな気がするけど。
603デフォルトの名無しさん:2010/07/01(木) 14:24:20
<UserControl>
  <Canvas>
    <xxx:NANIKA Width="{Binding xxxxxxxx}"/>
  </Canvas>
</UserControl>

でNANIKAのプロパティにUserControlやCanvasのプロパティをバインドさせたいとき
xxxxxxxxの部分の書き方を教えてください
604デフォルトの名無しさん:2010/07/01(木) 15:16:45
{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Width}
605デフォルトの名無しさん:2010/07/01(木) 22:06:08
<UserControl>
  <Canvas x:Name="foo">
    <xxx:NANIKA Width="{Binding ElementName=foo, Path=ActualWidth}"/>
  </Canvas>
</UserControl>
606デフォルトの名無しさん:2010/07/02(金) 14:16:13
>>602
ありがとう。ArrangeOverrideに書いてみたけど扱い方がよくわからんのもあって
うまくいかなかった。自由に大きさ変えられちゃうし
607デフォルトの名無しさん:2010/07/02(金) 20:01:10
OnRenderSizeChangedといいたいところだけど、
こんなぐぐればすぐ出てくるようなのを試してないわけないか
608デフォルトの名無しさん:2010/07/02(金) 21:22:42
MVVM使ってデータベースに保存復元としたいんだけど
これにはどういったアプローチの仕方があるの?

モデルの部分をDBと強引にマップして保存するのが一般的なのかな?
609デフォルトの名無しさん:2010/07/02(金) 22:03:27
MVVMとDBのマッピングになんか関連性あったかいな?
610デフォルトの名無しさん:2010/07/02(金) 22:11:22
>>609
MVVMMDVMMMM
みたいなパターンがあるのかなーと思って
611デフォルトの名無しさん:2010/07/02(金) 23:54:29
>>607
いやあ知らなかった…。
しかし結果はSizeChangedイベント使ったときと一緒だった
やりたいことは
http://www.unkar.org/read/pc11.2ch.net/tech/1162950198/1275267127/
の731と同じなんだけど
612デフォルトの名無しさん:2010/07/03(土) 02:27:16
ICommandってView側に持っていいのかな?
613デフォルトの名無しさん:2010/07/03(土) 02:34:39
使い方次第。Viewで閉じているICommandもあるし、
ViewModelとやりとりするためのものもある。
614デフォルトの名無しさん:2010/07/03(土) 03:48:28
なるへそ…
ちなみにCommandParameterで二つ以上のオブジェクトを渡す時はどうしたらいいのん?
Bind出来る何かを作ればいいぽいけどわけわかめ…
615デフォルトの名無しさん:2010/07/03(土) 08:03:24
クラスを作って
<Button.CommandParameter>
 <local:MyCommandArg A="a", B="b"/>
</Button.CommandParameter>
616デフォルトの名無しさん:2010/07/03(土) 08:14:11
Commandは本来MVVMのためにあるわけじゃなくて
たとえばCtrl+Cとメニュー項目のコピーとツールバーのコピーボタンの処理をまとめたりするのに使う
617デフォルトの名無しさん:2010/07/03(土) 10:19:49
はぁーん
618デフォルトの名無しさん:2010/07/03(土) 10:35:52
>>615
サンクス!

これも調べたけれどよくわからない…
Validation.HasErrorをコントロール毎ではなく一カ所でもおきたらグローバルに察知するプロパティが欲しいです
やりたい事はエラーが起きたらあるコマンドを無効といった感じにしたいのですが…
619デフォルトの名無しさん:2010/07/03(土) 11:16:10
検証関係は先月のMSDNにあったのね…
ttp://msdn.microsoft.com/ja-jp/magazine/ff714593.aspx

んで中身見てみたらモデルがIDataErrorInfoを実装して
中でIsValidを使い全てのプロパティを検証してる
んで、それをコマンドのOnCan〜で見ると…

うぬぬ、、もっと簡単に検知できなのかな?
これはあまりに面倒だ!
620デフォルトの名無しさん:2010/07/03(土) 11:43:48
<Canvas><Path Data="M10,10 L20,20" .../></Canvas> →0,0 - 10,10に線が引かれる
<Canvas><Path Data="M0,0 M10,10 L20,20" .../></Canvas> →10,10 - 20,20に線が引かれる
<Canvas><Path Data="M-10,-10 M0,0 L10,10" .../></Canvas> →10,10 - 20,20に線が引かれる

(゚д゚)

いや、原理的に予測はついていたけどねw 期待される動作はそうじゃないだろw
621デフォルトの名無しさん:2010/07/04(日) 11:49:44
Slidebarの変化の最小単位ってどうやって変えるんですか?

細かく変化しすぎてやりづらい・・・。プログラム的に無視すればいいんだけど、slidebar
自体の設定としてできないかな?
622デフォルトの名無しさん:2010/07/04(日) 12:04:17
SmallChangeとLargeChange
623デフォルトの名無しさん:2010/07/04(日) 12:12:00
>>622
マウスでぐりぐりしたときはその設定は関係ないですよね。
マウスぐりぐりしたときの変化幅の最小値を1にしたい
624デフォルトの名無しさん:2010/07/04(日) 12:12:33
Slider?
IsSnapToTickEnabledとTickFrequencyがお望みのものかな?
625デフォルトの名無しさん:2010/07/04(日) 12:23:20
>>624
Sliderの間違いでした。
その2つで実現できました。ありがとうございます
626デフォルトの名無しさん:2010/07/05(月) 16:46:55
Bindingを使用せずに、TextBoxにエラーの赤枠表示をコードで強制的に設定することってできますでしょうか?
627デフォルトの名無しさん:2010/07/05(月) 16:55:50
スタイル弄ればいい
628デフォルトの名無しさん:2010/07/05(月) 17:02:56
そういやTextBoxの赤枠ってどこで定義されてるの?
TextBoxのコントロールテンプレートには見当たらなかったが
629デフォルトの名無しさん:2010/07/05(月) 17:08:25
エラーテンプレート
630デフォルトの名無しさん:2010/07/05(月) 17:14:27
先生やり方わかんないよ!
631デフォルトの名無しさん:2010/07/05(月) 17:14:41
>>629
なるほど。サンクス
632名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:23:49
<DataGridTextColumn>
    <DataGridTextColumn.ElementStyle>
        <Style TargetType="TextBlock">
            <Setter Property="HorizontalAlignment" Value="Right"/>
        </Style>
    </DataGridTextColumn.ElementStyle>
</DataGridTextColumn>

これをスタイルに吐き出すにはどうしたらいいのん?

<Style x:Key="RightTextColumn" TargetType="{x:Type DataGridTextColumn}">
    <DataGridTextColumn.ElementStyle> ←ここが怒られる!
        <Style TargetType="TextBlock">
            <Setter Property="HorizontalAlignment" Value="Right"/>
        </Style>
    </DataGridTextColumn.ElementStyle>
</Style>

<DataGridTextColumn ElementStyle="{StaticResource RightTextColumn}">

こんな風にしたけど駄目だった(´;ω;`)ウッ…
633名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:26:56
Setter使え
634名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:29:13
        <Style x:Key="RightTextColumn" TargetType="{x:Type DataGridTextColumn}">
            <Setter.ElementStyle>
                <Style TargetType="TextBlock">
                    <Setter Property="HorizontalAlignment" Value="Right"/>
                </Style>
            </Setter.ElementStyle>
        </Style>

トン
早速つかった!
でも見つかりませんって怒られるよ???
635名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:30:11
>             <Setter.ElementStyle>
>                     <Setter Property="HorizontalAlignment" Value="Right"/>
おかしいとは思わないのか
636名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:31:39
<Style x:Key="RightTextColumn" TargetType="{x:Type DataGridTextColumn}">
    <Setter Property="ElementStyle">
        <Style TargetType="TextBlock">
            <Setter Property="HorizontalAlignment" Value="Right"/>
        </Style>
    </Setter>
</Style>

思ったからやった!
でも駄目だ!何故だ!
637名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:34:48
> <DataGridTextColumn>
>     <DataGridTextColumn.ElementStyle>
あるインスタンスのプロパティを要素構文で書く例
638名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:35:52
先生・・・・
焦らすのはそのへんして教えてぇ・・・・
639名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:39:15
> <DataGridTextColumn>
>     <DataGridTextColumn.ElementStyle>

> <DataGridTextColumn ElementStyle="{StaticResource RightTextColumn}">

>                      <Setter Property="HorizontalAlignment" Value="Right"/>

>      <Setter Property="ElementStyle">
>          <Style TargetType="TextBlock">

こんぐらい並べたら分かる?
640名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:40:40
全然わかりません
641名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:40:59
<Style x:Key="RightTextColumn" TargetType="{x:Type DataGridTextColumn}">
    <Setter Property="ElementStyle">
        <Setter.Value>
            <Style TargetType="TextBlock">
                <Setter Property="HorizontalAlignment" Value="Right"/>
            </Style>
        </Setter.Value>
    </Setter>
</Style>

こんな風にしてみた!
これでいける!と思ったのに駄目、、、
TargetType="{x:Type DataGridTextColumn}"が例外出てコンパイルできない!!!
(つд⊂)エーン
642名無しさん@そうだ選挙に行こう:2010/07/11(日) 01:07:41
あ、出来た
なるほどこういう仕組みになってるのか!
XAMLすごーい!
そしてそれに気づいたわたしもすごーい!!

じゃ、もうかえる!
643名無しさん@そうだ選挙に行こう:2010/07/11(日) 13:26:18
出来たんなら答え書けよな
全然わからない
644名無しさん@そうだ選挙に行こう:2010/07/11(日) 13:45:29
XAMLすごーい(わかりづらい)!
645名無しさん@そうだ選挙に行こう:2010/07/11(日) 14:03:58
>>643
DataGridTextColumn.ElementStyleのターゲットは、DataGridTextColumnじゃない。それだけのこと。

そして、気づくもなにも、要素のスタイルだとドキュメントに書かれている。
> http://msdn.microsoft.com/ja-jp/library/system.windows.controls.datagridboundcolumn.elementstyle
> 表示するだけの要素のレンダリングに使用するスタイル
646名無しさん@そうだ選挙に行こう:2010/07/11(日) 14:20:27
だから答えかけよ
なんでおまえらは馬鹿に冷たいんだ
647名無しさん@そうだ選挙に行こう:2010/07/11(日) 14:23:38
あぁん?俺がわかんねーことはお前が全部書くのか?
648名無しさん@そうだ選挙に行こう:2010/07/11(日) 15:24:25
なんで質問した奴が自分で解決して
教えてやる気の満々の奴等が答えかけって宣ってるんだよw
649名無しさん@そうだ選挙に行こう:2010/07/11(日) 15:27:08
ヒントっぽいのを出してるだけで答えが解ってないからだろ。
650名無しさん@そうだ選挙に行こう:2010/07/11(日) 16:36:11
ワロタw
結構いるよね、ほのめかしはするけど実は答え知らない自称上級者
651名無しさん@そうだ選挙に行こう:2010/07/11(日) 17:48:33
ワロタw
結構いるよね、書き込みはするけど実は誤爆してた自称上級者
652名無しさん@そうだ選挙に行こう:2010/07/11(日) 21:53:21
checkboxやradiobuttonのすっとろいアニメーションが気に入らないのですが
どうすればアニメーションを切ることができるでしょうか?
653名無しさん@そうだ選挙に行こう:2010/07/11(日) 21:57:28
             / ̄\
            │34nm |
             \_/    インテル!
             _|_|_
       n:     /      \    n: 
       ||   /         ヽ    ||   
      f「| |^ト  |   :::\::/:::   |  「| |^|`|  エーーックス
      |: ::  ! }  | <(゚)>::::<(゚)> |  | !  : ::}   ニジュウゴ
      ヽ  ,イ  ヽ  (__人__) /  ヽ  ,イ     エーーーッムッッ!
            \ `⌒´ /
654デフォルトの名無しさん:2010/07/11(日) 23:42:07
wpfは確かに柔軟でパワフルだけど、xml=xamlを基本に据えたのは失敗じゃ
なかったのかなあ。コントロールツリーの記述にxmlってのはアリだとしても、
マークアップ拡張とかコマンドバインディングとかをxamlに押しこめたのは無理やり過ぎ
だろ。triggerとかsetterにいたっては、もう考えたやつは死んだほうがいい。

ここらへんをIDEで隠蔽しないと、とてもじゃないけど普及はしないと思う。逆にそうするなら
xml表現である必然性もないような気がする。xbapとかloose xaml? そんなもん
誰も使ってないし。
655デフォルトの名無しさん:2010/07/11(日) 23:45:13
本来手で書くものじゃないし
xml以外を選ぶ必然性もまったく無い
656デフォルトの名無しさん:2010/07/11(日) 23:45:43
xaml使いやすいけどな。
htmlと似たようなもんだしブラウザ依存しないからhtmlよりも簡単。
trigger無かったらView内完結出来ないだろjk
657デフォルトの名無しさん:2010/07/11(日) 23:48:44
Triggerはいらんな
設定ファイルの度を超えてる
最初からVisualStateManagerのような宣言的な仕組みを中心に据えるべきだった
658デフォルトの名無しさん:2010/07/11(日) 23:54:33
何か知らんけど偉そうな事が言える立場の人達が話し合ってるの?
659デフォルトの名無しさん:2010/07/12(月) 00:33:47
そういえばつい最近
WPF 2009なるものがあることを知った
660デフォルトの名無しさん:2010/07/12(月) 06:47:23
>>656
それはいいんだけど、xamlの記述内容をデバッグできないかなと思うよ。
意図したとおりに動いてくれないときにどうやって調べたらいいか途方にくれるというか。
ValueConverterを入れてそこでブレークポイントを入れてみたりするけどあまり効率よく調べられないし。
661デフォルトの名無しさん:2010/07/12(月) 12:50:01
SetterTriggerがあるのはいいんだけど他に書き様がなかったのかとは思う
TriggerはともかくSetterって要素として考えるのが妙な感じ
手続きだし
662デフォルトの名無しさん:2010/07/12(月) 17:07:08
VS2010はバインディングやSetterなどのような間接的なものも
インテリセンスが効くようになってるね
相変わらず精度は糞だけど
663デフォルトの名無しさん:2010/07/12(月) 22:17:26
wpf essentials読んでて違和感あるのは、モデルとビューの疎結合を
xamlとコードの分離に直結してることのように感じる。
これって本来は必然じゃないでしょ? それを無理やり等価とみなしているから
xamlに変な仕様がどんどん持ち込まれているように感じるんだけれど。
664デフォルトの名無しさん:2010/07/12(月) 22:22:07
xamlもコードだけどな
宣言的な表現と手続き的な表現を分離しよう
宣言的に表現できる範囲は宣言的にやろう
その上で宣言的な表現の文法としてxamlを採用
xamlありきで考えちゃうとどちてどちてになっちゃうよね
665デフォルトの名無しさん:2010/07/12(月) 22:26:13
>>663
xamlとコードの話で出てくる「ビューとロジックの分離」というのはモデルとビューの分離じゃなくて
デザイナとプログラマの分離っていう意味だよ
666デフォルトの名無しさん:2010/07/12(月) 22:27:49
>>665
それならなおさらひどいな
ビューとロジックの分離じゃなくて ロジックをビューに無理やり持ち込むために
xamlの使用がグダグダになってるわけだから。
667デフォルトの名無しさん:2010/07/12(月) 22:44:49
WPFに限らずXMLで分離するのが流行りなんだからあきらめろ
668デフォルトの名無しさん:2010/07/12(月) 22:50:27
WinFormsのようにコードを生成するのに比べて本来ずっとメリットが多いからな
特定の言語に縛られないしツール作りやすいし開発環境から分離できるし
669デフォルトの名無しさん:2010/07/12(月) 22:51:06
アヌビスcやるじゃん
670デフォルトの名無しさん:2010/07/12(月) 22:52:14
あきらめたらそこで(ry
671デフォルトの名無しさん:2010/07/12(月) 22:55:43
分離してもいいけど美しい構造にしてください
672デフォルトの名無しさん:2010/07/13(火) 00:46:10
xamlはもっとシンプルにしてほしかった。
プログラミング言語でいうとC言語みたいな存在。
673デフォルトの名無しさん:2010/07/13(火) 00:48:56
XAMLは人間が読み書きするものじゃないから複雑でもおk

という建前の元、PGはXAMLを読み書きしてシンドイシンドイ
XAMLコーディング作業に涙と血を流す。
自分の書いたXAMLはいいけど、他人の書いたはもう無理ぽ…
674デフォルトの名無しさん:2010/07/13(火) 01:03:35
XAMLが難しいって言ってる人はどんな作り方してんの?

DataContextに適当なViewModelをBindingするあたりまではVM担当のPGの仕事としてやってるけど
そっから先はBlendでやるでしょ?しんどくて涙と血を流すような工程なんてどこにあるのさ
675デフォルトの名無しさん:2010/07/13(火) 01:16:59
さあねえ
糞仕様ってのは流行らなさが証明してるけども
676デフォルトの名無しさん:2010/07/13(火) 01:20:01
糞なのはWPFであってXAMLではないような
677デフォルトの名無しさん:2010/07/13(火) 01:27:22
Blend買えない貧乏人が騒いでるだけ?
安心しろExpress出るらしいぞ
678デフォルトの名無しさん:2010/07/13(火) 01:30:46
>>677
マジで?ソースplz
679デフォルトの名無しさん:2010/07/13(火) 01:43:23
>>666
中身空っぽでもそれっぽく動く必要があるからそうなるんだろう
外見は見かけだけと割り切れば、そう深入りする必要もないんじゃないだろうか
680デフォルトの名無しさん:2010/07/13(火) 07:01:54
まああれだ、流行ってないってのが全てだ。
どんだけ思想的に優れててもバカに合わせた製品作らないと
結局のところ売れないってことよ。
681デフォルトの名無しさん:2010/07/13(火) 08:23:28
Blendの使い方がわからないんだが・・・
どこみたらいいの?
682デフォルトの名無しさん:2010/07/13(火) 08:25:02
はやってないのはパフォーマンス的な問題も多いにあると思われ.
683デフォルトの名無しさん:2010/07/13(火) 08:58:48
まぁ、C++が出た時も、Javaが出た時も否定していた奴はいたからな。
触りたくない奴は触らなければ良いんじゃね?

人それぞれだよ。
つーか、WPFとSilverlightの仕組みを理解して使いこなせる奴なんて、
全プログラマの1割もいないんじゃね?
英文ドキュメントも読めない低学歴低所得下請けには無理っしょ。
684デフォルトの名無しさん:2010/07/13(火) 09:01:30
XAMLなんて全プログラマのうち1割もいるわけないだろう
高学歴高所得のものなのですから
685デフォルトの名無しさん:2010/07/13(火) 09:17:47
いや、そういう意味じゃなく、
今からプロジェクト始めるからC#経験者ってお題で派遣を集めて、
2週間後までにWPF勉強しておいて、って課題を出しても、
その中の1割ぐらいしか理解できないんじゃね?ってこと。

WPF経験者で集めたりするの?見たことないけれど。
686デフォルトの名無しさん:2010/07/13(火) 09:24:05
1割も理解できる奴いないだろ
おそらく1%程
現場に身を置けばわかるけど国内のPGはそこまで優秀じゃない
687デフォルトの名無しさん:2010/07/13(火) 09:32:20
いや、1%は言いすぎだろ。
俺も現場に身を置いているが、国内のPGはそこまで無能じゃないと思うな。
688デフォルトの名無しさん:2010/07/13(火) 09:38:36
有名な大学出てもif,whileぐらいしか知らない国内PGのどこが優秀なんだよw
ブログなんかで情報発信出来るPGなんてほんの一握り
689デフォルトの名無しさん:2010/07/13(火) 09:50:07
有名な大学の定義が分からないけれど、
旧帝理系や早慶にif, whileぐらいしか知らない奴なんていないぞ。
690デフォルトの名無しさん:2010/07/13(火) 09:53:18
学生は所詮学生。
レベルが低いのは当たり前。
691デフォルトの名無しさん:2010/07/13(火) 10:28:56
2週間でWPF把握すんのはそうとう優秀なやつでも難しいだろw
HTML/CSSの例え話みたいなこと喋るのはできるだろうけど
692デフォルトの名無しさん:2010/07/13(火) 10:33:16
Silverlightだけどサンプルのチャート作ったときは1週間ぐらいで一応動いた.
でも基本的にXAMLはパネルの定義にだけ使って生成とかTranslateとか描画とかC#でごりごりかいた。
MVVMの綺麗な分離とか使ってあるべき姿で書けっつわれたらもっと時間かかるなー
693デフォルトの名無しさん:2010/07/13(火) 10:46:10
どんな言語にも言えることだけど、とにかく手を動かして書いてみることだよ。
まずは小さくていいからコード書いてみたら、XAMLだろうが簡単。

でもそっから、自由度高くてなんでもできるWPFおもしれーに進むか、
汎用性持たせすぎて小回り効かねーになるかは、好み次第。
694デフォルトの名無しさん:2010/07/13(火) 10:56:36
WPFアプリつくってるとき、デバッガつかってても利用出来るソースがありませんとでてどこでエラー起きてるかわからないんですけど、
みなさんはどうやって場所特定してますか?
695デフォルトの名無しさん:2010/07/13(火) 13:09:04
>>694
エラー出力に出るだろ
696デフォルトの名無しさん:2010/07/13(火) 18:08:37
言語仕様に欠陥がある上にIDEのサポートもロクにないんじゃ流行る訳ねーじゃん
2010になってちったーマシになったかも知れんが手遅れだな
697デフォルトの名無しさん:2010/07/13(火) 18:51:42
どうせ理解できなかったからXAML叩くことしか出来ないんだろ。
698デフォルトの名無しさん:2010/07/13(火) 19:01:37
treeviewにhierarchicaldatatemplateとデータコンバータを使ってフォルダ構造を
再帰的にバインディングしているんですが、こいつを動的に更新する方法ってありますか?

treeview.itemssource のbindingexpressionをupdatetarget()しても
更新されないし、treeview.selecteditemのbindingexpressionは空っぽの
ようで、方法がよくわかりません。
699デフォルトの名無しさん:2010/07/13(火) 19:39:55
>>698
動的に更新ってどういう意味?

INotifyPropertyChange実装して、ItemsSourceにバインドしてるプロパティ更新したときに
通知してやれば更新されると思うけど。
700デフォルトの名無しさん:2010/07/13(火) 20:53:14
>>699

HeirarchicalDataTemplateで階層を再帰的にバインドしており、階層の深さは
未知なため、ItemsSourceは階層データのルート要素でしかなく、子要素は
TreeViewItemがexpandしたタイミングで初めてデータコンバータを使って取得されるので、
INotifyPropertyChangedがうまく実装する方法が思いつきません。
observablecollectionをメンバに持つクラス作って、
サブディレクトリを格納してfilesystemwatcherで監視して変更あればobservablecollection
を更新とかするしかないですかねえ。。。。まんどくせー。

701デフォルトの名無しさん:2010/07/13(火) 21:04:41
しかし誰得なんだろWPFって。
難易度が高くて1%ぐらいの人間しか理解出来ないって時点で
人集まらないからたいしたの作れないってことになっちゃうじゃんね。
702デフォルトの名無しさん:2010/07/13(火) 21:17:31
>>700
基本的にはその線でいいんじゃねえの
メモリ内ツリーとファイルシステム間の通知オブジェクトはどうしたって必要に思う
703デフォルトの名無しさん:2010/07/13(火) 21:30:44
WPFのネガキャンと擁護の時が一番もりあがるな。
704デフォルトの名無しさん:2010/07/13(火) 21:43:05
XP厨が泣き叫ぶ姿を見るとうれしい
705デフォルトの名無しさん:2010/07/13(火) 21:51:02
>>697
そこ重要
理解できない人がいっぱい発生するものが普及するわけないじゃない
706デフォルトの名無しさん:2010/07/13(火) 21:53:29
それがどうしたの?
707デフォルトの名無しさん:2010/07/13(火) 21:58:33
Windows 7 Ultimate x64厨だけど泣き叫んでます
708デフォルトの名無しさん:2010/07/13(火) 21:59:26
WinFormsの出来が良すぎたんだよな
デザイナがC#のコードを生成するなどというアホな仕組みはさっさと滅ぶべきだった
709デフォルトの名無しさん:2010/07/13(火) 22:16:00
自分の頭で理解できなかったから、みんなも理解できないはずだ と?
なんで自分の無能さをアピールしてるんだろう。
710デフォルトの名無しさん:2010/07/13(火) 22:49:59
あれだろ
デザイン画面でボタンクリックしたらエディタが開いてそこ埋めていけば終りってヤツがいい
wpfはそういうんじゃないから、去れ
711デフォルトの名無しさん:2010/07/13(火) 22:53:11
>>708
C#のソースになるからわかりやすいと思うが。
xamlは同じC#のコードを書こうとすると苦労するしobject型のプロパティーがうじゃうじゃ出てきてあってるのだかよくわからないまま手探りでコード書くはめになるし。
712デフォルトの名無しさん:2010/07/13(火) 22:59:41
だから黙って去ればいいだろうw
wpfのデザイナはxamlを吐く→じゃあ使わない
なんの問題もない
713デフォルトの名無しさん:2010/07/13(火) 23:04:06
頭がWinFormsに染まってるだけだろ
未だにMFCに拘ってる化石と変わらん
714デフォルトの名無しさん:2010/07/13(火) 23:12:26
こういう奴がテキストボックスぎっしりボタンぎっしりの古き良き和製Windowsアプリを作るんだろう
715デフォルトの名無しさん:2010/07/13(火) 23:18:40
自分で使う分にはともかく、ノウハウがないから人を確保できないってのが痛い。
716デフォルトの名無しさん:2010/07/13(火) 23:54:41
でもXMLを使えばデザイナーの女性と仲良くなれる可能性もある
717デフォルトの名無しさん:2010/07/14(水) 00:14:30
キモくて仕事のできない論理性のかけらもないオッサンデザイナーとやりとりするハメになった。
  「スタイルを変えたら動かなくなった。PGrの作った部分にバグがある」
ってアホかw そんな座標完全決め打ちスタイルに変更したら、動くものも動かんわボケw

新しい技術なだけに、出来ないことを出来るといっちゃう無責任かつ無能な奴や、
長期的視点で投入されたペーペーの新人が多すぎる。
718デフォルトの名無しさん:2010/07/14(水) 00:26:28
WinFormsからWPFだと必要がなかったのもあって理解がしにくかったが
Silverlight触ったあとだとすんなりと頭に入っていった
719デフォルトの名無しさん:2010/07/14(水) 00:35:06
そのバグは俺のせいじゃねえって言い切れるのが利点
720デフォルトの名無しさん:2010/07/14(水) 00:48:16
>>700
例えば、ディレクトリツリーをTreeViewで表現したいのかな?

ルート要素とその子要素を持つデータ型をDataTemplateで指定
(例えば、ルートドライブとサブディレクトリ)
ItemsSourceには、それをバインドで問題ないと思うけど。

ExpandたどりたいならItemContainerGenerator使えばいいし。
721デフォルトの名無しさん:2010/07/14(水) 00:58:03
ああ 動的にってことか。やっと理解できた。
>>702の言う通り、ファイルシステムを監視して変更通知を授受する仕組みは必要だろうなぁ。
722デフォルトの名無しさん:2010/07/14(水) 07:05:48
WPFは流行らんだろうな。
デスクトップアプリは古くさいやりかたでFormsで作る方が主流のまんまだろ。
Silverlightだけでいいよ。
723デフォルトの名無しさん:2010/07/14(水) 07:54:23
よくはない
xamlを改善すればいいだけ
724デフォルトの名無しさん:2010/07/14(水) 09:09:21
>>720

バインディングはHierarchicalDataTemplateを使ってうまくできているんですが
ファイルシステムに変更があった時にバインディングを動的に更新したいんです。
一応上ではFileSystemWatherとObservableCollectionをもつユーティリティクラス
を考えてみましたが、アプリケーション外でのファイルシステムの変更をすべてトレースしたい
わけではなく、アプリケーション内で、フォルダの作成やリネーム、フォルダの削除を
したときに単純にそれを反映するシナリオです。
INotifyPropertyChanged や INotifyCollectionChangedでファイルシステムの
変更を通知する必要はなく、たとえば親フォルダで「フォルダの新規作成」コマンドを
実行した場合にバインディングを手動で更新するというシナリオなので、TreeViewItem
のBindingExpressionをUpdateTargetすればいいのかなと思うのですが、その方法が
よくわかりません。
725デフォルトの名無しさん:2010/07/14(水) 09:26:36
INotifyCollectionChangedはファイルシステム関係ないっしょ
データソースが更新されたことをtreeviewが知らないといけない
アプリが反映したいタイミングでデータソース(コレクションの「中身」)を
更新すりゃそれで済むような気がするけど
726デフォルトの名無しさん:2010/07/14(水) 09:33:17
twowayにしてモデルいじりゃ勝手に追加されるじゃん
何で主導で更新する必要があるの?
727デフォルトの名無しさん:2010/07/14(水) 20:29:58
XAMLはかなりいいほうだと思うけどねぇ。HTML書くのと比べれば天国ですよ。
728デフォルトの名無しさん:2010/07/14(水) 20:33:12
ある所をいじると、想定外の部品まで影響を受ける。
細かいことをしようとすると部品の詳細を把握しないと不思議挙動しまくり。
HTMLとは別な意味でシンドイ。
729デフォルトの名無しさん:2010/07/14(水) 20:54:46
TextBlockに一括適用するStyleでも作ったのかね?
細かいことをしようとすると部品の詳細を把握しなきゃいけないなんてどんな技術でもそうさ。
730デフォルトの名無しさん:2010/07/14(水) 21:57:59
アニメーションで質問があります。
VMにColor型のColorプロパティがあって、
VのとあるSolidColorBrush.Colorとバインディングしています。
ここでVMのColorプロパティを変更したとき、
SolidColorBrush.Colorを変更前の色から変更後の色にアニメーションしたいと言う場合、
どういう風に記述すれば良いんでしょうか?
731デフォルトの名無しさん:2010/07/14(水) 22:03:49
そういうプロパティをVMに置くのは良くないんじゃね
その色は色自体に意味があるんじゃなくてモデルかUIの状態を反映してるんだろ?
その状態を取得するプロパティをVMに定義して、そのプロパティをViewにバインドして
View側で色を定義するべき
732デフォルトの名無しさん:2010/07/14(水) 22:16:57
あ、そのオブジェクトのイメージカラーとかそんなんを考えてました。
確かに実際にはVMにColor型そのものじゃなくて別の形で持っておき、
IValueConverterで変換する形で持たせると思いますが。

疑問の主体はバインドされてるプロパティの変更前の値から変更後の値への
アニメーションってどうやるのかってとこなので、その辺は適当に流して下さい。
733デフォルトの名無しさん:2010/07/14(水) 22:22:25
>>732
VisualStateManager使うとかは?
734デフォルトの名無しさん:2010/07/15(木) 00:36:12
>>732
アニメーションはDependencyPropertyの世界の住人だから、VMとは関連させずに
素直にColorAnimation使った方がいいと思う。
735デフォルトの名無しさん:2010/07/15(木) 02:12:58
>>733
しばらくいじってみましたが、これも違う感じです。
紅白二色とかなら問題無さそうですが、VMの提供する色の数が不定なのでStateを書けません。
VisualStateManager内でColorAnimation.ToにBindingできないという致命的問題もあるみたいです。

>>734
VMとは関連させずってのがちょっとよく分かりません。
ColorAnimation使うのはもちろんそのつもりです。
VMの方をアニメーションしたい訳じゃなくて、VMのColorをRedからBlueに変更したときに
赤・紫・青とじわっと色が変わるUIを表現したいんです。
あ、そもそもバインディングしないで直接ColorAnimationを使えって事ですかね?

取り敢えず
カスタムコントロールで依存関係プロパティColorPropertyを用意して、
ColorChangedイベントを発生させ、そのイベントハンドラでColorAnimationをコードからBegin。
VMのColorはこのカスタムコントロールのColorにバインドさせて
SolidColorBrush.Color自体はバインドしない(ColorAnimationのTargetPropertyにする)。
という形にしてみました……。
ColorChangedをRoutedEventにすればXAMLでEventTriggerからStoryboardが使えると思ったんですが、
何故か一個前の色にしかならないというよく分からない不具合のためにお流れ。

こうした方がいいって意見をお待ちしてます。
736デフォルトの名無しさん:2010/07/15(木) 02:32:10
>>735
その方法でOKと思います。
>>730を読んだときは
VM内のColor自体を時間変化させて、連続的にNotifyPropertyChangedをFireしようとしているのかと思った…
737デフォルトの名無しさん:2010/07/15(木) 03:19:55
>>735
「何故か一個前の色にしかならない〜」ってのはイベントの起動を非同期にすれば解決できたよ。
他の Binding が値を更新する前に Storyboard が値をキャッシュしちゃうのかな?

var p = d as UIElement;
if (p != null) { p.Dispatcher.BeginInvoke((Action)(() => { p.RaiseEvent(new RoutedEventArgs(MyColor.ColorChangedEvent)); })); }
738デフォルトの名無しさん:2010/07/15(木) 07:25:15
>>737
なるほど、Dispatcher.BeginInvokeで巧く動くのを確認しました。
// ネット検索してもそれらしい情報が引っかからない……。

カスタムコントロールの代わりに添付プロパティ&添付イベントのビヘイビアに置き換えて、
EventTriggerで記述できるようになって当初の目的は達成できました。
皆さん色々アドバイスありがとうございました。
739デフォルトの名無しさん:2010/07/15(木) 12:54:11
トリガ使うんだったらEventTriggerじゃなくて最初からTriggerを使えば済むことじゃないの?
プロパティの値が変更されたらストーリーボードを実行できるけど
740デフォルトの名無しさん:2010/07/15(木) 14:41:05
Triggerはプロパティが特定の値になったかどうかは記述できるけど
とにかく変化したときって記述はできないっしょ
BlendにはPropertyChangedTriggerなるトリガがあるらしいが
741デフォルトの名無しさん:2010/07/15(木) 15:21:00
じゃあVMにColorChangedイベントを付けたら?
742デフォルトの名無しさん:2010/07/15(木) 17:09:30
BlendのExpress版情報はガセか。非常にがっかり
743デフォルトの名無しさん:2010/07/16(金) 10:47:33
Prism v2.2でVPopupしたViewをCloseしたことをViewModelに通知するのってどうすればいいんですか?
744デフォルトの名無しさん:2010/07/16(金) 13:27:17
>>60のあたりで似たような話をしているぞ
745デフォルトの名無しさん:2010/07/16(金) 16:32:26
>>744
>>60あたりはVMからVをCloseしたいって話ですよね。

UserControlをPopup用のRegionに加えてウィンドウを表示してる場合、
ウィンドウが閉じたことをどうやってViewModelに通知すればいいのかなと。
UserControlのUnloadedあたりで知らせるもんなのかな…。
746デフォルトの名無しさん:2010/07/17(土) 02:01:24
VC#2010+.NET4にてWPFの勉強をしております。
<Application ... DispatcherUnhandledException="Application_DispatcherUnhandledException">
にて未処理例外をハンドルしてみました。
ButtonのClickイベントハンドラ内から例外をthrowすると、期待通りにApplication_DispatcherUnhandledExceptionが呼ばれるのですが、
DropやPreviewDropイベントハンドラ内から例外をthrowしても、Application_DispatcherUnhandledExceptionが呼ばれません。
後者では何か特別な処理が必要なのでしょうか?
747デフォルトの名無しさん:2010/07/17(土) 02:12:02
<Grid>
(他の要素)
<StaticResource />
</Grid>
ボタンを押したらStaticResourceのResourceKeyを切替えたいとき、
コードビハインドにイベントハンドラを書いてやる手があるけど、
XAML内でやる方法ってありますか?
トリガやSetterでやるのかなと思ったけどボタン要素の外側に適用できなさそうで。
748デフォルトの名無しさん:2010/07/17(土) 02:40:31
>>746
自己レスですが、フォーラムにありました。
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a336acc8-5a29-45aa-b84a-8e235a0f838a
Drag&DropはOLEを通過するので例外が握りつぶされてしまうのですね・・・。
素直にDropハンドラで全catchします。
749デフォルトの名無しさん:2010/07/17(土) 02:45:06
うちじゃデザイナーと分業なんてしないし、
VSで全部出来た方がうれしいのに
750デフォルトの名無しさん:2010/07/17(土) 05:25:35
>>749
多分どの会社もできてないと思うよ。
751デフォルトの名無しさん:2010/07/17(土) 05:29:15
うちの会社Blend買ってくれへん
752デフォルトの名無しさん:2010/07/17(土) 07:34:22
え?開発やってるのにMSDN subscription垢を買っていないの?
753デフォルトの名無しさん:2010/07/17(土) 09:18:36
MS系の仕事はたまにしかやらないって会社の場合はsubscriptionなんて買わんだろ。
元とれんよ。

>>750
だよねー
754デフォルトの名無しさん:2010/07/17(土) 09:21:56
デザイナーは出入りしているが、デザインをそのままプログラムと合わせて動かせるわけじゃないし、
動かすことを意識した作りにしろといってもデザイナには無理。

結局はプログラマがXAMLを手であちこち直すハメになり、二度手間三度手間になっている。
755デフォルトの名無しさん:2010/07/17(土) 09:31:09
デザイナの書いたデザインをもとにプログラマが書いた方がはやい気がする。
756デフォルトの名無しさん:2010/07/17(土) 10:22:26
デザイナがいるところはそうしてるだろう
今は
757デフォルトの名無しさん:2010/07/17(土) 10:51:13
Blendでコード操作できるのだからデザイナーに全てやってもらうというのはどうか。
758デフォルトの名無しさん:2010/07/17(土) 10:52:56
Blend使うのもプログラマでしょ
759デフォルトの名無しさん:2010/07/17(土) 10:57:44
>>752
「デザイナー」っつってもそんな広告ちらしデザイナーみたいのじゃなくて
MSに出入りしてるようなデザイナーを想定してんでしょ
760757:2010/07/17(土) 10:58:19
>>752 ×
>>754
761デフォルトの名無しさん:2010/07/17(土) 11:13:19
つまり分離失敗
762デフォルトの名無しさん:2010/07/17(土) 11:37:30
そもそもBlendが使いにくい件
VSと差別化できてない
763デフォルトの名無しさん:2010/07/17(土) 12:27:45
今どきのデザイナーはHTMLやJavaScriptなどの知識は持っているから
その延長としてVSは使えるはず
764デフォルトの名無しさん:2010/07/17(土) 12:41:23
>>761
プレゼンテーション層とビジネスロジック層が密結合になってるせいで苦労した経験とかないのか?
765デフォルトの名無しさん:2010/07/17(土) 13:00:50
その為のトリガーちゃん
766デフォルトの名無しさん:2010/07/17(土) 14:24:02
分業するんだったらXAMLは本当にデザインだけにして
バインディングが必要なコントロールにはx:Nameを付けさせて
実際のバインディングの設定とかは全部コードビハインドで書いた方がいい気がする
767デフォルトの名無しさん:2010/07/17(土) 14:32:39
ダブルクリックってcommandバインディング出来ないよな?
これ、どーすんの?
ここだけイベント駆動でViewModelのメソッドを呼び出すのか?
768デフォルトの名無しさん:2010/07/17(土) 17:57:19
>>767
クリック系は部品によってはできたり出来なかったりだから仕方ない。
コードビハインドが嫌なら、ダブルクリックイベントに反応する
添付ビヘイビアを自前で実装してしまうのがスマートかな?
769デフォルトの名無しさん:2010/07/17(土) 18:15:08
任意のイベントに(コマンド)バインドするという話しは、過去にも何度かあった
過去ログ見るかぐぐるかすれば、その記事が見つかるはず
770デフォルトの名無しさん:2010/07/17(土) 18:27:40
おー、こんなのがあるのかー。
しかし一つのイベント書くのに随分と長く書く事になるんだな…。
771デフォルトの名無しさん:2010/07/17(土) 18:36:00
WPF難しいな。
覚えたらサクサク組めそうなんだけど敷居がたかすぐる。
772デフォルトの名無しさん:2010/07/17(土) 19:23:21
TabItemのContentに設定した値に対応するUIElementを取得したいのですが
どうすればいいのでしょうか?

Contentに直接UIElementを設定した場合は

var ui=(UIElement)tabItem.Content;

で取得できるのですが、
ContentTemplateを使用した場合にも使える方法を
探しています。
773デフォルトの名無しさん:2010/07/17(土) 19:27:23
ItemContainerGeneratorじゃダメなの?
774772:2010/07/17(土) 19:41:01
TabControl.ItemContainerGeneratorで
TabItem.Contentに設定される値からTabItemを取得することはできるんですが、
TabItemのコンテンツの部分に相当するUIElementも取得できるんでしょうか?
775デフォルトの名無しさん:2010/07/17(土) 19:59:24
すまん、誤読した。欲しいのはContentの値じゃなくてContentTemplateから生成されたTreeItemの子供ね。
なら、VisualTreeHelperじゃダメ?
776デフォルトの名無しさん:2010/07/17(土) 20:57:37
XAMLのMouseBindingで戻るボタン(XButton1 ??)をgestureに
関連付けるにはどうしたらいいですか?

あとXAMLエディタで MouserBingやKeyboardBindingでプロパティエディタが
全く使えなかったり、インテリセンスが効かなかったりするのはバグですか??
777デフォルトの名無しさん:2010/07/18(日) 00:13:43
View にも View のためのロジックが必要な時点で結局のところ>>759なわけだよな。
思うがままにぐにゅーんとかうにょーんとか動かしたければ結局コード書けないと辛い。

プレゼンテーション部分の実装に長けたプログラマとビジネスロジックに特化したプログラマとか
そんな程度の分離で充分ってことでしょ。
778デフォルトの名無しさん:2010/07/18(日) 00:24:49
http://pro.art55.jp/?eid=1219470
ここのコードのDataTemplate内で<TextBlock Text="{Binding}" />と省略形のバインディング
していて、これのDataContextっておそらくContentPrensenter.Contentのオブジェクトなんだろうけど、
そういうのってどうやって知るわけ?暗黙的に設定されたら訳分かんなくて困る
779デフォルトの名無しさん:2010/07/18(日) 06:50:20
msdnちゃんと読め
780デフォルトの名無しさん:2010/07/18(日) 09:38:54
パファーマンスや保守性の観点からちゃんとPath書いた方がいいよ
781デフォルトの名無しさん:2010/07/18(日) 10:02:24
MSDN読んでくれるような殊勝なデザイナーが欲しいよ
782デフォルトの名無しさん:2010/07/18(日) 10:53:50
下手すりゃ読まないプログラマーさえいるしな。無理だろ
783デフォルトの名無しさん:2010/07/18(日) 10:56:41
底辺に与えられるものではないわけだな
784デフォルトの名無しさん:2010/07/18(日) 11:32:10
マニュアルが回りくどいんだよ
目的、結果だけ書いてあればいいんだ
785デフォルトの名無しさん:2010/07/18(日) 11:47:33
情報があるだけマシ
Javaとかやってみろ
ほんとにsummaryしか書いてないぞw
786デフォルトの名無しさん:2010/07/18(日) 11:56:44
MSDN読むようなデザイナーってなるとかなり特化されたデザイナーだよねえ。
デザイナーがMSDN読んでる暇があったら他のこと勉強しててもらいたいと思うわ。
787デフォルトの名無しさん:2010/07/18(日) 12:17:17
他人に勉強を要求する前に君が学ぶべきことがあるんじゃないかな?
788デフォルトの名無しさん:2010/07/18(日) 12:24:10
ごめんなさい
789デフォルトの名無しさん:2010/07/18(日) 12:29:15
GUIデザイナーとチラシデザイナーで同じの連れてきていいのかよという
790デフォルトの名無しさん:2010/07/18(日) 12:45:07
違うの連れてくるだけの稼ぎはあるのかい?
791デフォルトの名無しさん:2010/07/18(日) 12:52:14
HTML手書きできるWebデザイナーつれてきて2週間Blend触らせたらそこそこいい線いくんじゃない。
アニメーションまではきついかもしれんが。
792デフォルトの名無しさん:2010/07/18(日) 12:59:18
>>789
GUIデザイナーってそもそもピンの職業としてなりたつのか?
チラシデザイナーとかよくてWebデザイナーぐらいだよねえ。
793デフォルトの名無しさん:2010/07/18(日) 13:01:12
つか見栄えはともかく「使いやすいUI」は設計する側がそもそも知ってないとだめだよな。
デザイナー呼ぶまえに自分で勉強しろよと。
794デフォルトの名無しさん:2010/07/18(日) 14:12:31
>>780
kwsk パフォーマンスに差があるの?
{Binding}と{Binding .}と{Binding Path=.}はどれも同じだと思っていた。
795デフォルトの名無しさん:2010/07/18(日) 15:18:48
しかしプログラマ間での意思疎通コストだって大変なのに
そこにチラシデザイナーが紛れ込んでるときのカオスって
デザイナーだからややこしいとこは免除みたいな線引きが腹立つな
796デフォルトの名無しさん:2010/07/18(日) 16:30:03
>>779
暗黙的にソースが割り当てられることを書いたページを探してるんだが見当たらない。
ページだけでも教えてくれないか?
797デフォルトの名無しさん:2010/07/18(日) 16:47:33
>>795
それならまだいいが、チラシデザイナーがXAMLを弄るとか言い出すと最悪。
中身を理解できないのに触るものだからこっちの作ったコードの破壊しかできない上、
フォローのための工数が半端ない。
798デフォルトの名無しさん:2010/07/18(日) 17:32:59
>>794

Binding Path=Textはリフレクション使うので意味ないと思うが、
Binding Path=(TextBlock.Text)とすれば名前解決の処理がなくて
パフォーマンスが上がるということだろうかね。

いずれにせよバインディングが多用されているとソースの可読性が下がって
どこで何をバインドしているのかさっぱりわからなくなってくるから、pathなんかの
要素は極力略さない方が俺もいいと思うが。
799デフォルトの名無しさん:2010/07/18(日) 20:15:04
WPFってShownみたいなイベントはどこに逝ったのさ
800デフォルトの名無しさん:2010/07/18(日) 20:26:17
>>799
Loaded
801デフォルトの名無しさん:2010/07/18(日) 20:26:20
RenderComplatedみたいなのなかったっけ
802デフォルトの名無しさん:2010/07/18(日) 20:28:22
>>798
TextBlock.TextはDependencyPropertyだからどの道(ry
ってのはさておき、Path=を書いて可読性が上がるかというと微妙なところ。
自分は全部Path=は必ず省略して一番先頭に書く様にしているけど、別段読みにくくはないと思う。

現状としてXAMLのコーディング規約的なものがないから人によって構造や書式がマチマチになりがち、
下手に省略すると読みにくいってのは分かるけど、統一さえ出来ていれば問題になるようなことはないと思う。
803デフォルトの名無しさん:2010/07/18(日) 20:43:39
styleとcontroltemplateの違いが今ひとつよく分からないんですが、どう言う風に使い
分けるもんなんですか?
804デフォルトの名無しさん:2010/07/18(日) 21:19:00
既存のプロパティを変更するのがStyle
見た目を丸ごと置き換えるのがTemplte
805デフォルトの名無しさん:2010/07/18(日) 21:19:17
Styleは部品の機能はそのままに見た目を変えるときに使う。
あくまで変更できる範囲は部品の提供している機能の範囲で、それを破壊するような変更はほぼできない。
ControlTemplateは見た目だけでなく部品の機能や内部構造までほぼ無制限に自由に変えることができてしまう。

使い分けの基準ってのは世の中一般にはないと思うけど、個人的に基本はStyle。
ControlTemplateは強力なだけに副作用も多いから極力避けた方が賢明だと思う。
例えばよくある例のようにボタンの見た目を変える程度なら問題ないけど、
元の部品の機能を加えたり変更したりした場合、そもそもそれは既にボタンじゃない、なんてことも。
どうしてもControlTemplateが必須な状況なら、まず別なコントロールor新規作成のカスタムコントロールの方が適切じゃないかを検討する。
806デフォルトの名無しさん:2010/07/18(日) 21:28:51
ControlTemplateで機能は変えない。機能は同じで見た目や実装を変えるだけ。
見た目変えるだけのためにコントロールは作るなテンプレート使えというのがWPF流。
機能を変えたいならコントロールを作る。
807デフォルトの名無しさん:2010/07/18(日) 21:43:12
おまえら、本書けよ
さっぱりわかんねぇ
808デフォルトの名無しさん:2010/07/18(日) 21:49:16
>>807
やさしく答えてやるから何が分らないか書いてごらん
809デフォルトの名無しさん:2010/07/18(日) 23:28:23
DataGridで行番号を表示させる方法を教えてください
810デフォルトの名無しさん:2010/07/19(月) 00:06:51
AlternationIndexじゃダメなの?やったことはないけど。
811デフォルトの名無しさん:2010/07/19(月) 12:29:46
情報ありがとうございます
でもどう書けばいいかわからない
空白になったり、全部0になったり・・
812デフォルトの名無しさん:2010/07/19(月) 12:58:18
DataGridTemplateColumnでDataTemplate設定すりゃいいんじゃない
813デフォルトの名無しさん:2010/07/19(月) 14:56:30
RowHeaderTemplateとIValueConverterで
DataGridRowのインデックス+1を表示すればいい
814デフォルトの名無しさん:2010/07/19(月) 15:03:35
おまえらなんだよ英語ばっかり使って
815デフォルトの名無しさん:2010/07/19(月) 15:09:54
アーハン
816デフォルトの名無しさん:2010/07/19(月) 15:20:17
だれもxamlを詳しく書いてくれないのでなんのことだかさっぱりわかりませんでした
それで下のようにしました

datagrid.LoadingRow +=
new EventHandler<DataGridRowEventArgs>(datagrid_LoadingRow);

void datagrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Header = e.Row.GetIndex() + 1;
}
817デフォルトの名無しさん:2010/07/19(月) 15:23:13
実現できたならそれでイイんだよ
818デフォルトの名無しさん:2010/07/19(月) 16:23:13
>>816
それだと、最終行がおかしくならんか?
試しに幾つか行を追加してみ
819デフォルトの名無しさん:2010/07/19(月) 18:20:40
しぇんしぇ〜

ttp://www.wpftutorial.net/PasswordBox.html

ここみてPasswordBoxの実装をしてるんだけど
PasswordHelperから値を読み出すにはどうするのん?
820デフォルトの名無しさん:2010/07/19(月) 20:45:19
>>818
ご指摘ありがとうございます
行を追加することないんでこれでもOKです
というか、他の方法がわかりませんwwww
821デフォルトの名無しさん:2010/07/19(月) 23:07:24
>>820
ttp://codepaste.net/oc1reh

Converterは自分で実装してくれ
822デフォルトの名無しさん:2010/07/19(月) 23:33:41
>>819
これおすえて…
823デフォルトの名無しさん:2010/07/19(月) 23:37:58
値を読み出すって何?
バインディングするんでなけりゃPasswordBox.Passwordを直接見るだけでしょ
824デフォルトの名無しさん:2010/07/19(月) 23:42:05
>>823
ViewModelと絡めるにはどうするのがベストなの?
スタティックだから他のWindowかなにかに同じようにバインドしたら値がごっちゃにならないかな?
825デフォルトの名無しさん:2010/07/20(火) 00:25:40
> スタティックだから
まず依存プロパティを理解すべし
826デフォルトの名無しさん:2010/07/20(火) 02:42:46
うーん、やっぱりわかんない
>>819は添付プロパティを使ってPasswordBoxのPasswordの値をバインドしてるのよねん
んでそれをViewModelとスマートに組み合わせる方法がよくわかんない

もしかしてこれをViewModelに持ってきてどうこうするには
ViewのXAML側でxmlns:vm="clr-namespace:MyProject"として
vm:ViewModel.Password = "{Binding なんとか}"
ってするの?
それとも添付プロパティをstatic定義しなくていい方法がある?

依存プロパティでどうPasswordの内容をXAML上で受け取るのかがわからない…
827デフォルトの名無しさん:2010/07/20(火) 07:18:30
理解してから出直せ。
> スタティックだから他のWindowかなにかに同じようにバインドしたら値がごっちゃにならないかな?
staticなclassでも、「staticな変数」を持っていないなら問題は起こり得ない。
828デフォルトの名無しさん:2010/07/20(火) 07:41:52
解決したー
>>819のヘルパーの動きをよく見たら何でもなかったでごわす
829デフォルトの名無しさん:2010/07/20(火) 10:37:16
MVVMにこだわる人ってほんとにVMの単体テストとかやってんの?
View使ってテストするんだったらMVVMなんて何の意味もないわけだけど
830デフォルトの名無しさん:2010/07/20(火) 12:27:05
こだわるというか標準の形なんだから逆にMVVMを否定してる方がこだわってるだろな
831デフォルトの名無しさん:2010/07/20(火) 14:09:38
MVVMを徹底しようとすると余計に工数掛かるから中途半端につかってるなぁ
832デフォルトの名無しさん:2010/07/20(火) 15:17:10
工数にこだわりがあるんですね
833デフォルトの名無しさん:2010/07/20(火) 17:27:24
>>832
こだわりというより絶対的なものじゃないか?
834デフォルトの名無しさん:2010/07/20(火) 17:32:28
工数なんてどんぶりですよ。
依頼元もわかってねえからちょいちょいとふえるし。
835デフォルトの名無しさん:2010/07/20(火) 18:24:34
WPFって本来コードビハインド書くのが前提だぞ
少なくともWPFのフレームワークレベルでMVVMがサポートされてるわけじゃないから標準と呼ぶのは無理がありすぎ
836デフォルトの名無しさん:2010/07/20(火) 19:02:07
依存プロパティってビベイベアやカスタムコントロール作る時しかつかわねぇよな?
837デフォルトの名無しさん:2010/07/20(火) 21:34:03
>>835
お前の中ではそうなんだろう
838デフォルトの名無しさん:2010/07/20(火) 21:36:09
じゃあWinFormsではMVCで作らないといけないのかよ
WPFやWinFormsが担当するのはViewの部分だけであって他は関係ない
839デフォルトの名無しさん:2010/07/20(火) 22:07:40
MS自身がMVVM推奨するような事やってるわけだが
それでも標準じゃないと思うのなら、お前の中ではそうなんだろう。
840デフォルトの名無しさん:2010/07/20(火) 22:49:34
どの程度までコードビハインドと呼ぶかの齟齬のような気がする
841デフォルトの名無しさん:2010/07/20(火) 22:55:51
コードビハインド書いたら負けとかやってる人は流石にどうかとは思うけどね。
適当なところで折り合いつけたらいいとは思うわ。


842デフォルトの名無しさん:2010/07/21(水) 00:52:05
コードビハインド書いたら負け
負けでなくとも勝ちには程遠い
843デフォルトの名無しさん:2010/07/21(水) 01:07:00
つまらん煽りだな
844デフォルトの名無しさん:2010/07/21(水) 13:11:49
やっぱりちょこちょこっとビューに手続き書きたいよね
故JavaFXがUI記述にスクリプト言語を使ってたのも理解できなくはないな
845デフォルトの名無しさん:2010/07/21(水) 13:22:40
故WPFの真似だけは避けたかったんだろうね
846デフォルトの名無しさん:2010/07/21(水) 15:19:03
モデルに結びつかない動作はMVVMにする必要はないんじゃないかな。
847デフォルトの名無しさん:2010/07/21(水) 17:10:25
>>821
Converterひとつ満足に作れませんでしたwwww orz
848デフォルトの名無しさん:2010/07/21(水) 21:32:16
前も書いた気がするけど、blend4にMVVMサポート付くってね
これが標準になんのかな
849デフォルトの名無しさん:2010/07/21(水) 21:34:54
お前らタスクトレイのアイコン表示実装したい時どうしてる?
俺今自作中なんだ。
850デフォルトの名無しさん:2010/07/21(水) 21:40:28
blend4っていつはつばい?
851デフォルトの名無しさん:2010/07/21(水) 21:48:11
あれ?
英語版blend4ってもう出てるみたい
6/30くらい?
852デフォルトの名無しさん:2010/07/21(水) 21:50:56
発売は秋
評価版は日本語版もとっくに出てる
Studio3をインスコしてるPCに入れれば正規版として認証される
853デフォルトの名無しさん:2010/07/21(水) 21:51:42
日本語版は今日リリースされたよ
854デフォルトの名無しさん:2010/07/21(水) 22:16:40
>>849
一つはFormsのものを利用する方法。
もうひとつはCodeProjectに転がっている純WPFのタスクトレイ・ライブラリを利用する方法。
私は後者を使っている。
855デフォルトの名無しさん:2010/07/21(水) 22:49:10
>>849
俺はWinFormsのやつ使ってる
856デフォルトの名無しさん:2010/07/21(水) 22:51:52
>>854
どれ?
857デフォルトの名無しさん:2010/07/21(水) 22:56:46
858デフォルトの名無しさん:2010/07/21(水) 23:18:44
自作のコントロールをxmlns:h="http://www.hage.hoge/unko"みたいにURI表記なのはどうやるの?
859デフォルトの名無しさん:2010/07/21(水) 23:19:36
>>857
>>849やら>>856ではないけれどありがとう、自作のがゴミみたいだわ
860デフォルトの名無しさん:2010/07/21(水) 23:28:04
>>858
XmlnsDefinitionAttribute 属性
ちなみに利用者側が勝手にこの属性を定義することはできない。
861デフォルトの名無しさん:2010/07/21(水) 23:58:41
>>857
それ拡張機能マネージャから拾ってこれて便利だよね
862デフォルトの名無しさん:2010/07/22(木) 09:54:35
DataGridで頻繁に数値が変化するデータを表示し、変化するたびにソートさせています
数値が変化するたびにSortDescriptionsをclearして再設定することでソートさせています

約1000データくらい扱いたいのですが、データ数高々20程度でCPU10%くらい消費しているので不安です
もっとスマートなやり方はないでしょうか?
863デフォルトの名無しさん:2010/07/22(木) 10:41:47
>>857
なにこれすごい

そういえばWPF定番のグラフコントロールって何?
SilverlightはToolsに入ってるけどWPFはないよね…
864デフォルトの名無しさん:2010/07/22(木) 10:56:25
最近のWPF Toolkitにはchart入ってるよ
WinForms用でもいいならMicrosoft Chart ControlsをWindowsFormsHostで使ってもいい
865デフォルトの名無しさん:2010/07/22(木) 14:57:29
ttp://wpf.codeplex.com/releases/view/40535

ここみるとまだPreviewみたいだけど使って大丈夫なのかな?
あとPreviewなコンポーネントはツールボックスに表示されないのはなんでだろう?
どうやって使うんだろう?
むー
866デフォルトの名無しさん:2010/07/22(木) 15:17:18
>>860
ありがとう
867デフォルトの名無しさん:2010/07/23(金) 19:00:20
先生!
DataGridRowのビヘイビア(中身はイベントの設定解除)ってどうやって設定すればいいのでしょう??

TextBlockであれば
<TextBlock b:Behavior.Command = {Binding}" />
Buttonであれば
<Button b:Behavior.Command = {Binding}" />

というように直接エレメントに挿入するだけなんですが
DataGridRowだとどこにどう設定すればいいのかわかりませぬ…。

ちなみに<DataGrid><DataGridRow b:Behavior.Command = {Binding}" /></DataGird>
とすると例外が飛んできました!
868デフォルトの名無しさん:2010/07/23(金) 20:50:46
>>867
DataGrid.RowStyle
869デフォルトの名無しさん:2010/07/24(土) 11:50:13
ハードウェアアクセラレータを無効にする設定とかメソッドってないでしょうか?
VisualStudioの視覚効果のオプションみたいに個別に設定できるようにしたいのですが。
870デフォルトの名無しさん:2010/07/24(土) 13:08:09
871デフォルトの名無しさん:2010/07/24(土) 13:58:57
>>870
ありがと。
872デフォルトの名無しさん:2010/07/27(火) 17:34:03
WPFでゲームを作ろうと思い、試しにCanvasオブジェクトのChildrenに
Xamlファイルから読み込んだものをAddしたのですが、
どうも同じオブジェクトを追加しようとすると例外が発生するらしいのです。
ファイルを逐一読み込ませれば可能ではありますが、それでは効率が悪いので避けたいです。
何かいい方法ありませんか?
873デフォルトの名無しさん:2010/07/27(火) 18:47:02
同じオブジェクトならキャンセルすればいいんじゃねーの
874デフォルトの名無しさん:2010/07/27(火) 19:14:21
>>873
例えばザコ敵なんかだと、同じオブジェクトを使う必要がどうしても出てきます。
875デフォルトの名無しさん:2010/07/27(火) 19:17:57
も一度読めば可能なら、XAMLをMemoryStreamにでも読んで使いまわすと買ってできないの?
876デフォルトの名無しさん:2010/07/27(火) 19:24:54
例外のメッセージくらい貼って欲しいもんだ
877デフォルトの名無しさん:2010/07/27(火) 22:01:24
いちいちnewしてからAddすれば問題ないと思うんだけど
878デフォルトの名無しさん:2010/07/27(火) 22:37:15
Templateにして量産すればいいじゃない
879デフォルトの名無しさん:2010/07/27(火) 23:02:06
マウスを動かすとテーブルから落ちてしまいます並に頭の痛くなる質問だなあ
880デフォルトの名無しさん:2010/07/27(火) 23:28:15
テキストの縦書きの方法を教えてください。
881デフォルトの名無しさん:2010/07/27(火) 23:41:55
>>880
つ <ListBox ItemsSource="文字列"/>

っていうか、ググれ
882デフォルトの名無しさん:2010/07/27(火) 23:45:39
オフスクリーンでレンダリングしたいのです
883デフォルトの名無しさん:2010/07/28(水) 00:03:40
好きにしろ。許可する。
884デフォルトの名無しさん:2010/07/28(水) 00:25:56
>>872
Xamlファイルから読み込みってことは、XamlReader.Load()を使ってるんだよな?

「ファイルを開いておいて、Load()を必要時に呼んで作成」という手を取りたいものだが、
XamlReader.Load()をしたあとに自動的にファイルが閉じられてしまうようなので無理っぽいね
かといってクローンメソッドも多分ないから、ファイルの内容を一旦文字列として
保存しておいて、そこから随時オブジェクトを新たに作り出す方法がいい

StringReader sr = new StringReader(str); //str:ターゲットのXAMLファイルの内容
XmlReader xr = XmlReader.Create(sr);
//Hoge:読み込みたいXAMLオブジェクトの型
Hoge newObj = (Hoge)XamlReader.Load(xr);

こんな感じ。
885デフォルトの名無しさん:2010/07/29(木) 02:04:37
部品がどのイベントをいつどのような順序で発火させるか記したドキュメントはありませんか?

入力エラー時にロストフォーカス禁止を試行錯誤で何とか実現したのですが
フォーカスとMouseCaptureを色々駆使したために
LostKeyboradFocusとかLostMouseCaptureなどのイベントの発火順序にベッタリになってしまい
その発火順序の仕様が分からないと動くことが保証できない状態になってしまいました。
886872:2010/07/29(木) 10:37:42
>>884
うまくいきました!
文字列から作り出せばよかったのですね。
ありがとうございました。
887デフォルトの名無しさん:2010/07/30(金) 12:34:57
treeviwのスタイルで、ターゲットタイプをtreeviewitemに、トリガーで
ismouseoverの時にbackgroundを指定して、マウスの乗ったツリーの背景色を変え
るようにしていますが、ismouseover(mouseenter イベント??)が親にバブルアップしてしまうようで、親ツリーの色まで変わってしまいます。こい
つを、routedeventのhandledのように抑止する方法はありませんか?
888デフォルトの名無しさん:2010/07/30(金) 13:30:43
889デフォルトの名無しさん:2010/07/30(金) 15:14:45
>>888
thanx!
ドンピシャです。結構めんどくさいんですね。
890デフォルトの名無しさん:2010/08/02(月) 03:14:58
MEF使うとPrismっぽい事が出来るようになるんだけど一つ疑問が…

プロジェクト間の通信はどうやるのかわかる方いらっしゃいますか?
891デフォルトの名無しさん:2010/08/02(月) 06:27:27
プロジェクト間通信でググれ
892デフォルトの名無しさん:2010/08/02(月) 06:54:35
LocalMessageSenderの事?
893デフォルトの名無しさん:2010/08/02(月) 07:10:24
Import, Exportすりゃいいんじゃね
894デフォルトの名無しさん:2010/08/02(月) 07:12:52
ふむふむ
そういえば、Many付けないImportっで複数からExportされたらどーなるの?
例外がでる?
895デフォルトの名無しさん:2010/08/02(月) 07:22:16
例外出たぷ
896デフォルトの名無しさん:2010/08/02(月) 08:55:54
MEFはAppDomain分けない仕組みだろ
普通にdll参照したりするのと一緒
897デフォルトの名無しさん:2010/08/02(月) 18:41:43
WPF4で、MS UI Gothicを3.5SP1と同じようなアンチエイリアスで
表示するにはどうしたらいいの?

TextOptions.TextFormattingMode
TextOptions.TextRenderingMode
両方弄ってみたけど、細いフォントが表示されるだけで、
以前のもわってしたフォント表示にどうしてもならない。
898デフォルトの名無しさん:2010/08/02(月) 20:19:08
うーん、補間モードのせいかな?
WPF 4 で RenderOptions.BitmapScalingMode のデフォルト値が変わったはずなんで。
899デフォルトの名無しさん:2010/08/03(火) 12:52:22
>>898
ありがとう。
結局あきらめました。
いろいろオプションあってよくわかんないな。

XPがなければMeiryo UIで作るんだけど
みんなどんなフォント使ってるんだろう?
900デフォルトの名無しさん:2010/08/03(火) 12:56:39
テキストを縦書きする方法を教えてください
901デフォルトの名無しさん:2010/08/03(火) 13:33:22
これから新スタンダードを目指すメイリオ、メイリオUIを何でXP強制インストールにしなかったんだろ
日本MSだけの問題だから判断力に乏しかったのかな
.NET3.5のMSゴシックは酷かったけどメイリオならきれいに表示できたしなあ
902デフォルトの名無しさん:2010/08/03(火) 14:22:18
Vistaが馬鹿売れすると思ったんだろ
903デフォルトの名無しさん:2010/08/03(火) 15:57:08
>>901
MSが強制すると文句言う人がたくさんいるから。通信費とかディスクの容量とか、関係ないアプリの互換性まで保証しろって言う人が結構いる。
904デフォルトの名無しさん:2010/08/03(火) 16:07:53
つまらんこと強制するわりに
くだらないこと気にするんだな
905デフォルトの名無しさん:2010/08/03(火) 17:03:11
ボタン押下時に設定したBackGroundじゃなくて普通のボタンのあれに変わってしまう…
これをBackGroundのままにしたいんですけどどうすれば…
906905:2010/08/03(火) 18:26:21
Labelで代用しました
Verticalなんとかプロパティつかって…
907デフォルトの名無しさん:2010/08/04(水) 01:04:00
>>905
ControlTemplateでボタン押下時のトリガーのBackgroundも指定すればいいかと。
もっと手軽な解決方法がないかと思うけど。
908デフォルトの名無しさん:2010/08/05(木) 01:34:43
カスタムコントロールを作ったときに
デザイナで触らせたくないプロパティを非表示にするにはどうしたらいいのでしょうか?
909デフォルトの名無しさん:2010/08/05(木) 07:12:22
BrowsableAttributeじゃない?
910デフォルトの名無しさん:2010/08/05(木) 21:52:08
LightSwitch は SilverLight を取ったみたいね・・・orz
911デフォルトの名無しさん:2010/08/05(木) 23:33:59
デスクトップ向けに発行したらWPFじゃないの?
と思って公式サイトのスクリーンショット見たらSilverlightのOOBっぽいタイトルバーアイコンがw
WPFオワタ
912デフォルトの名無しさん:2010/08/06(金) 01:47:14
なんでListViewにグリッド線引けないの
913デフォルトの名無しさん:2010/08/06(金) 11:21:40
>>912
グリッドはWindowsForms見たいにプロパティで制御するのではなく、自分でXAMLなりで描画しないとだめ。
914デフォルトの名無しさん:2010/08/06(金) 13:19:33
>>913
めんどくさいし、ソース見辛くなるから嫌なんだよね
大人しくGridView使えってことかな・・・
915デフォルトの名無しさん:2010/08/06(金) 15:56:49
Menuの同一階層に 固定的なメニューやセパレータと、データバインドによって
展開されるメニューとを同居させるにはどうしたらいいんでしょうか?
固定アイテムがあると、ItemsSouce-DataTemplateは無視されてしまいます。
916デフォルトの名無しさん:2010/08/06(金) 20:28:07
>>914
WPF4 入れたら DataGrid あるよ。
917デフォルトの名無しさん:2010/08/07(土) 08:35:37
>>915
CompositeCollectionは?

>>916
DataGridのグリッド線表示はデバッグ用だからやっぱり自分で描画する必要がある
918デフォルトの名無しさん:2010/08/07(土) 09:58:17
>>917
おおお!こんなクラスがあるんだ?
早速試してみる。
919デフォルトの名無しさん:2010/08/07(土) 10:34:49
>>917
DataGrid と Grid は別物だよ。
920デフォルトの名無しさん:2010/08/07(土) 10:37:24
ないすセンタああああああああああああああああああ
921デフォルトの名無しさん:2010/08/07(土) 10:37:31
誤爆
922デフォルトの名無しさん:2010/08/07(土) 16:50:06
大分ListViewで作っちゃってるけど、DataGridへの移植は簡単かな?
923デフォルトの名無しさん:2010/08/08(日) 23:24:34
CRLオブジェクトのインスタンスをバインディングソースにする場合、XAMLから
参照できるようにするにはDataContextに設定するほかありませんか?
924デフォルトの名無しさん:2010/08/08(日) 23:29:35
ネームスペースを定義してXAML中でインスタンスを定義する。
<clr:Double x:Key="doubleValue">123.456</clr:Double>
925デフォルトの名無しさん:2010/08/08(日) 23:36:22
staticプロパティにすればいい
926デフォルトの名無しさん:2010/08/08(日) 23:37:14
あとコードからリソースディクショナリに突っ込んでもいけるはず
927デフォルトの名無しさん:2010/08/08(日) 23:53:34
>>924
これはリソースの中に定義ということですかね。

>>925
なるほど、staticならx:staticで参照可能ですね。

>>926
なるほど、その手もあるのか。
この場合リソース参照はDynamicResource参照でないと、
コードでオブジェクトを変更した場合、追随しませんかね…。
INotifyPropertyChange実装したオブジェクトならオブジェクト参照が
変わらない限り、プロパティの変更には付いてくるんでしょうかねえ…。
試してみよう。
928デフォルトの名無しさん:2010/08/09(月) 00:14:10
>>926

インスタンスの参照をコードからリソースディクショナリに追加したら
OKでした。INotifyPropertyChangedを実装したオブジェクトインスタンスなら
プロパティの変更にはStaticResource参照でもちゃんと追従してくれました。

ただ、リソースディクショナリに突っ込むのはMainWindowのコンストラクタで
InitializeComponent()メソッドの前でないと、リソースがみつかんねーよって
怒られてしまいますが…。

XAMLからなんでインスタンスメンバを参照する簡便な方法が提供されないんですかねえ。
MainWindowのメンバについては{this:}キーワードで参照できるようにすれば、
結構楽な場面って多いような気がするんですが。
929デフォルトの名無しさん:2010/08/09(月) 00:29:55
elementname
930デフォルトの名無しさん:2010/08/09(月) 07:36:30
>>929
>elementname
elementname=MainWindow, Path=...で参照できるのは、子要素のFramewokElement
だけみたいです。
931デフォルトの名無しさん:2010/08/09(月) 07:53:04
DataContextに突っ込んどいたら?
932デフォルトの名無しさん:2010/08/09(月) 09:19:49
>>931
DataContextでどうも参照できないケースがあるみたいなんです
たとえば MSDNのCompositeCollectionの例のように
Listbox.ItemsSourceの中に
<CompositeCollection>
<CollectionContainer Collection={Binding} />
</CompositeCollection>
というのをおいた場合、このバインディングはListBoxのDataContextを参照してくれず
バインディングは失敗します。

DataContextを参照できるのは、子要素のFrameworkElementだけなんですかね・
上記のやつをリソース参照で
Collection={Binding Source={StaticResource ...}}
とすれば、ちゃんとバインディングしてくれます
933デフォルトの名無しさん:2010/08/09(月) 10:54:10
アクセサ使えばいいじゃん
934デフォルトの名無しさん:2010/08/09(月) 18:27:57
ObjectDataProvider ってのもあるよ。
935デフォルトの名無しさん:2010/08/12(木) 11:29:07
WPFのWindow内のコントロールの列挙って、どうやるの?
WinFormのthis.Controlsみたいなの。
936デフォルトの名無しさん:2010/08/12(木) 12:35:02
VisualTreeHelper
937デフォルトの名無しさん:2010/08/12(木) 13:59:20
>> 936

できた。ありがとー

private void Hoge(DependencyObject dobj)
{
if (VisualTreeHelper.GetChildrenCount(dobj) == 0)
{
Console.WriteLine(dobj.ToString());
return;
}
else
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(dobj); i++)
{
DependencyObject dobjchild = VisualTreeHelper.GetChild(dobj,i);
Hoge(dobjchild);
}
}
}
938デフォルトの名無しさん:2010/08/14(土) 09:22:39
VisualStudio2010ではまだxamlのリファクタ機能はないんですかね?
TextBoxを一個準備して、xamlの方の Name を変更してもプロパティーウインドウの方の名前を変更しても
コードの自動変更がしてくれない・・・
デザイナは2008よりだいぶ良くなったんだけど
939デフォルトの名無しさん:2010/08/14(土) 09:47:41
xamlエディタのインテリセンス関係はまだまだだねえ。俺はリソースの参照や
x:Staticの参照でインテリセンス効かないのとかも、いちいち面倒でイライラする。
940デフォルトの名無しさん:2010/08/14(土) 10:07:50
<ListView GridViewColumnHeader.Click="columnClick">
<ListView.View>
<GridView>

<GridViewColumn />
<GridViewColumn />

</GridView>
</ListView.View>
</ListView>

GridViewColumnHeader.Clickのインテリセンス効かないのがムカつく
941デフォルトの名無しさん:2010/08/14(土) 21:36:16
それどころかwindowをnavigationwindowにしたい時にもインテリセンスが効かないよね

いつになったら実用ver出してくれるのかなあ
942デフォルトの名無しさん:2010/08/14(土) 21:52:45
vs2010スレに誤爆しちゃったw

エッセンシャル読め読めって書いてあるから立ち読みしてきた


WPFが出来た理由が書いてあったけどあれ本当なの?
ビルゲイツが4つのテクノロジー(GDI、Ruby、MSHTML、form)の開発者に給料を払い続けたくないからって?
943デフォルトの名無しさん:2010/08/14(土) 22:39:42
言い方悪いけども、
「統合されてしまえば必要なくなるような、ばらけたスキルが必要とされるのは非効率だ。
統合されなくてはいけない。」
というようなニュアンスならほんとにそういう発言してそうだなぁ。

MS の目指すところは開発者の負担を下げることで、
そのためには1つのスキルで色々できるってのもきわめて重要なので。
944デフォルトの名無しさん:2010/08/14(土) 23:49:49
目的に合わせて適した言語を選べ、なんて馬鹿げた宗教がこの世からなくなるならよいことだ
どれでもできるんだから、言語は少しあればいい
945デフォルトの名無しさん:2010/08/15(日) 00:22:28
などと意味不明な供述をしており、捜査本部は更に厳しく余罪を追及していく方針です
946デフォルトの名無しさん:2010/08/15(日) 01:55:56
>>942
ゲイツはほとんどWPFに関して口出してないだろ、時期的に。
947デフォルトの名無しさん:2010/08/15(日) 04:24:48
>>946
WPFの草案がいつからあったかわかって言ってるの?
948デフォルトの名無しさん:2010/08/15(日) 04:58:41
ゲイツはこんなちまちましたことには関心を持たない
OSの統合が成功したあたりでコンピュータそのものへの関心を失ってるよ
949デフォルトの名無しさん:2010/08/15(日) 07:24:28
2001年にWPF開発計画を発表

 事実、Silverlightプロジェクトが開始したのは、マイクロソフトがWPFの開発計画を発表した2001年のことだった。
WPFはWPF/Eの前身となる技術である(WPF/EはSilverlightのコードネームだった)。
950デフォルトの名無しさん:2010/08/15(日) 10:02:00
おまえらWPFエッセンシャルの序文読めよ
ちゃんと書いてあるだろうが!
951デフォルトの名無しさん:2010/08/15(日) 10:08:27
持ってないから引用してけれ
952デフォルトの名無しさん:2010/08/15(日) 10:12:58
WPFは最初はAvalonって呼ばれてたんだよ

確かにエッセンシャルに 経営者(Bill Gates)って書いてあるよ
微妙に被っててどれも最新技術(DirectX)が使えない

で、統合しようとして失敗して4個のグループが5個になっちゃった
953デフォルトの名無しさん:2010/08/15(日) 10:35:00
まえがきより
> From a purely selfish
> point of view, Microsoft management (well, I’ll name names: Bill Gates)
> was tired of paying four teams to build largely overlapping technologies.

著者がpurely selfish point of viewと言ってることなので
本当かどうか詮索する意味は全くないのだけど
重複の多いテクノロジに並行してリソースを投入するのは
ユーザだけでなく経営者にとってもメリットが小さいからゲイツが一本化しようとするのは当然だぬ

ちなみにRubyというのは
> Visual Basic’s UI model, internally called Ruby, ...
> 1. This code name has no relationship to the Ruby programming language.
954デフォルトの名無しさん:2010/08/15(日) 13:13:36
こりゃWPFとSLの一本化もあるかな
955デフォルトの名無しさん:2010/08/15(日) 13:16:55
SLの制約がなくなってWPFと等価になるのなら一本化してもいい
956デフォルトの名無しさん:2010/08/15(日) 17:37:54
確かにその方がいいけどさ、
一つのものを二つにわけたのに…
頭おかしいの?
957デフォルトの名無しさん:2010/08/15(日) 18:42:03
4つだったものが6つになってるわけで…
958デフォルトの名無しさん:2010/08/15(日) 21:02:25
ポケットの中にはビスケットが一つ
959デフォルトの名無しさん:2010/08/16(月) 01:35:46
そうきたか
960デフォルトの名無しさん:2010/08/16(月) 01:39:38
あれって叩くたびにビスケットが割れてその欠片を数えてるんだ
食糧不足時代にできた悲しい歌なんだよ
961デフォルトの名無しさん:2010/08/16(月) 02:45:14
叩き続けると何個まで増えるかなっていう量子論の歌だぞ
962デフォルトの名無しさん:2010/08/16(月) 13:13:41
WPFはいらない子
963デフォルトの名無しさん:2010/08/16(月) 23:16:31
そんなにおっきいのはいらない///
964デフォルトの名無しさん:2010/08/17(火) 12:40:20
http://msdn.microsoft.com/ja-jp/library/ms748978.aspx
をみると、「WPF は、Button、MenuItem、ListBoxItem などの ICommandSource
を実装するさまざまなクラスを提供します…ListBoxItem は、ダブルクリック
されるとコマンドを呼び出します」って書いてあるけれど、ListBoxItemって
コマンドソース実装してませんよね???
MSDNの間違いですか?

965デフォルトの名無しさん:2010/08/18(水) 10:18:35
Prismで、同一モジュール内のViewModel同士の通信ってどうやるのがセオリーなんでしょうか?
せっかくの疎結合にしてるのに、他のViewModelの参照をもつのなぁと思うんですが、
わざわざEventAggregator使うのもなぁと思いまして。

EventAggregator使えばいいんですかね。

966デフォルトの名無しさん:2010/08/18(水) 10:25:39
>>962
でもwinformで凝ったことをやろうとするとかなりしんどいんだよね・・・
967デフォルトの名無しさん:2010/08/18(水) 11:27:38
凝ったことなんて年に1度あるかないか
968デフォルトの名無しさん:2010/08/18(水) 12:16:14
そんなに頻度高いなら使うべき
969デフォルトの名無しさん:2010/08/18(水) 20:03:52
sxeの依存ライブラリをチェックして、Client Profileで動くかどうかを
簡単に判別するツールってないでしょうか?
970デフォルトの名無しさん:2010/08/18(水) 20:08:10
sex
971デフォルトの名無しさん:2010/08/22(日) 21:12:25
次スレ立てました
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part7
http://hibari.2ch.net/test/read.cgi/tech/1282479113/
972デフォルトの名無しさん:2010/08/24(火) 07:17:55
WPF 用の RiibbonControlsLibrary がこの間リリースされたけど、VSがクラッシュする…。
Express Edition がダメなのか、それともRibbon バイナリがダメなのか…。
おそらくExpressだからだろう…。
973デフォルトの名無しさん:2010/08/24(火) 16:08:29
ビブリボンか、なつかしいな。
974デフォルトの名無しさん:2010/08/24(火) 16:18:23
WPF使うならSilverlight 4 Toolkitのインストールは必須
ついでにWPFデザイナも更新される
975デフォルトの名無しさん:2010/08/25(水) 05:28:53
RibbonControlsLibrary が Express Edition でも使用できた。
MS の発行したサンプルだとうまく使えたので、単に私のコーディングが悪かっただけのようだ。

これで一応使えるのを確認できたのでよかったよかった。
976デフォルトの名無しさん:2010/08/25(水) 09:49:01
Ribbonに興味があるんだけど、結局使い道が見つからないというか。
クライアントから邪魔とか言われそうな予感w
977デフォルトの名無しさん:2010/08/26(木) 21:27:18
リボン使いづらいじゃん
オフィスで操作方法はわかるけど、どれがそのアイコンか見分けがつかない場合があって疲れる

試せばわかるのになんで見切り発車したんだろうか?
978デフォルトの名無しさん:2010/08/26(木) 21:33:26
いつものことじゃねえかw
979デフォルトの名無しさん:2010/08/26(木) 22:14:47
リボンなんかよりVSで使ってるドッキングパネルをタダでくれよな〜
980デフォルトの名無しさん:2010/08/26(木) 22:35:44
実際のところ、Officeくらい機能多くなるとRibbonみたいなUIないと全機能見れないからなぁ。
あの規模のアプリになると有効だと思う。

あと、開発者向けとビジネス向けの嗜好はかなり違うことも忘れちゃダメだろ。
非開発者向けツールが軒並みRibbonになってる一方で、
VSは絶対Ribbonにはならないと思うし。
981デフォルトの名無しさん:2010/08/27(金) 08:12:18
>>977
リボンは慣れると、単にアイコンがどわーっと並んでいるより使いやすいと思う
けどな。操作系の多いuiを作るとリボンを選択したくなる。リボンの問題は表示領域
を取りすぎることかな。ディスプレイが縦なら悪くないと思うんだけど。
982デフォルトの名無しさん:2010/08/27(金) 09:31:01
>>980
リボンはいちいちタブ?を切り替えないといけないのはめんどくさい
どのタブに何があるか覚えておかないといけないし

ツールバーだったら必要なものを常に表示出来てたのに、作業効率が悪くなった…
ツールバーだけ復活させてくれないかなあ
983982:2010/08/27(金) 09:34:50
>>981あての間違いでした
すみません

表示域はリボンを最小にして使ってる
WIN7のタスクバーのアイコンも小さくしたけど狭い

使う人のための改良ではなく見栄えの良さだけの変更はやめてほしい
984デフォルトの名無しさん:2010/08/27(金) 09:47:25
0
985デフォルトの名無しさん:2010/08/28(土) 01:08:52
1
986デフォルトの名無しさん:2010/08/28(土) 01:09:51
2
987デフォルトの名無しさん:2010/08/28(土) 01:16:18
1
988デフォルトの名無しさん:2010/08/28(土) 01:16:47
止めろ
989デフォルトの名無しさん:2010/08/28(土) 09:06:52
http://msdn.microsoft.com/ja-jp/library/cc872780.aspx
リボンはツールバーを置き換えない
MSも適材適所で使えといっている
VSのような「上級者ユーザー向け」ソフトではツールバーを使えとのことだ
990デフォルトの名無しさん:2010/08/28(土) 09:22:19
VSじゃツールバーなしにしてるし
メニューバーはAlt押さないと出ないようにしてるし
いまどきツールバーもメニューバーも基本はなしでいいと思うよ
991デフォルトの名無しさん:2010/08/28(土) 09:32:21
>>982-983
はげしくどうい
992デフォルトの名無しさん:2010/08/28(土) 09:44:07
officeは上級者ユーザー向けではないとな…
993デフォルトの名無しさん:2010/08/28(土) 09:47:59
そうだよ
994デフォルトの名無しさん:2010/08/28(土) 10:03:08
リボンはメニューの置き換えでツールバーは消えた
パレット代わりといえるツールバーがなくなったのは痛い

>>990
F5押してるの?
995デフォルトの名無しさん:2010/08/28(土) 10:11:41
OSの方ではクラシックメニューとか残してるのに
Officeの方は完全にリボンのみにしてしまったのはアホかと
996デフォルトの名無しさん:2010/08/28(土) 11:12:51
997デフォルトの名無しさん:2010/08/28(土) 11:13:50
998デフォルトの名無しさん:2010/08/28(土) 11:14:46
999デフォルトの名無しさん:2010/08/28(土) 11:15:27
1000デフォルトの名無しさん:2010/08/28(土) 11:16:45
次スレ立てました
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part7
http://hibari.2ch.net/test/read.cgi/tech/1282479113/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。