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

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/12/05(日) 22:08:33
あたらしいユーザーインターフェースシステム、Windows Presentation Frameworkについて語るスレ。
.NET4 もリリースされて盛り上がってまいりますた。

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

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

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
0242デフォルトの名無しさん2010/12/10(金) 19:22:03
「自動実装されるプロパティ」とかあるじゃん。
略して「自動実装プロパティ」と表記されてることも多い。
間に「される」を挟むなら「ルートされる」じゃなくて「ルーティングされる」でしょ
0243デフォルトの名無しさん2010/12/10(金) 22:40:26
910 名前:デフォルトの名無しさん[sage] 投稿日:2010/12/10(金) 15:40:39
Microsoft Visual Studio 2010 Service Pack 1 Beta
http://www.microsoft.com/downloads/details.aspx?FamilyID=11ea69cb-cf12-4842-a3d7-b32a1e5642e2&displayLang=ja


これ入れたらWPF重くなった。
でも、setter Property=""の部分とかstyle Target=""の部分あたりがインテリセンスができるようになった。
0244デフォルトの名無しさん2010/12/10(金) 22:46:19
それ前からできなかったっけ
Silverlight4ツールキットにXAMLデザイナの更新が含まれてたんだったかな
0245デフォルトの名無しさん2010/12/10(金) 22:52:08
ToolkitじゃなくてSilverLight Tools
0246デフォルトの名無しさん2010/12/11(土) 02:20:14
wpf. silverlightにそれぞれtoolsだのtoolkitだの名前の似た拡張がごちゃごちゃあるの
は、ほんとなんとかして欲しい。vsのアップデートまたは機能拡張として正規に適用
されるべきもんだし、そもそもなんでcodeplexみたいな裏街道でこっそりダウ
ソしなきゃならんのだ?
バージョンも2010 april cptとか何が最新なのかさっぱりわからんし。
0247デフォルトの名無しさん2010/12/11(土) 02:35:14
ToolkitとToolsはネイティブな英語話者なら区別ついてるのかね?

>>246
codeplex は、早期に発表しておきたいという場。
ぶっちゃけ、人柱ほいほい。

安定したのから製品版に入っていくはず。
0248デフォルトの名無しさん2010/12/11(土) 02:36:38
>>246
あと、CTP(のことよね?<cpt)は、
β以下の完全人柱バージョンって意味。
さっぱりわからん人は触れちゃダメ。
0249デフォルトの名無しさん2010/12/11(土) 02:38:23
WPFは視覚的な図や画像を利用した教材を作るのにいいかもなー
歴史の勉強ソフトとか。

でもそういうことするんだったら、別のソフトつかったほうがいいか。
0250デフォルトの名無しさん2010/12/11(土) 09:32:25
最後の行が意味不明
0251デフォルトの名無しさん2010/12/11(土) 14:23:24
>>249
安土城とか?
0252デフォルトの名無しさん2010/12/11(土) 14:41:55
なんで技術からソフトの話になってんだよ
0253デフォルトの名無しさん2010/12/11(土) 17:12:10
WPFが何か知らないんだろ
0254デフォルトの名無しさん2010/12/11(土) 17:19:14
パッケージソフトだとFlash使ってるのはたまにあるよね
例外なく操作性最悪のゴミだけど
0255デフォルトの名無しさん2010/12/11(土) 20:18:33
凝った視覚的な図を作っても
見せる相手がいない

