トップページtech
985コメント290KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/04/13(金) 15:53:23.55
ユーザーインターフェースシステム、Windows Presentation Frameworkについて語るスレ。

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

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

関連スレ
Microsoft Silverlight その9
http://toro.2ch.net/test/read.cgi/tech/1321150267/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
03223192012/05/10(木) 15:45:47.07
>>320
AvalonEditの方が早かった

>>321
例のツール使って1行ずつスクロールさせてみたけど、再描写している範囲は変わらなかった
なんであっちの方が早いんだろう
0323デフォルトの名無しさん2012/05/10(木) 19:51:57.29
コードは読んでないから分からないけど AvalonEdit は OnRender を最適化してるんじゃない?
事前に準備できるものは OnRender 前に構築、一度構築したらキャッシュ、一度描画したらキャッシュ、重いメッソドコールを一回にまとめるとか。
0324デフォルトの名無しさん2012/05/11(金) 12:58:07.35
AvalonEditはWPFの流儀に沿った書き方をしてるので
WPFのレンダリング最適化機構がちゃんと動作してる。

>>319はGDIのプログラムのような書き方をしてるので
WPFの最適化機構が全然働いていない。

つーわけで、速くしたかったら
WPFの解説書をよく読んで、AvalonEditを参考にしつつ1から書き直せ。
03253192012/05/14(月) 16:02:15.92
OnTextInputをオーバーライドしただけだと、IMEのウィンドウが外に出てしまう
このままじゃあ、使い物にならないから、オンスポット入力に対応させたいんだが、どういう風にすればいいのかさっぱりわからない
くぐっても出てこないし、avaloneditorもそこらへんは特に何もしてなかった
MSDNならあるだろうと思い調べてみたが、IMEに関するサンプルは何もなかった
どうすればIME対応にできるんだろうか

>>324
なるほど流儀に従っているから早いのか
もう一度参考にしつつ書いてみる
03267552012/05/14(月) 16:03:55.48
>>323
ざっと見たが、行を構築してキャッシュしていた
でも、今作っているやつも一度構築した行は再利用している
やってることはほとんど変わらないんだが、なんであそこまでCPU負荷が違うんだろう
0327デフォルトの名無しさん2012/05/14(月) 16:15:43.51
>>325
> IME対応
オイオイ、一番重要な部分がまだだったのか。
てっきりIME周りは実装済みかと思ってたよ。

WPFはIME関連の機能を持たないので、TSFを直接使う必要がある。

TSFのドキュメントは不親切で、
まともなサンプルは皆無、それでいて実装すべきコードの量は膨大。

WPFのレンダリング如きに苦戦してるようじゃ、到底無理だと思うけどなぁ・・・
0328デフォルトの名無しさん2012/05/14(月) 16:56:51.42
もうかまうなよ
03293192012/05/14(月) 19:12:17.38
くぐってみたら、一つの要素に複数の図形を描くなら、OnRenderで描くのとDrawingVisualに要素を追加して描くのとCPU負荷の面で大差ないと書いてあった
http://stackoverflow.com/questions/2319365/performance-of-drawingvisual-vs-canvas-onrender-for-lots-of-constantly-changing
0330デフォルトの名無しさん2012/05/14(月) 21:33:21.17
XAMLにボタンとユニフォームグリッド(100X100セル)の記述しかなく
ボタン押下でデータをよみ、グリッドのセルに動的にコントロールを生成する場合
MVVMのようにコードビハインドに一切記述せず実現することは可能なんでしょうか?

0331デフォルトの名無しさん2012/05/14(月) 21:42:01.91
> XAMLにボタンとユニフォームグリッド(100X100セル)の記述しかなく
> コードビハインドに一切記述せず
XAMLもコードも書けないなら詰んでるじゃないか
0332デフォルトの名無しさん2012/05/14(月) 22:00:08.31
ウディタの新バージョン「ウディタ2.00」が公開されました(2011年10月27日)

「WOLF RPGエディター」とは? 
・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
 不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
 その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
 慣れた人やRPGツクールでは物足りないけどプログラミングはちょっとという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
 また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備!
