トップページtech
1001コメント292KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/08/22(日) 21:11:53
一向に普及しないユーザーインターフェースシステム
Windows 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/
0151デフォルトの名無しさん2010/10/16(土) 11:26:33
まあ、今もう、わかってる人はみんなコード生成でやってるからねぇ。

とにかく、データの定義を一か所に集めたいのよ。
データ定義から、Entity Framework の Entity とか、
WPF 向けの ViewModel とか、
あるいは、DataGrid とか DataForm の列定義/フィールド定義を生成してる。

ViewModel に IDataErrorInfo とか INotifyDataErrorInfo 付けてのデータ検証、
そういうやり方には結構あってると思うけどね。
0152デフォルトの名無しさん2010/10/17(日) 02:46:12
WPFはプログラミングとは言えない代物
真のプログラマーは使わない
0153デフォルトの名無しさん2010/10/17(日) 03:50:32
真のプログラマーは何を使うん?
0154デフォルトの名無しさん2010/10/17(日) 05:35:16
OS/370とFortranかな
0155デフォルトの名無しさん2010/10/17(日) 06:36:06
それって例のギャグだろ
0156デフォルトの名無しさん2010/10/17(日) 11:10:29
だね、ギャグ。

プログラム書いて自動化すれば(最初だけちょっと大変だけど以後)数秒で終わる作業を、
Excel 手作業とかで延々と何時間もやってるおっちゃんっているじゃない。
刺身タンポポ的作業。

