WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part7
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/08/22(日) 21:11:53Windows Presentation Frameworkについて語るスレ。
パワフルで柔軟すぎるのが敗因か? 正直ついていけないよね…。
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, .NET4.0)GUIプログラミング Part6
http://hibari.2ch.net/test/read.cgi/tech/1274423236/
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/
0102デフォルトの名無しさん
2010/09/30(木) 18:37:330103デフォルトの名無しさん
2010/10/02(土) 10:12:310104デフォルトの名無しさん
2010/10/03(日) 01:27:240105デフォルトの名無しさん
2010/10/03(日) 01:40:310106デフォルトの名無しさん
2010/10/03(日) 02:06:45「インスコール手順は以下の通りです」と平気で返ってくるなんてよくあること
0107デフォルトの名無しさん
2010/10/03(日) 08:32:531. タマネギはみじん切りにして、オリーブオイル、無塩バター40gで炒める。
2. タマネギが透き通ってきたら、米を入れて中火でさらに炒める。
3. 2に白ワインを加えて強火で煮、沸騰してきたら中火にする。水分がなくなるまで煮詰める。
4. 最初、米がかぶるくらいの分量の水をくわえ、グツグツくらいの火加減で煮る。
メゾットの表面の泡が少し粘った感じになったら最初の時よりやや少な目の水をくわえ、同様に煮る。
5. 繰り返し水をくわえて好みのかたさに仕上げる。好みのかたさに近くなったら、塩小1/2を加えて煮詰める。
6. 5にすりおろしたパルメジャーノを加え、フライパンを揺すりながら混ぜる。仕上げに無塩バター40gを加えて、バターが溶けたら皿に盛る。
0108デフォルトの名無しさん
2010/10/03(日) 08:33:320109デフォルトの名無しさん
2010/10/03(日) 09:04:450110デフォルトの名無しさん
2010/10/06(水) 22:50:17・ViewModelのプロパティをViewの添付プロパティAにBind、
・添付プロパティAを、別な添付プロパティBにコンバータ経由でBind、
として添付プロパティAを書き換えた所、
ViewModelのプロパティおよび添付プロパティAは値が変化したのですが
添付プロパティBは値が変化していないようです(添付プロパティBの変更通知どころかコンバータすら呼ばれないようです)。
しかし以下の場合は2つのケースは動きました。
・ViewModelのプロパティを直接添付プロパティBにコンバータ経由でBind
・ViewModelのプロパティを添付プロパティAにBindせずに初期値をセット。
その状態で添付プロパティAを別な添付プロパティBにコンバータ経由でBind
なんか動いたり動かなかったり…条件がよく分かりません。
0111デフォルトの名無しさん
2010/10/06(水) 23:10:51別にそんなことないな
0112デフォルトの名無しさん
2010/10/06(水) 23:25:420113デフォルトの名無しさん
2010/10/06(水) 23:41:23>>111
ですか…うーん。関係なさそうなコードをだいぶ削っても起きているので、
なにか根本的に間違えているのかもしれません。もうちょっと調べてみます。
>>112
出力ウィンドウを見てもそれらしいものはないので、それは大丈夫そうです。
0114デフォルトの名無しさん
2010/10/07(木) 01:54:48両方のBindのコンバーターにブレイクポイントを置いてデバッグしてみたら?
0115デフォルトの名無しさん
2010/10/07(木) 23:31:13添付プロパティAを持つコントロールを渡して
そのコントロールの添付プロパティAを添付プロパティBにバインドしているつもりが、
添付プロパティAを持つコントロールがContentControlに入っていました。
お騒がせしました。
0116デフォルトの名無しさん
2010/10/07(木) 23:42:32しーね(^皿^)
0117デフォルトの名無しさん
2010/10/07(木) 23:43:34( ⌒ ヽ
∪ ノ
∪∪
遺書
おっちょこちょいで面目ない
0118デフォルトの名無しさん
2010/10/07(木) 23:47:19MSのページにはExpressを除くというような表現はないけど、Amazonのページだと
「※無料のダウンロード製品および体験版は対象外。」と書いてあってどっちだか
わからん。
0119デフォルトの名無しさん
2010/10/11(月) 19:13:530120デフォルトの名無しさん
2010/10/11(月) 21:10:19前から興味があって、今日ちょびっと勉強したのでこのスレを開いてみたら
1のやる気の無いコメントで泣いた ('A`)
0121デフォルトの名無しさん
2010/10/11(月) 21:23:08いまだのコボルが現役なんだぜ。
例え WPF 自体が下火になろうとも、知識は Silverlight に流用できるし。
0122デフォルトの名無しさん
2010/10/11(月) 22:10:530123デフォルトの名無しさん
2010/10/11(月) 22:35:23個人レベルのとこからじわじわと着実に広まると思うんだけどな
現状だと一部のオタクがブログでこんなんできたみたいな単発ネタ出してるだけにすぎない
0124デフォルトの名無しさん
2010/10/11(月) 22:52:330125デフォルトの名無しさん
2010/10/12(火) 00:02:57GridとStackPanelあたりを使って配置していくと
XAMLを書きながらプレビュー表示しているだけという感じになって
デザイナソフトとかどうでも良くなってきたよ。
後はMarginやPaddingなどをリソースに設定しておくと
誰が作っても同じような綺麗に揃ったレイアウトになるのでなかなか楽でいいよ。
0126デフォルトの名無しさん
2010/10/12(火) 00:07:000127デフォルトの名無しさん
2010/10/12(火) 00:25:410128デフォルトの名無しさん
2010/10/12(火) 00:30:210129デフォルトの名無しさん
2010/10/12(火) 00:38:22しかしWPFで求められてることをやろうとするのは大変だ
0130デフォルトの名無しさん
2010/10/12(火) 00:38:220131デフォルトの名無しさん
2010/10/12(火) 00:38:450132デフォルトの名無しさん
2010/10/12(火) 00:43:03VS2010はグラデーションエディタ使えるけど相変わらずスタイルやリソースには対応してないから使い物にならない
0133デフォルトの名無しさん
2010/10/12(火) 00:43:18データ検証とか、検証通るまでボタン押せなくするとかやりやすいだけでも WPF の価値あると思うんだけども。
で、せっかく開発者とデザイナーの協業想定されてるんだから、
細かい視覚効果が本当に必要になったときにデザイナーさんに UI 修正をお願いするとかがいいと思う。
0134デフォルトの名無しさん
2010/10/12(火) 00:53:15VS2010のXAMLデザイナの使い勝手はWinFormsとそんなに変わらなくなった
0135デフォルトの名無しさん
2010/10/12(火) 01:03:580136デフォルトの名無しさん
2010/10/12(火) 01:05:58うん、特に業務だと皆無だと思う。
なので、そういうところよりは分業とかMVVMでのモデル分離とかの方がWPFの利点かなぁと思う。
まあ、コンシューマー系だと無意味に思える装飾も目を引きたいって意味合いで使えるけども。
0137デフォルトの名無しさん
2010/10/12(火) 03:52:580138デフォルトの名無しさん
2010/10/12(火) 04:07:100139デフォルトの名無しさん
2010/10/12(火) 10:57:150140デフォルトの名無しさん
2010/10/12(火) 17:09:19データの検証とかコントロールのオンオフ制御とかは正直wpf関係ないじゃん。wpf
のそれは複雑で、かつ分かりにくすぎる。いかにもmsらしい、無意味にいやらしい
アーキテクチャだよな。へジタンの目指した世界がもうめちゃくちゃだよ。
0141デフォルトの名無しさん
2010/10/12(火) 17:45:46ついてこれないならそろそろ辞める事を考えないとね、君はさ
0142デフォルトの名無しさん
2010/10/12(火) 18:33:16例えば時間を指定するコントロールを作るとして、
時、分、秒それぞれにTextBoxを用意する。
フォーカスを得るとそのTextBoxが全選択状態になるようにTextBoxに機能を追加するとして、
添付ビヘイビアを使うか、TextBoxを継承したコントロールを用意するか、他には何かある?
0143デフォルトの名無しさん
2010/10/12(火) 18:45:08DateTimeを指定するだけのコントロールだろ?
単なるビューの部品なんだからMVVMみたいなのを適用するのは不適切。
0144デフォルトの名無しさん
2010/10/12(火) 19:28:27添付ビヘイビアなんか使えないよ。TextBoxを継承したコントロールを使うのも、
テンプレートに制約ができてしまうから良くない。
0145デフォルトの名無しさん
2010/10/13(水) 14:35:27<TextBox local:TextBoxBehaviors.IsFocusSelect="True" Text="{Binding Hour}"/>
てな感じで使える。
TemplatePart属性使ってコントロールのコード内でやるのもお手軽でいいと思ったけど、
ビヘイビアだとロジックを分離できて、ユーザーから見ても機能の取捨がより簡単にできるし
自由度も上がるんじゃないかと思う。
0146デフォルトの名無しさん
2010/10/16(土) 03:40:04>>140じゃないが、それでお前は、
説明をほとんど読まずに、いろんなことを即実装出来てきたのか?
「なぜいちいちこんなダラダラした書式で書かねばいかんのか」
「なぜこんなことがこんな奥まった位置にあるのか、回りくどい取り付け方をしなくてはいかんのか」
そういう疑念が湧く事など全くないわけだろう。
小物のアプリ一つ動かせたらうれしくて、
「俺ってすごいプログラマ!そしてこれはすばらしい開発システムだ!すごい!」「3流プログラマはろくに動かすことさえできねえんだろうな!」
そういうレベルの話をしているんじゃない。
あるアプリを作るのに、凡庸プログラマならスパゲッティで5万行、そこそこなら1万行、超優秀な設計とコードを書ける人間ならすっきり明瞭高速拡張性大の3千行。
wpfのシステムは、それそのものが2番目程度のものだと(一歩譲っても2.5番目の6千行)、多くの人間が感じているわけよ。
0147デフォルトの名無しさん
2010/10/16(土) 09:53:43要はWPFもメジャーになったって事か
0148デフォルトの名無しさん
2010/10/16(土) 10:18:40まだまだ入り口君なんだよ
0149デフォルトの名無しさん
2010/10/16(土) 10:21:030150デフォルトの名無しさん
2010/10/16(土) 10:56:410151デフォルトの名無しさん
2010/10/16(土) 11:26:33とにかく、データの定義を一か所に集めたいのよ。
データ定義から、Entity Framework の Entity とか、
WPF 向けの ViewModel とか、
あるいは、DataGrid とか DataForm の列定義/フィールド定義を生成してる。
ViewModel に IDataErrorInfo とか INotifyDataErrorInfo 付けてのデータ検証、
そういうやり方には結構あってると思うけどね。
0152デフォルトの名無しさん
2010/10/17(日) 02:46:12真のプログラマーは使わない
0153デフォルトの名無しさん
2010/10/17(日) 03:50:320154デフォルトの名無しさん
2010/10/17(日) 05:35:160155デフォルトの名無しさん
2010/10/17(日) 06:36:060156デフォルトの名無しさん
2010/10/17(日) 11:10:29プログラム書いて自動化すれば(最初だけちょっと大変だけど以後)数秒で終わる作業を、
Excel 手作業とかで延々と何時間もやってるおっちゃんっているじゃない。
刺身タンポポ的作業。
そこでいう「真のプログラマ」ーって刺身タンポポと大差ないよね。
0157デフォルトの名無しさん
2010/10/17(日) 14:52:270158デフォルトの名無しさん
2010/10/17(日) 15:09:25/ \
/ _ノ ヽ、_ \
/ o゚⌒ ⌒゚o \ 今日もまた、刺身の上にタンポポのせる仕事が始まるお…
| (__人__) |
\ ` ⌒´ /
0159デフォルトの名無しさん
2010/10/17(日) 15:50:110160デフォルトの名無しさん
2010/10/17(日) 16:10:04今時工場ライン化されてるはずの作業を手作業でやってるもんだっていう。
0161デフォルトの名無しさん
2010/10/17(日) 16:51:080162デフォルトの名無しさん
2010/10/17(日) 17:00:100163デフォルトの名無しさん
2010/10/17(日) 17:45:530164デフォルトの名無しさん
2010/10/17(日) 18:48:580165デフォルトの名無しさん
2010/10/17(日) 21:30:24人によっては刺身タンポポに見えるが、人によっては銀の弾丸に見える。
俺にはほぼ刺身タンポポに見えるけどねw
0166デフォルトの名無しさん
2010/10/17(日) 21:32:160167デフォルトの名無しさん
2010/10/17(日) 21:35:53別にバラさなきゃいけない訳じゃないし。そのまま使えばOK。
0168デフォルトの名無しさん
2010/10/17(日) 21:43:370169デフォルトの名無しさん
2010/10/17(日) 21:45:11まあ、ツールの利用とかコード生成とかが前提よ。
それが WPF 刺身タンポポを回避する方法。
0170デフォルトの名無しさん
2010/10/18(月) 11:48:50どうすればタスクバーが隠れないようにできるの?
0171デフォルトの名無しさん
2010/10/18(月) 20:35:340172デフォルトの名無しさん
2010/10/18(月) 23:34:33ItemsSourceにデフォルトコンストラクタがある型の追加可能なコレクションを設定しないと有効にならない。
デザイナ上は判りにくい動きになるが一応値はセット出来てるはずだよ。
0173デフォルトの名無しさん
2010/10/19(火) 01:19:140174デフォルトの名無しさん
2010/10/20(水) 19:47:50MVVM推奨するならDoubleClickやSelectionChanged用のCommandプロパティぐらい用意しとけよと。
0175デフォルトの名無しさん
2010/10/20(水) 19:55:12Silverlightのダイエット志向に合わせてる
0176デフォルトの名無しさん
2010/10/20(水) 22:03:56ダブルクリックは普通に InputBindings でいけない?
まあ、Blend SDK 入れて、そっちのトリガー使えば何でもコマンドをバインドできる。
.NET 5 では標準入りするんじゃないかなぁ。
0177デフォルトの名無しさん
2010/10/20(水) 22:15:590178デフォルトの名無しさん
2010/10/20(水) 23:58:30.NET5とか、それまでWPFの息があるかどうか…Orz
0179デフォルトの名無しさん
2010/10/21(木) 01:20:44コンテキストメニューから操作した場合はそれが動くけど
DELキーの場合はListBox自体のキーバインドが先に動くという微妙な結果に。さてどうしたものか。
部品がどのRoutedCommandを出してどのCommandBindingsが登録されているかってMSDNに書いていないよね?
0180デフォルトの名無しさん
2010/10/23(土) 17:51:150181デフォルトの名無しさん
2010/10/23(土) 19:17:24そのあたりはいろいろと仕様です。
0182デフォルトの名無しさん
2010/10/24(日) 02:16:47そうすれば、一挙に普及する。
0183デフォルトの名無しさん
2010/10/24(日) 02:30:330184デフォルトの名無しさん
2010/10/24(日) 16:10:210185デフォルトの名無しさん
2010/10/24(日) 17:46:28http://www.microsoft.com/taiwan/silverlight/
0186デフォルトの名無しさん
2010/10/24(日) 21:48:020187デフォルトの名無しさん
2010/10/24(日) 22:31:290188デフォルトの名無しさん
2010/10/24(日) 22:56:15ほんと、何やってんだかな・・・
まあ、画像は全部保存したけど
0189デフォルトの名無しさん
2010/10/24(日) 23:22:32ttp://www.pixiv.net/search.php?word=silverlight&s_mode=s_tag
0190デフォルトの名無しさん
2010/10/24(日) 23:50:02いろいろあるだろうにやっちまう台湾。
日本のマイクロソフトは情けない。
0191デフォルトの名無しさん
2010/10/25(月) 00:55:36だな。
0192デフォルトの名無しさん
2010/10/25(月) 08:43:550193デフォルトの名無しさん
2010/10/25(月) 09:37:110194デフォルトの名無しさん
2010/10/25(月) 16:17:20コードからRoutingEventを一律Addするのってどうするの?
以下のコードでは追加できね。
this.AddHandler(ComboBox.SelectedEvent, new RoutedEventHandler(Combobox_SelectionChanged));
ボタンのクリックイベントならAddできるのに、コンボにAddできない理由がわからん・・・
0195デフォルトの名無しさん
2010/10/25(月) 17:45:58<Button Click="CustomControl1.Button_Click"/>
みたいな感じでコード側にあるハンドラと関連付けることってできないの?
コマンド用意するには大げさなときとか、こんなふうに手軽にかければいいんだけど。
どんな些細な操作でもコマンド使うのがカスタムコントロールの流儀なのかね。
0196デフォルトの名無しさん
2010/10/25(月) 18:11:10ユーザーコントロールのどこかから親Windowを捜すにはどうしたらいいんでしょうか。
0197デフォルトの名無しさん
2010/10/25(月) 18:17:150198デフォルトの名無しさん
2010/10/25(月) 18:29:44これか!
Windowの方のstaticかー
0199194
2010/10/25(月) 18:29:55Xaml記述ではできるんだけど、タイミングを制御したいのでコードで書きたいのです。
>>196
Window.GetWindow(control)
0200デフォルトの名無しさん
2010/10/25(月) 19:59:38>>195は>>194とは無関係よ。紛らわしくてすまん
0201デフォルトの名無しさん
2010/10/26(火) 05:23:32javascriptの動作はボタンを押すとデータをPOSTするといったもののようなのですが
他のブラウザだとPOSTされたあと画面が切り替わるのに、
webbrowserコントロールでは切り替わりません。
FiddlerでモニタしたところPOST自体はされているみたいです。
WPFでもFormでもどちらも動かないのですが、どうすれば動くようになるでしょうか?
0202デフォルトの名無しさん
2010/10/26(火) 06:03:59IEコアを使ってるからIEで動かない物は動かないよ
jsやcssはブラウザ作ってるところ毎で「ぼくのじっそうさいきょう」
やってるから差がある
■ このスレッドは過去ログ倉庫に格納されています