■作り方しだいでパズル系やカードゲームやシミュレーションやシューティングや
アクション、RTSや他なんでも作れます。
■また他の人がネット上で公開している「コモンイベント」を組み合わせて利用すれば、
自分では開発が難しいゲームシステムも容易に実現することができます。
0333デフォルトの名無しさん2012/05/14(月) 23:02:00.52
>>331
そうなんですよ。
V側にデータを表示するためのリストボックスなどのコントロールすらない場合などは
MVVMは破綻しますよね?

実現したいのは横軸に日付3か月分、縦はデータにより増減する行のグリッドに
数日間かかるプロジェクトのコレクションを列またぎのスタックパネルを動的に配置して内容を出す事
(スケジューラーみたいな画面)をやりたいのですが、

コードビハインドに書くしかないかなと思ったわけです。

0334デフォルトの名無しさん2012/05/14(月) 23:09:51.95
そういうのはカスタムコントロールを作るのが筋だ
その上でMVVMしたいなら自作コントロールを画面に貼って自分で定義したプロパティをバインドする
カスタムコントロールの実装は当然コードビハインド(というか普通にコントロールの動作の実装コード)
0335デフォルトの名無しさん2012/05/15(火) 00:18:52.30
なんかmvvmって言葉が実体を伴わず独り歩きしてる感じだな

1)m v vm それぞれどれにも依存せずテストコードが書けるようにする
2)それを実現するように「すべてを」書き換える

Vを書き換えず「MVVMは破綻してる」とか言われても困る
0336デフォルトの名無しさん2012/05/15(火) 01:35:25.67
MVVMってのは主にModelとViewの間にVMを挟むことでViewをなるべく馬鹿にすることで、ドメインとUIのぶんリヤテスト容易性というメリットを得るためのもので、それが成り立たない領域にまで金科玉条のごとく持ち込むものではないと思うよ。
スケジューラみたいな画面ならMVVM的なものに落とし込めそうな気もするけど。
0337デフォルトの名無しさん2012/05/15(火) 11:41:08.86
>>333
Infragisticsのスケジュールコントロールとか使った方がよっぽどよさ気じゃねえ?
0338デフォルトの名無しさん2012/05/15(火) 11:43:19.25
カスタムコントロールの動作はコードビハインドにプレゼンターとして実装する
データはコントロールのプロパティにViewModelをバインドさせるから、このケースだとMVPVMになるのだろうな
0339デフォルトの名無しさん2012/05/15(火) 16:11:25.82
>>327
今はそうでもない
http://hp.vector.co.jp/authors/VA050396/tech_01.html
日本語の解説もちゃんとあるし、ドキュメントも日本語化されてる
tsfappというサンプルもある
マネージドコードでの実装は面倒なんでやりたくないが
0340デフォルトの名無しさん2012/05/15(火) 17:14:07.51
TreeViewItemにTextBoxを載せて、

・TreeViewItemがフォーカスを取得した時にTextBoxにフォーカスがくるようにしたい。
・TextBoxがフォーカスを取得した時にTreeViewItemを選択状態としたい。

としたいのですが、どのようにしたら良いでしょうか?
TreeViewItem.GotFocus で子のTextBoxのfocus()を呼び出すようにすると、親のTreeViewItemにも
イベントが発生してしまいルートアイテムのTextBoxがフォーカスを取得してしまい困ってます。
0341デフォルトの名無しさん2012/05/15(火) 17:21:14.71
FocusManager.IsFocusScopeじゃね
0342デフォルトの名無しさん2012/05/15(火) 23:38:24.90
知らないけど、e.Handled = true じゃダメなの?
03433402012/05/16(水) 00:15:05.34
>>341
すいません、どう使えば良いか分からないです。
TreeViewItem でセットするんじゃないんでしょうか?

>>342
e.Handled = true にしてもバブルアップされてて困ってたんですが、今簡単なサンプル作ったら上手くいきました。
↓でも同様に悩んでる人がいたみたいなんですが。。。
ttp://stackoverflow.com/questions/1800188/preventing-wpf-treeviews-gotfocus-event-from-bubbling-up-the-tree
もう少し検証してみます。
0344デフォルトの名無しさん2012/05/16(水) 00:17:16.57
まもなく、WPF2ちゃんねるブラウザが誕生するよ。
2ちゃんねる界に革命が起きる!
0345デフォルトの名無しさん2012/05/16(水) 00:37:53.42
>>339
そのページはわかりやすいね。