まさか自分で見るために作るのか
さびしいのう
0256デフォルトの名無しさん2010/12/11(土) 20:22:24
デザイン担当がテスト開始後に
ドヤ顔でデフォルトのスタイルを作ると言い出した挙句上司が了承した…オワタ
0257デフォルトの名無しさん2010/12/12(日) 00:16:18
アナログ時計が簡単に作れるな。便利。
0258デフォルトの名無しさん2010/12/12(日) 00:20:07
Blendの使い方わかんないんだが、解説書とか出てないの?
0259デフォルトの名無しさん2010/12/12(日) 00:32:34
洋書しかないような
間違えてBlend Bookとか買っちゃだめよ
0260デフォルトの名無しさん2010/12/12(日) 00:46:51
MS の出してる簡単なビデオみたり、
youtube に Blend 使ったビデオあるから見れば大体はわかる。
0261デフォルトの名無しさん2010/12/12(日) 01:04:20
Blendに限らずWPFの本って洋書しかないだろ。
0262デフォルトの名無しさん2010/12/12(日) 01:13:56
日本語のもあるにはある。
まともなのはないけどw
0263デフォルトの名無しさん2010/12/12(日) 07:34:43
スキンはどうやって実装するの?
0264デフォルトの名無しさん2010/12/12(日) 08:47:28
http://www.nsa.tv/condoms/kouza/index.html
0265デフォルトの名無しさん2010/12/12(日) 08:59:30
URLでネタバレな件
0266デフォルトの名無しさん2010/12/12(日) 10:52:37
気にするな
0267デフォルトの名無しさん2010/12/12(日) 11:40:13
>>263
スタイル使う
リソースディクショナリにまとめておけば簡単に切り替えられるし
ユーザーが作ったものを動的に読み込むこともできる
0268デフォルトの名無しさん2010/12/12(日) 23:54:35
>>267
スタイルのスキン的使い方をまとめてるようなところない?
0269デフォルトの名無しさん2010/12/13(月) 16:41:39
MenuItemのCommandプロパティにApplicationCommands.Openを設定していると,
InputGestureTextが"Ctrl+O"とか設定されるけど,
それを抑止するにはどうしたらいいでしょう?

面倒だけどCommandを使わずにイベントハンドラで処理するしかないのかニャ?
0270デフォルトの名無しさん2010/12/13(月) 19:50:23
初めてWPF触ったんだけど、直感的に思ったのはコレ↓
http://www.youtube.com/watch?v=TgVuwq1HRPk
0271デフォルトの名無しさん2010/12/13(月) 19:56:44
そう思ったのならちょっと危ないよ
このメカニズムは保守に重点を置いてる物だから
何でもできると思ってるのなら大間違い
0272デフォルトの名無しさん2010/12/13(月) 20:02:24
保守に重点を置いてるだけならテンプレートだのアニメーションだのといった機能は別にいらないのでは
0273デフォルトの名無しさん2010/12/13(月) 20:07:23
普通に考えてWPFはビジュアルに重点を置いてるに決まってるだろ
バインディングの強化はWinFormsやASP.NETからの正当な進化であって
バインディングのためにわざわざ新しく作ったわけじゃない
0274デフォルトの名無しさん2010/12/13(月) 20:09:01
MVVMとかの概念を踏まえた設計から保守に重点をおいてるとも言えるんだがな
0275デフォルトの名無しさん2010/12/13(月) 20:21:22
別にMVVMみたいな具体的な構造を踏まえてるわけじゃないよ。
一般にMVC的な構造にバインディングは有効だからバインディングが重視されてるだけ。
コマンドバインディングだってあれは本来Ctrl+Cとツールバーのコピーボタンとメニューのコピーボタンで
共通の処理を行うための仕組みだ。
0276デフォルトの名無しさん2010/12/13(月) 20:36:56
お前らみたいに一つのことで手一杯なんじゃなくて
何でもできるようになろうとしたんですよ
努力は認めるが
0277デフォルトの名無しさん2010/12/13(月) 20:48:29
>>275
たくさんの処理方法がある場合にはコマンドを使えばいいの?