そこでいう「真のプログラマ」ーって刺身タンポポと大差ないよね。
0157デフォルトの名無しさん2010/10/17(日) 14:52:27
刺身タンポポって何?
0158デフォルトの名無しさん2010/10/17(日) 15:09:25
         ____
       /      \
     /  _ノ  ヽ、_  \
    /  o゚⌒   ⌒゚o  \  今日もまた、刺身の上にタンポポのせる仕事が始まるお…
    |     (__人__)    |
    \     ` ⌒´     /
0159デフォルトの名無しさん2010/10/17(日) 15:50:11
あれは手作業じゃないですよ
0160デフォルトの名無しさん2010/10/17(日) 16:10:04
だからギャグなんだって。
今時工場ライン化されてるはずの作業を手作業でやってるもんだっていう。
0161デフォルトの名無しさん2010/10/17(日) 16:51:08
また街路樹の落ち葉を掃除する仕事が始まるお…
0162デフォルトの名無しさん2010/10/17(日) 17:00:10
あれは食べるものじゃないですよ
0163デフォルトの名無しさん2010/10/17(日) 17:45:53
また街路樹の銀杏を取り合う仕事が始まるお…
0164デフォルトの名無しさん2010/10/17(日) 18:48:58
くせーから早く持ってってくれ
0165デフォルトの名無しさん2010/10/17(日) 21:30:24
WPFは何でも部品としてバラして改造できる柔軟性の高さ故に手間がかかる。
人によっては刺身タンポポに見えるが、人によっては銀の弾丸に見える。

俺にはほぼ刺身タンポポに見えるけどねw
0166デフォルトの名無しさん2010/10/17(日) 21:32:16
俺にはジグソーパズルだな
0167デフォルトの名無しさん2010/10/17(日) 21:35:53
何でもバラせるからって、
別にバラさなきゃいけない訳じゃないし。そのまま使えばOK。
0168デフォルトの名無しさん2010/10/17(日) 21:43:37
俺にはダイヤの原石に見えるね
0169デフォルトの名無しさん2010/10/17(日) 21:45:11
>>165
まあ、ツールの利用とかコード生成とかが前提よ。
それが WPF 刺身タンポポを回避する方法。
0170デフォルトの名無しさん2010/10/18(月) 11:48:50
WindowStyleをNoneにして最大化するとフルスクリーン?になるんだけど
どうすればタスクバーが隠れないようにできるの?
0171デフォルトの名無しさん2010/10/18(月) 20:35:34
WindowsStyleをNoneにしなければできるの
0172デフォルトの名無しさん2010/10/18(月) 23:34:33
>>119
ItemsSourceにデフォルトコンストラクタがある型の追加可能なコレクションを設定しないと有効にならない。
デザイナ上は判りにくい動きになるが一応値はセット出来てるはずだよ。
0173デフォルトの名無しさん2010/10/19(火) 01:19:14
完璧なのはSCCSだけ、だがな。
0174デフォルトの名無しさん2010/10/20(水) 19:47:50
標準で追加されたDataGridって痒いトコに手が届かねぇんだな。
MVVM推奨するならDoubleClickやSelectionChanged用のCommandプロパティぐらい用意しとけよと。
0175デフォルトの名無しさん2010/10/20(水) 19:55:12
WPFはSilverlightのデスクトップ用互換環境に成り下がったからな
Silverlightのダイエット志向に合わせてる
0176デフォルトの名無しさん2010/10/20(水) 22:03:56
>>174
ダブルクリックは普通に InputBindings でいけない?
まあ、Blend SDK 入れて、そっちのトリガー使えば何でもコマンドをバインドできる。
.NET 5 では標準入りするんじゃないかなぁ。
0177デフォルトの名無しさん2010/10/20(水) 22:15:59
ASPのGridよりはマシ
0178デフォルトの名無しさん2010/10/20(水) 23:58:30
>>176
.NET5とか、それまでWPFの息があるかどうか…Orz
0179デフォルトの名無しさん2010/10/21(木) 01:20:44
ListBoxのアイテムにコンテキストメニューをつけそこから削除させようと思ったら、
コンテキストメニューから操作した場合はそれが動くけど
DELキーの場合はListBox自体のキーバインドが先に動くという微妙な結果に。さてどうしたものか。

部品がどのRoutedCommandを出してどのCommandBindingsが登録されているかってMSDNに書いていないよね?
0180デフォルトの名無しさん2010/10/23(土) 17:51:15
RichTextBoxのTextChangedイベントでDocument書き換えるとエラー吐くのは仕様ですか?
0181デフォルトの名無しさん2010/10/23(土) 19:17:24
FocusChangedイベント中にフォーカスを書き換えると書き戻されたり、
そのあたりはいろいろと仕様です。
0182デフォルトの名無しさん2010/10/24(日) 02:16:47
MSもAppleを見習って、WPFで作ったアプリしか受け付けないMS Storeを作って販売すればいいのに。
そうすれば、一挙に普及する。
0183デフォルトの名無しさん2010/10/24(日) 02:30:33
そういう商売はやめてほしい
0184デフォルトの名無しさん2010/10/24(日) 16:10:21
Silverlight&XNAなら普通にやりそう
0185デフォルトの名無しさん2010/10/24(日) 17:46:28
Silverlightなら違う方向で普及を目指してる気がするけど……。
http://www.microsoft.com/taiwan/silverlight/
0186デフォルトの名無しさん2010/10/24(日) 21:48:02
日本でもやるべきだよな
0187デフォルトの名無しさん2010/10/24(日) 22:31:29
日本は公式がやらなくても有志がかってにやってくれる萌え先進国だからな
0188デフォルトの名無しさん2010/10/24(日) 22:56:15
>>185
ほんと、何やってんだかな・・・

まあ、画像は全部保存したけど
0189デフォルトの名無しさん2010/10/24(日) 23:22:32
その有志達
ttp://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
>>190
だな。
0192デフォルトの名無しさん2010/10/25(月) 08:43:55
中国本土と台湾の温度差はすごいなw
0193デフォルトの名無しさん2010/10/25(月) 09:37:11
独立を公式に認められてないだけで別の国だしね。
0194デフォルトの名無しさん2010/10/25(月) 16:17:20
WPF上のコンボに対して、
コードからRoutingEventを一律Addするのってどうするの?
以下のコードでは追加できね。

this.AddHandler(ComboBox.SelectedEvent, new RoutedEventHandler(Combobox_SelectionChanged));

ボタンのクリックイベントならAddできるのに、コンボにAddできない理由がわからん・・・
0195デフォルトの名無しさん2010/10/25(月) 17:45:58
カスタムコントロールでXamlから
<Button Click="CustomControl1.Button_Click"/>
みたいな感じでコード側にあるハンドラと関連付けることってできないの?
コマンド用意するには大げさなときとか、こんなふうに手軽にかければいいんだけど。
どんな些細な操作でもコマンド使うのがカスタムコントロールの流儀なのかね。
0196デフォルトの名無しさん2010/10/25(月) 18:11:10
FindForm()みたいな、ルート要素を探すメソッドか方法ありませんか。
ユーザーコントロールのどこかから親Windowを捜すにはどうしたらいいんでしょうか。
0197デフォルトの名無しさん2010/10/25(月) 18:17:15
ぐぐれよw
0198デフォルトの名無しさん2010/10/25(月) 18:29:44
Window.GetWindow()

これか!
Windowの方のstaticかー
01991942010/10/25(月) 18:29:55
>> 195

Xaml記述ではできるんだけど、タイミングを制御したいのでコードで書きたいのです。

>>196

Window.GetWindow(control)
0200デフォルトの名無しさん2010/10/25(月) 19:59:38
>>199
>>195>>194とは無関係よ。紛らわしくてすまん
0201デフォルトの名無しさん2010/10/26(火) 05:23:32
webbrowserコントロールで一部のjavascriptが動きません。
javascriptの動作はボタンを押すとデータをPOSTするといったもののようなのですが
他のブラウザだとPOSTされたあと画面が切り替わるのに、
webbrowserコントロールでは切り替わりません。
FiddlerでモニタしたところPOST自体はされているみたいです。
WPFでもFormでもどちらも動かないのですが、どうすれば動くようになるでしょうか?
0202デフォルトの名無しさん2010/10/26(火) 06:03:59
IEで試した?
IEコアを使ってるからIEで動かない物は動かないよ

jsやcssはブラウザ作ってるところ毎で「ぼくのじっそうさいきょう」
やってるから差がある
0203デフォルトの名無しさん2010/10/26(火) 07:37:36
もちろんIEでも試しました
動かないのは
<a href="javascript:void(0);" onclick="hogehoge();">fugafuga</a>
こういう感じのコードです。
0204デフォルトの名無しさん2010/10/26(火) 07:38:59
ナビゲートしてないとか

0205デフォルトの名無しさん2010/10/26(火) 08:51:23
ナビゲートしてないというのはどういうことでしょうか?
0206デフォルトの名無しさん2010/10/26(火) 09:03:57
>>205
動かす予定のjsとかってどういうメソッド使って渡してるの?
0207デフォルトの名無しさん2010/10/26(火) 09:18:07
javascriptはよくわからないのですが
同じページにあるformをsubmitしてPOSTしてるようです
0208デフォルトの名無しさん2010/10/26(火) 14:18:57
将来的な c++ + winapi 辺りへの移植を考えたら.net止まりにせざるをえない
0209デフォルトの名無しさん2010/10/27(水) 11:03:57
ttp://blog.evernote.com/jp/?p=1150

Evernote 4は今までのEvernote 3.5とは全く違います。Evernote 3.5
もたくさんの良い機能を持っていましたが、どうしてもそのままでは直
せない問題がありました。ぼやけたフォント、起動時間の長さ、起動時のメ
モ リー使用量、特定のグラフィックカードとの相性の悪さ等の問題は3.5
が使っているWindows .netとWPFのためになかなか改善する事ができ
ませんでした。皆様がよりEvernoteを便利に使って頂けるような新機能を
追加する前に、改善作業ばかりに追われていました。

なので、もっと早く動く、信頼できるC++で最初から作り直す決心をし
ました。使って頂くと分かると思いますが、すばらしい出来映えになりました。こ
の新しいバージョンがこれから新しい機能などを追加していく基盤になります。
0210デフォルトの名無しさん2010/10/27(水) 14:44:30
C++でサクサク作れる人はすごいね。
0211デフォルトの名無しさん2010/10/27(水) 14:49:51
BASIC、アセンブラ、C、C++、JAVA、C#とかの系譜をこなしてきたなら簡単に出来るべ?
Java以前はリンカのためのヘッダがたまにうざったいとおもうがな。
0212デフォルトの名無しさん2010/10/27(水) 14:56:04
突っ込む場所が違うんじゃないかw
要はWPF使えない宣言されたってわけだ
0213デフォルトの名無しさん2010/10/27(水) 15:31:21
あのフォント問題を長期間放置しておいたのは罪深い
0214デフォルトの名無しさん2010/10/27(水) 16:16:32
さっさとSilverlightに吸収統合されてほしい
0215デフォルトの名無しさん2010/10/27(水) 20:46:35
この流れは止まらないだろうなー
WPF\(^o^)/
0216デフォルトの名無しさん2010/10/27(水) 20:51:46
原文は、「私たちが知ってて、信頼を置いていたC++」みたいな感じなのよね。
要は、Evernote 開発者が C++ な人なんで、慣れない WPF で書いて失敗した感じ。

それがなんか日本語特有の主語抜きに翻訳されちゃってて、
全面的に C++ が信頼置けるみたいな文章になっちゃってる。
0217デフォルトの名無しさん2010/10/27(水) 21:55:14
WPFがC++で.NETに関わらない形で使えるようにしてくれれば面白い。
0218デフォルトの名無しさん2010/10/27(水) 21:57:40
WPFの他にDirectXを使ったGUIフレームワークってないの?
0219デフォルトの名無しさん2010/10/27(水) 22:17:03
>>217
つSilverlight+ActiveX
WPF自体マネージコードで書かれてるので.NETに関わらないWPFというのはありえない
0220デフォルトの名無しさん2010/10/27(水) 22:36:30
ActiveX使うSilverlightって意味なくないか
0221デフォルトの名無しさん2010/10/27(水) 22:38:41
SilverlightはActiveXコントロール。
だからウィンドウに貼ってCOMでホスティングしてやればGUIフロントエンドとして使える。
0222デフォルトの名無しさん2010/10/27(水) 22:44:27
エバーノートのスレ見てきたらみんな早いとか喜んでてワロタ
WPF捨ててお客様満足度アップだなw
0223デフォルトの名無しさん2010/10/27(水) 22:56:53
まあ、XP で WPF の起動がもっさりなのも事実だし、
Evernote 的に、.NET 使うのがモチベーション上がらなかったんだろうなぁってのもあるだろうけど。

ユーザビリティ的に劣化してる部分もあって、twitterとかではそれをたたかれてたりもするが。
結局、信者はいい1点だけ見て喜び、アンチは悪い1点だけ見てけなす。
0224デフォルトの名無しさん2010/10/27(水) 23:09:01
WPF活かすようなナイスなGUIにしてなかったんだったらそもそもWPF使わなくてよかったんだろうし、
使う必要がったなら、自前か代わりの何かを持ってこないとならない。

まぁWPFが微妙にうんこなのは同意。
0225デフォルトの名無しさん2010/10/28(木) 20:00:12
Windows環境でWPF以外のGUI開発の選択肢ってどういったものがあるの?
Formはイマサラ感あるし、QtとかWTLとか?
0226デフォルトの名無しさん2010/10/28(木) 20:31:41
javax.swing
0227デフォルトの名無しさん2010/10/28(木) 21:16:36
もっとない
0228デフォルトの名無しさん2010/10/28(木) 21:43:54
.NET FrameworkはC#で書かれているとかそういうの要らんからネイティブで実装してほしかったな

△△は△△で〜みたいなのって誰得
0229デフォルトの名無しさん2010/10/28(木) 22:00:11
WPFが遅いのは別にC#で書かれてるせいじゃないだろ
バインディングとかゴテゴテの仕組みや描画のせいだから何で書いても一緒
SilverlightのGUIはほとんどネイティブだけどそんなに速くないっしょ
0230デフォルトの名無しさん2010/10/28(木) 22:10:53
描画?軽量だよ。
AtomのPCで動かしてもそこそこいけるしね。
0231デフォルトの名無しさん2010/10/28(木) 22:21:56
Silverlightはシンプルなレイアウトで描画面積が小さいと軽いけど
複雑になってくるとWPFとは比べ物にならないくらい重いよ
Silverlightはシンプルな使い方しかしないことが前提だから軽い
0232デフォルトの名無しさん2010/10/28(木) 23:30:28
WPFとかまだまだβ版じゃまいか。
WinForms+J2EE(WebOTX)が事実上トレンド。
0233デフォルトの名無しさん2010/10/28(木) 23:53:33
>J2EE
いや、それは無いだろう…
0234デフォルトの名無しさん2010/10/29(金) 00:17:40
J2EE使うならWin選択する理由がねえ
0235デフォルトの名無しさん2010/10/29(金) 01:43:16
>>230
WPF は CPU じゃなくて GPU 依存だしね。
あと、Vista か 7 なら軽い。

>>231
Silverlight は GPU の活用度合が低い感じが。
クロスプラットフォームだからある程度仕方がなく。

>>232
いつもの、「MS 製品は3世代目から」ジンクスに従えば、ようやく正式版。
0236デフォルトの名無しさん2010/10/29(金) 01:55:24
>>234
社会じゃ仕方なくWin縛りの案件ばかりなんだよ、僕。
0237デフォルトの名無しさん2010/10/29(金) 18:50:10
>>209
これのGUIって自作なのかな
0238デフォルトの名無しさん2010/10/29(金) 18:54:45
社外品だろ
早くなったのは起動だけ
他は、、まぁわかるよな
0239sage2010/10/29(金) 19:00:59
ビジネス用途での"Windows XP"シェアは全体の75%だからな、
さらに2014年まで使えるから、
あと2,3年はビジネス用途に絡むソフトにはWPFは鬼門かもしれんね
0240デフォルトの名無しさん2010/10/29(金) 19:11:55
EvernoteのおかげでWPFの普及がさらに遅れそうだな
0241デフォルトの名無しさん2010/10/29(金) 20:26:37
正直WPF使ってΣ( ゚Д゚) スッ、スゲー!!ってもんをみたことがない・・・
ほかのFWでもあまり見たことないがw
0242デフォルトの名無しさん2010/10/30(土) 07:23:20
cocoa売ってもらえばいいんだよなw
まあそれはなさそうだからwpf使うけど
0243デフォルトの名無しさん2010/10/30(土) 10:09:16
>>241
スゲー!と思わせてもどうせ2分で慣れる。
重要なのはWhat the fuckの少ない、驚き最小化の原則に乗った動作。
すなわちUIの良し悪しはフレームワークに依らない。

WPFを使うと微妙な挙動が多くてその実現に無駄に手間がかかるがなw
0244デフォルトの名無しさん2010/10/30(土) 10:16:58
>242
いや別にcocoaはいーやw

>243
いやLonghornのデモの時とかなんか色々すごいUIデモしてたような気がしたんだが…
まぁそれが使いやすいかどうかは別物だけど.
0245デフォルトの名無しさん2010/10/30(土) 10:26:36
単にすごければいいだけであれば、
ほとんどXAMLだけでアニメーションゴリゴリで動くものを作ることもできるさ。
限度を越えるとウザいだけだがなw
0246デフォルトの名無しさん2010/10/30(土) 11:56:12
Windows Media Center みたいな奴か。
0247デフォルトの名無しさん2010/10/31(日) 18:53:52
ひょっとしてWPFのWebBrowserってウンコ?
0248デフォルトの名無しさん2010/10/31(日) 18:59:51
ウンコもクソもIEコントロールホストしてラップしてるだけだもん
WPFのWebBrowserと呼ぶほどのものでもない
0249デフォルトの名無しさん2010/10/31(日) 22:17:37
>>247
WebBrowserだけでなくどれもがウンコだろが
0250デフォルトの名無しさん2010/10/31(日) 22:48:37
WebBrowserはWPFですらないのでTransformなども受け付けなくて残念だったんだよなぁ。
■ このスレッドは過去ログ倉庫に格納されています