けどtsfappは、リンク先にも書いてあるけど、
Win32のテキストボックスコントロールをTSFで拡張する例であって、
WPF用テキストエディタを作るにはちょっと頼りない気がする。

肝心な部分はテキストボックスコントロールの内部実装を利用してて、ソースコードが見られないから。
0346デフォルトの名無しさん2012/05/16(水) 09:54:57.23
http://www.atmarkit.co.jp/fdotnet/chushin/introwpf_05/introwpf_05_03.html
にあるような式木を視覚化するので遊んでたんだけど、たかだか10階層超えたあたりで重くなるのね。
レイアウトロジックがタコくてO^Nになってる感じなんだけど、このへんはちょこっとフックして自前ロジックにすることって出来るの?
それともDataTemplateとかも使えず全部ゴリゴリ書かなきゃいけなくなる?
0347デフォルトの名無しさん2012/05/16(水) 11:01:35.71
DataTemplate内で使われてるパネルを独自のものに置き換えりゃいいんじゃねーの?

フックがどういうことを想定しているのか不明だが、
少なくともDataTemplateが使えなくなる事は無い。
0348デフォルトの名無しさん2012/05/16(水) 11:41:30.58
>>346
ダウンロードして10階層ぐらいにしてみたけど重くないぞ?
変なことしてんじゃないの?
0349デフォルトの名無しさん2012/05/16(水) 11:55:57.24
>>347
んーレイアウトのロジックだけ別のをインジェクトするとか的な意味なんだが、パネルを変えればいいのかな。Canvasとかに。
その場合はコンテンツを変更した時に一番下のから順にサイズ測ってセットとかすればいいのかな・・・

>>348
そのExpressionTreeTemplates.xamlのりソース定義をGrid.Reaourcesにコピーして試してるんだが、だからかしら・・・
(x,y)=>x+(y*21)+x+(y*21)+x+(y*21)*(x+(y*21)+x)+(y*21)+(y*21)+(y*21)+(y*21)+(y*21)+(y*21)
を表示させるとGridのレイアウト時とかに5秒以上かかる。
0350デフォルトの名無しさん2012/05/16(水) 12:32:33.02
>>349
> レイアウト時とかに5秒以上かかる。
こっちでは0.01秒しかかからないぞ。