たとえば、たった一つのボタンを押すしか実行する方法が無い場合はWinFormのようにボタンクリックイベントで
ボタンを押しても、ショートカットキーでも、メニュ−でも、その他いろいろな条件でメソッド呼ばれるようにしたい場合コマンドを使うの?
0278デフォルトの名無しさん2010/12/13(月) 20:49:42
いちいち方針を示されないと何もできねえのか貴様は
0279デフォルトの名無しさん2010/12/13(月) 20:53:35
>>277
そうだよ
で、コマンドが実行されたときの処理はコードビハインドに書く。
イベントハンドラも自由に使っていい。WPFは本来そういう設計。
0280デフォルトの名無しさん2010/12/13(月) 20:56:00
やーんこわいーw
0281デフォルトの名無しさん2010/12/13(月) 21:02:03
認識「ソビエト=似非科学」のパーマネントを決定付けた罪は大きいよなー
0282デフォルトの名無しさん2010/12/13(月) 21:04:33
文系SEは出てこなくて良いです
0283デフォルトの名無しさん2010/12/13(月) 21:07:28
>>270
直感というよりは先入観だろうな
0284デフォルトの名無しさん2010/12/13(月) 21:09:13
MVVMで設定ダイアログ書いてとってタブページごとにViewとViewModel作ってるんもんで
超面倒臭いんだけど、どうにかならないの?
0285デフォルトの名無しさん2010/12/13(月) 21:12:13
MVVM面倒臭いって言ってる奴何なんだろう
MVC的な設計が面倒くさいのは当たり前のことで
それを補って余りあるメリットがあるなら使えばいいんで
無理してMVVM適用する必要ないんだよ?
0286デフォルトの名無しさん2010/12/13(月) 21:14:04
そうだ。俺と一緒にビハインドでハンドラ直書きしようぜ!
0287デフォルトの名無しさん2010/12/13(月) 21:15:21
ごめんなさい・・・
貴方とはお付き合い出来ません・・・
0288デフォルトの名無しさん2010/12/13(月) 21:16:48
MVVMこそ正道であり王道、外道とノンケに用はない
0289デフォルトの名無しさん2010/12/13(月) 21:19:06
ていうかblendでコードビハインドでサクサク作ってったほうが楽しいぞ
0290デフォルトの名無しさん2010/12/13(月) 21:27:04
ガチMVVMだとツールボタン一つ一つにVM持たせたりすんの?
アホらしすぎる
0291デフォルトの名無しさん2010/12/13(月) 21:33:08
お前の頭と同様にほかの人間もアホだと思うなよアホ
0292デフォルトの名無しさん2010/12/13(月) 21:49:28
いちいちVMがめんどくさいっていうのは
特に何をするでもないのに変数とプロパティ両方に分けるのはめんどくさい
変数だけでいい
って言ってるようなもの。

まぁpropで簡単に実装できるようになったけどさ。
0293デフォルトの名無しさん2010/12/13(月) 22:20:42
you aren't going to need it
0294デフォルトの名無しさん2010/12/13(月) 22:32:32
設定ダイアログのタブ別にViewModel作っちゃったら使い辛いだけだろ…
0295デフォルトの名無しさん2010/12/13(月) 23:55:53
抽象的なビューのモデルと単なるモデルの区別が付いてないんだろ
ビューを切り替えるという概念もなさそうだし
0296デフォルトの名無しさん2010/12/14(火) 00:01:40
日本地図とかの画像を読み込んで
北海道の上にマウスを置くと北海道が光って
青森の上におくと青森が光って・・・

みたいなのってどうやるんだ。やりたいけど今の俺の技術じゃ無理だ。
きっと単純なコードじゃ無理だろう。あきらめた。
0297デフォルトの名無しさん2010/12/14(火) 00:03:20
座標と画像がセットになったものが国土地理院からでてなかったか?
それを取り込んでLINQで繋げてはいほいそいで20分でできたと思う
0298デフォルトの名無しさん2010/12/14(火) 00:05:12
ListBoxで何でもできるぜ!ってサンプルでそんなの見たことあるな。
0299デフォルトの名無しさん2010/12/14(火) 00:08:03
古典的な方法なら
領域をそれぞれ違う色で塗り潰した画像を別に用意しておいて
マウスポインタの下にあるピクセルの色を取得する
0300デフォルトの名無しさん2010/12/14(火) 00:54:48
>>295
284だけどビューの切り替えってどうすればいいの?
最初は、たとえばページ選択するたびにデータテンプレートとか切り替えて、
ViewModelの表現方法変えたりしようかとも思ったんだけど、
見た目はタブコントロールのまんまなのに、
タブコントロールとは微妙にコンテキストが違って来てるような気がするし
0301デフォルトの名無しさん2010/12/14(火) 04:36:22
<Style.Triggers>でEllipseにマウスが入ったら色を変える
EllipseをDoubleAnimationで大きさや位置を変える