レイアウト中にGCが発生すると0.08秒になったが、5秒はおかしすぎる。
0351デフォルトの名無しさん2012/05/16(水) 12:34:40.88
>>349
やってみたけど>>350と同じく問題ない。
DataTemplateはWindows.Resourceの中に突っ込んでるけど。
CPUはCorei5。
0352デフォルトの名無しさん2012/05/16(水) 13:18:15.13
>>345
そうなんだよな
そこら辺の部分は全部internalだから全部自分で書かないといけないという…
0353デフォルトの名無しさん2012/05/16(水) 15:24:13.02
>>350,351
Window→Grid→ContentControlとあるせいかと思って、Canvasでも試したが、何か一瞬速くなって解消したかと思ったがビルドしなおしたらまた戻った(´・ω・`)

よくわからんので、とりあえずソースうpします。そこのテンプレート持ってきてTextBoxに入れたものが表示されるようになってる。
もし暇な方いましたらみてみてくださいまし・・・なにかわかったらまたカキコします。
https://skydrive.live.com/redir.aspx?cid=71b440f382d67da6&page=self&resid=71B440F382D67DA6!519&parid=71B440F382D67DA6!126&authkey=!AmmFkt85IzbJfz0&Bpub=SDX.SkyDrive&Bsrc=Share
0354デフォルトの名無しさん2012/05/16(水) 17:49:00.62
>>353
実行してみたけど、特に問題なし。
コンパイルに150msぐらいかかっててテキストボックスの入力がもたつくぐらい。
とりあえず、%d じゃなく、{0}。
0355デフォルトの名無しさん2012/05/16(水) 18:05:50.20
>>354
あれーなんでだろう。
(x,y)=>1+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)+(x+1)
といった感じに後ろの+(x+1)を貼り付けを繰り返してると応答が返ってくるまでにどんどん時間がかかってく。上の状態だと最後の貼付けでは20秒ぐらいかかってた。
Corei7 820でGPUはしょぼいが。
上のをそのまま貼り付けると10秒。その後に+(x+1)を増やすと1分かかった。その間CPU使用率が13%のままになっている。終わると0になる。

%dは最近F#触っててそっちの癖でやっちまってた。すまんそ。
0356デフォルトの名無しさん2012/05/16(水) 19:20:39.66
C2Qでも一瞬だ
壊れてるんじゃないの
0357デフォルトの名無しさん2012/05/16(水) 20:25:06.80
>>356
なにがよw
0358デフォルトの名無しさん2012/05/16(水) 22:10:20.88
.net3.5だと遅いとか
03593492012/05/17(木) 09:30:24.99
別のノートで試したらデバッガーで動かして40個以上コピーしても一瞬だね(´・ω・`)
ノートもCorei7だけど。
環境のせいとしてスルーします。なんかある意味貴重な環境なのかしら・・・
0360デフォルトの名無しさん2012/05/17(木) 14:00:59.70
Blendすら使い方の怪しいWPF初学者ですが、どのUIElementにも使えるMouseEnterしたら左右にシェイクするというアニメーションを作ろうとしています。
ただで配られてたWindowsPhone用のBlendでStoryBoard作ってそれをコピペでVSにはっつけて試そうとしてるんですが、デバッグ実行して初めてそんなプロパティねーよとか言われたりしてます。
Blendで作ったものはTargetNameとか指定されてて、ちょっとやりたいことにそぐわない・・・

いまいちまだどれが対象になって、プロパティのパスはどうでとか理解しきれてないんですが、より手早くその辺があってるかなどを確かめるすべってありますか?
0361デフォルトの名無しさん2012/05/17(木) 14:21:23.98
コンパイラが目的とするものを知らないのに、どうすればいいかまで教えてくれるわけがない。
0362デフォルトの名無しさん2012/05/17(木) 14:38:52.50
インテリセンス出せるぐらいだったらわかるでしょ。
0363デフォルトの名無しさん2012/05/17(木) 19:52:14.16
blend使うメリットって手で書くより速く正解教えてくれることなんだから
「ふつう」の体験版でも使えばいいだろ
0364デフォルトの名無しさん2012/05/18(金) 09:27:44.60
wpfって何も考えずにDrawingGlyphなどで描写すると遅くなる・・・
AvalonEditで使われているコンポーネントにDirect2dだと1回の呼び出しで済むけど、
WPFだとグリフ一つにつき8回も呼び出す
おまけにDirect2Dのようにまとめる事がない
と書いてあった
即時モードでレタリングできるようにするか
Direct3D10やDitect2Dと簡単に連携できるようにしてくれ
今のままじゃあ使い物にならない
0365デフォルトの名無しさん2012/05/18(金) 09:55:14.40
WPFを低レベルAPIかなんかだと勘違いしてるんじゃないの
いい加減うざいから完成するまでこないでくれ
0366デフォルトの名無しさん2012/05/18(金) 10:05:38.12
>>364
.NET 4.5でWindows7より前のOSが非サポートになる事に伴って
そのあたりも改善されるかと期待してたけど、
何も変化はないようだね。

とはいえ、いつまでもDirect3D9のままってわけにもいかないだろうし、
いずれ改善されるんじゃないかな。
0367デフォルトの名無しさん2012/05/18(金) 10:24:56.20
これで頑張れ
http://msdn.microsoft.com/en-us/library/ee913554(VS.85).aspx
0368デフォルトの名無しさん2012/05/18(金) 10:35:56.51
> Direct3D10やDitect2Dと簡単に連携
標準で用意してほしいとは思うけど、
連携用のライブラリを一度作ればいいだけじゃん

既にDirect2Dを習得してるなら簡単でしょ
0369デフォルトの名無しさん2012/05/18(金) 10:56:23.45
Direct2DはWin7からだったっけ?
0370デフォルトの名無しさん2012/05/18(金) 13:54:58.65
wpf ってmargin(left, topのみ)で絶対配置してても微妙に座標がズレたりするんだな。
ナニコレ・・・
0371デフォルトの名無しさん2012/05/18(金) 13:57:00.58
丸めだろ
0372デフォルトの名無しさん2012/05/18(金) 14:47:21.33
>>366
そうなることを願いたい
metroの方は比較的簡単にDirect2Dと連携できるんだけどな

>>367
サンプルあったのか
ちょっと試してみる
ありがとう

>>369
vistaから
0373デフォルトの名無しさん2012/05/18(金) 17:03:46.34
テキストエディタにDirect2Dてw
文字入力やスクロールでカクカクしてなきゃいいんだよ。
以前、行番号表示したくてテキストエディタコントロール作ったが最適化して実用程度にはなったぞ。
0374デフォルトの名無しさん2012/05/18(金) 17:14:12.69
行番号表示とか矩形編集、シンタックスハイライト、スペースやタブの表示といった機能がかけていたので、作ってみた
http://kie.nu/aLB

>>373
Direct2D使わないとCore2Soloを積んだネットブックでひどいことになるのよ
ためしにCore2Soloを積んだネットブックで動かしてみたら、カクカクはしてないんだが、CPU使用率が天井に張り付いてて笑ったw
あと、半角スペースを表示できるようにしてみると、Core2DuoE8400+HD5770というスペックでもめちゃくちゃ重たくなる
0375デフォルトの名無しさん2012/05/18(金) 17:42:57.63
>>374
これ、もうDirect2D版?
7 だと表示されたけど、2003 Serverで動かしたら真っ白だな。
0376デフォルトの名無しさん2012/05/18(金) 17:55:50.96
>>375
Direct2D版ではないよ
0377デフォルトの名無しさん2012/05/18(金) 21:27:12.53
>>374
たかだか1万個のオブジェクトの描画にこの時間だからね。
ttp://msdn.microsoft.com/ja-jp/magazine/dd483292.aspx

パフォーマンスについては割り切るか、WPFを捨てるかのどっちかじゃないかな。
Direct2D使って今回の件を解決したとしてもちょっと複雑なレイアウト組んだらすぐ重くなって嫌になると思うよ。
0378デフォルトの名無しさん2012/05/18(金) 21:36:27.50
WPF使って高速に描画するならDrawingほにゃららを使うのがいちばんよいんだっけ?Direct2Dとかは除いて。
で、それはSilverlight,WP7、Metroにはないんだっけ?
0379デフォルトの名無しさん2012/05/19(土) 01:53:55.48
パフォーマンスよりも、いまさらWinFormsには戻れないよ。WPFというより、XAML+C#が主流です。
0380デフォルトの名無しさん2012/05/19(土) 01:58:42.20
WinFormsの方が作りやすい
0381デフォルトの名無しさん2012/05/19(土) 02:00:40.81
コントロールに値代入してくのもうめんどい
0382デフォルトの名無しさん2012/05/19(土) 03:19:45.32
http://mumurik2.wordpress.com/2007/09/24/managed-tsf-managed-implementation-of-itextstoreacp/#comment-209

もうすでにオンスポット入力をWPFで実現している人がいるので、表示属性の取得をやってみた
でも、0x80040201がthis._context.GetSelection()の段階で出てどうもうまく行かない
どうすれば取得できるんだろう
このままじゃあ使い物にならないよ

http://codepad.org/B4x6kW0M
TextStore.cs
0383デフォルトの名無しさん2012/05/19(土) 03:19:46.70
一度やったパターンだとwpfの方がラクな気もしてきたが、
ハマると100倍時間かかる。。慣れてないだけといえばそうなのかもだが・・
0384デフォルトの名無しさん2012/05/19(土) 12:49:06.38
>>382
RequestLock() してない。
03853822012/05/19(土) 13:06:12.70
>>384
デバッカーで例外が出る時の状況を調べたんだが、すでにロックされてた
03863822012/05/19(土) 13:17:00.08
すまん。
間違えて別のメンバーを渡していたのが原因だった
でも、今度は別の問題が発生した
property.GetValue()でプロパティの値を取得してGUIDを取得しようとしてるんだが、guidを取得する段階でInvaildCastExpectionという例外が発生してしまう
guidを取得するにはどうしたらいいの?