ってやって、マウスをそこそこ早いスピードでEllipseの中に入れたらたまに色変わらないね。ちょっとシビアだけど厄介だなあ。
0302デフォルトの名無しさん2010/12/14(火) 05:24:26
>>300
タブ全体と一つのviewmodelを紐づけていいんじゃないの?
一ページにはviewmodelの一部が表示されてる
viewmodelは複数のmodelを管理もしくはより大きなmodelのサブセット
みたいな
0303デフォルトの名無しさん2010/12/14(火) 09:15:15
WPF楽だなあと実感が湧いてきた
大量にスニペット自作しないとだめだけどw
0304デフォルトの名無しさん2010/12/14(火) 09:17:10
なにそれ?
公開して
0305デフォルトの名無しさん2010/12/14(火) 10:35:39
いや、べつに大したことしてない
MVVMの定型句を登録してるだけ

On$Name$ = new DelegateCommand($Name$, parameter=>true);

public DelegateCommand On$Name$ { get; private set; }

public void $Name$(object parameter)
{
}

こんなのとか
0306デフォルトの名無しさん2010/12/14(火) 11:31:42
>>305
MS 公式な奴(RIA Services とか)の命名規約見てる感じ、

コマンドが $Name$Command で、実際の処理メソッドが On$Name$ の方がいいと思う。
0307デフォルトの名無しさん2010/12/14(火) 12:19:48
メソッドがpublicならメソッド名はNameだけでいいと思うよ。意味的には,メソッドが先にあって
コマンドの方はバインドさせるために補助的に公開しているに過ぎないわけだから。
コマンドをイベントハンドラとして捉えるのであれば,メソッドは名前以前にprivateにしたほうがいい。
0308デフォルトの名無しさん2010/12/14(火) 20:58:50
結論としては、「おれのアプリはくずれない」と自慢したいならWPF
そうでないならRubyで十分だよ
0309デフォルトの名無しさん2010/12/14(火) 21:04:18
Rubyなんか崩れないどころか何も表示できませんけどね
0310デフォルトの名無しさん2010/12/14(火) 21:09:18
何も表示されない?
それってWPFでXAML使わないと言っているようなもんだな
0311デフォルトの名無しさん2010/12/14(火) 21:36:41
別にそこまで大規模なアプリじゃなかったら
XAMLって使っても使わなくてもどっちでもいいよね。
0312デフォルトの名無しさん2010/12/14(火) 21:52:02
だからBlend使えと

>>308
RubyいいよねRuby。ただしUNIX上に限る
0313デフォルトの名無しさん2010/12/14(火) 22:09:53
Blendの使い方がわからない
どこにマニュアル転がってるんだ?
0314デフォルトの名無しさん2010/12/14(火) 22:32:52
Ruby苦手だわ
オブジェクト指向の実装が透けて見えてなんかヌルヌルした感じが合わない
依存関係プロパティをコードから触ってる感じ
0315デフォルトの名無しさん2010/12/14(火) 22:42:22
http://www.microsoft.com/japan/products/expression/video/
で Blend 3 の製品紹介してるから、真似してみればアニメーションとビヘイビアについてはわかるはず。
0316デフォルトの名無しさん2010/12/15(水) 06:23:21
MicrosoftはC++でアプリケーション開発するより
WPFやWIndows Formで開発するほうをオススメしてるみたいだな。
0317デフォルトの名無しさん2010/12/15(水) 07:26:47
かといってC++を誰も使わなくなるということにはならないんでしょ
いくら進化した言語ができても、ただ覚えることが増えるだけって感じ
0318デフォルトの名無しさん2010/12/15(水) 10:51:45
C++が必要な局面は依然として多く残されている。スレ違いだけど
今更感のあるどうでもいいレスに反応しちゃうぐらいには危機感を感じているようだ。スレ違いだけど
0319デフォルトの名無しさん2010/12/15(水) 11:00:57
結局Frameworkってなんだったのって感じ
何も便利になってないし
0320デフォルトの名無しさん2010/12/15(水) 11:02:48
WPFやるにはC#使わないといけなくて
VBユーザー涙目って感じでもないしな
0321デフォルトの名無しさん2010/12/15(水) 11:05:42
>>319
ム板に居るのにまだそんな事言ってるのかw
何年前から時間止まってるんだ?COBOLer?
0322デフォルトの名無しさん2010/12/15(水) 11:05:52
>>319
えっ
0323デフォルトの名無しさん2010/12/15(水) 16:22:30
WPFアプリケーションでファイルを選択するためにフォルダを開くときって、どういうUIが標準的ですか?
winformのOpenFolderDialogみたいなものは用意されていないんでしょうか?
0324デフォルトの名無しさん2010/12/15(水) 16:32:05
じぃじぃけぇえす
0325デフォルトの名無しさん2010/12/15(水) 16:44:40
>>323
Microsoft.Win32.OpenFileDialogクラス

WPFアプリケーション作ったときはusingにMicrosoft.Win32がないから
どこかにOpenFileDialogと書いて、Ctrl+.でusing呼び出して書き込む
0326デフォルトの名無しさん2010/12/15(水) 17:07:28
せっかくオサレGUI作ってもファイル&フォルダ選択ダイアログがしょぼいんですよね?
0327デフォルトの名無しさん2010/12/15(水) 17:08:49
3DのオサレGUIを作ってもダイアログ起動すると2Dのw2kの頃から変わってないんですよね?
0328デフォルトの名無しさん2010/12/15(水) 17:13:08
ばいばいおされさん
0329デフォルトの名無しさん2010/12/15(水) 17:29:46
2Dだからw2kと同じだ!って、おされさんは馬鹿だなぁw
0330デフォルトの名無しさん2010/12/15(水) 17:39:44
今時携帯機(ゲーム機、電話)でさえ3Dなのに
これだけ重いIDEと実行ファイルで2Dってw
0331デフォルトの名無しさん2010/12/15(水) 17:40:53
マニュフェスト設定すればテーマは適用されるよ。
デバッグ時は起動元が違うから適用されないこともあるけどね。
0332デフォルトの名無しさん2010/12/15(水) 17:42:28
軽くて、機能的で、短いコードで書けるデスクトップ用の言語を開発しろ
そのうちコンピューターと会話をしながらプログラミングできるソフトを
どこかが先に作っちゃうぞ
0333デフォルトの名無しさん2010/12/15(水) 17:43:56
粘着アンチが居座るのは人気がある証拠
0334デフォルトの名無しさん2010/12/15(水) 17:44:15
>>331
それだよそれ、デバッグ時と違う結果がでるのがイラっとするよね
デバッグ時はウィンドウの外枠で隠れて見えない文字が起動すると見えるとかほんとやめてほしいわ
0335デフォルトの名無しさん2010/12/15(水) 17:44:50
人気なくてもアンチがいるものなんていくらでもあるけど
0336デフォルトの名無しさん2010/12/15(水) 17:46:05
WPFはB級映画というより王道のハリウッド映画
ド派手なだけで深みはない
0337デフォルトの名無しさん2010/12/15(水) 17:50:00
批判が的外れすぎて笑える
0338デフォルトの名無しさん2010/12/15(水) 17:52:16
WPFはインテルのオンボードチップと相性が悪い。
なんかWin7でもインテルのオンボードだとめっちゃ重くなる。
0339デフォルトの名無しさん2010/12/15(水) 19:11:34
Win7でオンボの時点で重いよね
0340デフォルトの名無しさん2010/12/15(水) 20:11:38
ポータブルWPFまだ?
0341デフォルトの名無しさん2010/12/15(水) 20:13:19
それをSilverlightと呼ぶ
■ このスレッドは過去ログ倉庫に格納されています