http://codepad.org/x3s7Hx7w
0387デフォルトの名無しさん2012/05/19(土) 14:11:32.72
実行不能なコードの断片なんか出されても回答のしようがない

問題を再現可能な、最小の実行可能なコードを出せ
0388デフォルトの名無しさん2012/05/19(土) 14:51:44.08
>>387
分かった。出してみる
http://kie.nu/aPy
ManagedTSF
0389デフォルトの名無しさん2012/05/19(土) 15:24:18.85
>>388
GetPropertyの第一引数が間違ってない?
http://msdn.microsoft.com/en-us/library/windows/desktop/ms629020(v=vs.85).aspx
0390デフォルトの名無しさん2012/05/19(土) 15:48:46.40
>>389
多分、これで合ってると思うが…
間違ってるってどういうこと?
0391デフォルトの名無しさん2012/05/19(土) 16:04:01.18
http://msdn.microsoft.com/en-us/library/windows/desktop/ms538791(v=vs.85).aspx

にはpredefined property identifiersを指定しろとあるのに、
何故かIIDを指定してるからさ。

そのIIDがpredefined property identifiersとしても使えるってのなら話は別だけど。
0392デフォルトの名無しさん2012/05/19(土) 17:27:43.29
>>391
IIDの実体はGUIDだから使えるよ
0393デフォルトの名無しさん2012/05/19(土) 18:07:58.90
>>392
俺が昔作ったやつの断片コード。参考になれば。
ttp://codepad.org/GPMsTdtb
0394デフォルトの名無しさん2012/05/19(土) 18:29:02.81
>>393
ありがとう
参考になった
もし、差支えなければ、コード全部アップしてくれ
車輪の輪の再発明はもうこりごりだ(笑)

そういや、コード読んで気になったんだが、VARIANTはどこの名前空間で定義されてるの?
VARIANTって.NET Frameworkにはない型のはずなんだが
あと、_servicesはどういう感じでインスタンスを作ってるの?
0395デフォルトの名無しさん2012/05/19(土) 20:45:42.40
>>394
簡単なサンプルつけといた。
ttps://docs.google.com/open?id=0By6Cgv6nBdtsN1JsbzlOaXBXcWc

VARIANT は探せばいくらでもサンプルでてくるだろ、と言いつつ自分は
Reflectorでランタイムから抜き出したw
0396デフォルトの名無しさん2012/05/19(土) 21:02:31.31
PROPVARIANTはともかく、VARIANTはObjectじゃないのか
0397デフォルトの名無しさん2012/05/19(土) 21:05:10.22
>>395
ありがとう
すごく助かった
0398デフォルトの名無しさん2012/05/19(土) 21:05:53.35
>>396
くぐったら、それができたんだが、objectだとどうもGUIDが取得できない
0399デフォルトの名無しさん2012/05/19(土) 22:04:45.48
>>396
2年ぐらい前に作ったやつだから良く覚えてないけど、
>>398が言うようにobjectだと正しく取得できなくて、色々調べた挙句
ランタイムの定義をぶっこ抜いたらVARIANTだった、と記憶してる。
ランタイムの定義がobjectではなくVARIANTだから無理なんだろうな、と結論づけた。
0400デフォルトの名無しさん2012/05/20(日) 00:43:41.34
VT_I4なら、System.Int32とか整数系の何かに一度キャストしてからでもだめなん?
0401デフォルトの名無しさん2012/05/20(日) 15:18:49.93
>>400
試してみたら普通にいけたわ。
特に関係なくぶっこ抜いたらVARIANTでそのまま使ってただけだったかな?
0402デフォルトの名無しさん2012/05/20(日) 15:47:01.97
>>400
お、ホントだ
試してみたら、普通にできた
0403デフォルトの名無しさん2012/05/20(日) 18:24:27.15
ある料金システムをWPFで開発することになったで、
デザインパターンはMVVMにしようということになったんで、
Livetで開発しようとしていたんだけど、いつ迄たっても、ver0.99のまま。
怖いんで、やっぱりMVVM Light ToolkitかPrismにしとこうかと悩んでます。

完成後の8年後もメンテするかもしれないし、メジャーな方が良いかな。

MVVMパターンの勉強は、主にU氏のドキュメントとかサイトで勉強したんで、
どうしたものかと思ってます。
0404デフォルトの名無しさん2012/05/20(日) 18:46:38.21
社内的な言い訳で言えばMVVM Lightのほうが説得力が増してよいんじゃないかなぁ
それ以外だと好き好きでどうぞとしか言いようがないが。
0405デフォルトの名無しさん2012/05/21(月) 00:36:30.76
Prism使うかどうかはともかくPrismのドキュメントは必読
U氏のやつより遥かに分かりやすいし、一人よがりな意見じゃなくて
こういう場合はこっち、こういう場合はそっち、みたいな感じで書かれててためになるよ
0406デフォルトの名無しさん2012/05/21(月) 10:28:17.98
オープンソースだし、コード見てもそんな複雑なことしてないから八年後でも十分メンテできるだろう。
でも八年後だとMetroも飛び越えて、さらに違うアーキテクチャがメインなってるかもしれんが。
0407デフォルトの名無しさん2012/05/21(月) 10:45:50.58
XAML系、生き残ってるといいが・・勉強させといて捨てたら電凸!
0408デフォルトの名無しさん2012/05/21(月) 11:07:04.01
XAML系は生き残ると思うよ。ただし八年後WPFがオワコンの可能性は高い
0409デフォルトの名無しさん2012/05/21(月) 11:12:46.94
ネイティブアプリがオワコンだろ
ネイティブもASP.NETベースに統一されて終わり
0410デフォルトの名無しさん2012/05/21(月) 11:22:28.05
ネイティブって.net framework 自体ネイティブじゃないとも言えるが、
もっと広義でデバイスで直動くもの全般がって意味かw
0411デフォルトの名無しさん2012/05/21(月) 11:23:57.62
WPF並みの表現力があってHTML5+.NETでクライアントもWebもいけるフレームワークが出たら
XAMLなんか一瞬で無かったことになるのに
0412デフォルトの名無しさん2012/05/21(月) 13:09:32.38
XAML←これは読み方はザメルでいいの?
0413デフォルトの名無しさん2012/05/21(月) 13:46:26.57
ガッシャ
0414デフォルトの名無しさん2012/05/21(月) 15:03:55.73
>>412
が〜まる
0415デフォルトの名無しさん2012/05/21(月) 15:05:33.12
マジレスするとクスァーミル
0416デフォルトの名無しさん2012/05/21(月) 18:24:49.39
>>410
ターゲットとするプラットフォームでしか動かないものをネイティブと呼ぶのが最近の流行り
もっと言えばAndroidとiOS両対応でないものがネイティブw
0417デフォルトの名無しさん2012/05/21(月) 20:02:33.77
>>414
お前WDDにいただろw
0418デフォルトの名無しさん2012/05/21(月) 21:07:45.51
http://kie.nu/b3a
速度面で問題はあるが、日本語入力ができるFooTextBoxのWPF版ができた
いろいろと教えてくれてありがとう
すごく助かった
0419デフォルトの名無しさん2012/05/22(火) 09:34:45.43
>>412
ゼームォーだよ
0420デフォルトの名無しさん2012/05/22(火) 09:47:24.60
>>412
間を取って吉田君で良いだろ
0421デフォルトの名無しさん2012/05/22(火) 21:23:28.54
D&Dはオブジェクトの参照を取得できるのに、クリップボードのカスタムデータはシリアライズされたデータのコピーした取得できないのね。
同一プロセス内でのみしか使用できなくて良いから、なんかうまい方法ない?

D&Dってコピー&ペーストの一つの表現方法だと思ってたけど、違う思想なのかね?
■ このスレッドは過去ログ倉庫に格納されています