[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 08/06 12:29 / Filesize : 162 KB / Number-of Response : 716
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 15:53:23.55 ]
ユーザーインターフェースシステム、Windows Presentation Frameworkについて語るスレ。

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

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
ideone.com/

2 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 15:53:41.93 ]
過去スレ
Part11 toro.2ch.net/test/read.cgi/tech/1320589318/
Part10 hibari.2ch.net/test/read.cgi/tech/1315648327/
Part9 hibari.2ch.net/test/read.cgi/tech/1301122694/
Part8 hibari.2ch.net/test/read.cgi/tech/1291554513/
Part7 hibari.2ch.net/test/read.cgi/tech/1282479113/
Part6 hibari.2ch.net/test/read.cgi/tech/1274423236/
Part5 pc12.2ch.net/test/read.cgi/tech/1261879110/
Part4 pc12.2ch.net/test/read.cgi/tech/1245384489/
Part3 pc12.2ch.net/test/read.cgi/tech/1231506876/
Part2 pc11.2ch.net/test/read.cgi/tech/1211453941/
Part1 pc11.2ch.net/test/read.cgi/tech/1162950198/

3 名前:デフォルトの名無しさん mailto:sage [2012/04/14(土) 01:50:26.83 ]
www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=0663F616-C55C-4E19-A2E6-2AF6107D5689
なんで4.0.3のアップデータって4.0本体より大きいんだろう

4 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:16:29.24 ]
WPFは死にました

5 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 14:24:27.05 ]
4.0.3で重要な修正ある?

6 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 19:13:14.39 ]
ガベージコレクションの変更とか。

7 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 09:57:00.87 ]
ARM版Windows8の名前Windows RTになるみたいだがややこしいな

8 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 11:30:39.02 ]
コントロールのTemplateって部分的に書き換えるとかできないの・・?
できないなら、デフォ設定を引っ張ってくる記述ってないのかな。トリガーとか。

9 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 14:55:11.19 ]
デザインモードでよくわからんエラーが出続けてて格闘してたが
プロジェクトクリーンで直った
.g.cs達の影響うけすぎ

10 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 20:20:31.91 ]
>>8
「リソースに書きだす」だかなんだかいうのがあるだろ
同じコントロールでもvsとblendで書きだす内容が違うけどな



11 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 20:38:01.84 ]
WindowのLoadedイベントにCommandをバインドしたくても
コード上でDataContext設定したんじゃイベント発生に間に合わないのな

12 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 21:36:31.25 ]
イベントにはICommand型はバインドできんやろ?

13 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 01:37:24.96 ]
MVVMはもう詰まったら逃げろが正解な気がしてきたぜ。頑張っても自己満足だしな。
そのケースなら、もうデリゲートとかで渡しちゃえよ的な・・

14 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 11:17:06.75 ]
WindowsRTのデスクトップアプリってWPF使えないのかな

15 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 08:13:19.51 ]
どっかで誰かが言ってたみたいに、ビヘイビアもメッセージもコマンドも使わないで
常にイベントハンドラからVMのメソッド呼ぶことにしたらほとんど悩むことがなくなった
もうこれでいいわ

16 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 12:40:18.25 ]
SliderのValueをとある自前クラスのint型プロパティにBinding(OneWayToSource)しているんだけど、
スライダを動かした際にプロパティのsetに加えてgetも呼ばれてるのは仕様・・・?
実装の都合でgetのコストがちょっと大きいので、setだけにしたいんだけど

17 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:20:26.82 ]
コマンドもメッセンジャーもインフラ構築しないと面倒くさすぎるからな
色々な機能をふやすと労力をMVVMじゃなくて機能面に注ぎたくなる

18 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:22:16.23 ]
書いてないことは仕様じゃないし充てにしてもいけない

19 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:39:30.04 ]
趣味のプログラムでも
ユニットテストやらなきゃいけない時代なんじゃないかなぁ
ビハインドで書くとまずテストできんでしょ

まあ、MVVMで書くのも、テストしないのも、同じくらいコスト高いけど

20 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 12:43:06.27 ]
DataGridでe.Row.Getindex()をバインドさせて行番号を自動で振ってる場合に、
コレクションの追加、削除等をすると、ObservableCollection は変更があった行しか
CollectionChangedを発生させないからか、既存行の行番号が再付番されないのですが、
普通はどのようにしていますか?

ObservableCollection を継承してCollectionChangedを公開・・?
それかコレクション側に行番号を持つにしても、付番しなおさなきゃならないですし・・



21 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 15:58:21.24 ]
OnCollectionChangedを公開する方法で上手くいきました。

22 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 11:19:38.98 ]
>>19
ビヘイビアで書かれた複雑なスクリプトをデバッグするよりはコードビハインドの方がマシ

23 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 17:09:56.98 ]
つきつめるとViewModelもいらんくね?ってなるけど。
ViewModelのコレクションはまじで煩わしい。

24 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 20:26:08.10 ]
アプリの機能が増えてくると機能単位のVM作っておいたら割と便利だた
画面単位でVM作るのは本気でいらんと思ったわ

25 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:05:05.91 ]
バインドだけ使えればいい

26 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:23:05.88 ]
バインドが楽なところはバインドでそうじゃないところはコードビハインドが妥当
VM作る作らないは開発規模次第
Blendがある環境ならまだしもフルスクラッチなメッセンジャーやビヘイビアで作られたやつとか触りたくないわ

27 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:30:26.59 ]
できるやつはそれでいいけど、ビヘイビアとかを完全にフリーダム?wにすると
カオスになりそう。デフォアクションが足らなすぎるんだよなぁ。コンバータとかも。

つか、よく読んでなかった。使わんでいいだろって話か。多分。

28 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 23:27:32.54 ]
いろんな状態持ってたり複雑なロジックで導出される値があったりするならVM必要だけど
エンティティのプロパティをテキストボックスで編集できて
保存ボタンで保存できればいいだけの画面にVMなんかいらんわな

29 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 23:53:10.60 ]
大切なのは一貫性だと思うが。
机にきれいに収まっていてもどこに何があるのか分からない部屋より、
乱雑に置かれているけどどこに何があるかすぐに分かる部屋のほうが良い。

30 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 07:42:34.18 ]
俺は事務の仕事をしているのだが、
C#とWPFを使って、業務を高速化させているw

うちの会社のシステムはWebアプリ化しているから
自分で作ったアプリで、WebBrowser上で表示させて
HTMLDOMで情報抽出、自前でデータ管理しているから
仕事が速い。

仕事が出来る奴と思われてWPF様々ですよ。
周りの奴らは、俺がそんな自作ツールを使っている事は当然気づいていない。



31 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 07:45:45.55 ]
有名なIT会社が作ったWebアプリで、
重要な項目には必ず、id属性がふられているので、GetElementByIdで簡単に取得。
データ加工したものは、Sqliteを使って保存している。
だから情報検索も早い。
仕事しながらツールを作るのが大変だったけど、作った後は激楽になった。
デバッグ環境が会社にしか当然ないからw 同僚に隠れてVS2010起動しながら作るのが一番大変だったw

C#たん、様様。

32 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 08:22:48.80 ]
>>29
MVVMってビュー単位で閉じてるのが基本で、
VM持ってるかどうかは外から意識することじゃなくてビューごとの実装の詳細みたいなもんだろ?
そんなに大したことじゃないと思うが

33 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 10:26:27.93 ]
>>31
よく隠れて作ったな。

そのうち使っているのがばれて、
皆が使い出して改造を頼まれてるようになり大変になったりてな・・・。

34 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 11:19:34.02 ]
スクレイピングはいいよな
俺はPowerShellでやってるけど

35 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 13:13:35.51 ]
>>30
仕事が速いだけじゃなくて正当に評価されると良いのにな。

36 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 13:50:55.08 ]
調子こいてバレてシステム部門に異動で泣きを見るな・・・
趣味レベルだと面白いんだ。責任はないし逃げれるからな。

37 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 02:44:39.44 ]
WPFの場合は、Forms.WebBrowserを使わないとdom操作できないよな。

38 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 01:20:29.81 ]
dynamic使う

39 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 23:36:56.24 ]
XAML系ってXAMLで書いたら静的になっちゃうよね?
なんつーかスタイルとかモーションとか。
その辺動的にゴニョゴニョ出来る仕組みってあるの?

40 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 23:58:34.99 ]
トリガーはどうよ



41 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 10:44:13.33 ]
なにを意図してるかよくわからんが・・・
cssのa:hoverみたいなのなら>>40とかテンプレート弄るなりできるし、
外部にリソースディクショナリ出しちゃえばcssみたいにスタイルは外に追いやれるが。

42 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 05:29:01.78 ]
XAMLを使わないプログラムはやらないかなあ。
GWTとかMacでIB使わない開発してるからそっちのほうが
違和感がないんだが

43 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 07:36:25.45 ]
>>40,41
ユーザーの設定とかでトランジションや何かした時のアニメーション動作を変えたり、全体的に文字を大きくするとかを動的に変えることが出来るのかなーと。
UIの階層構造にしても出来れば動的に変えたい。
いや、XAMLまだ触ったばかりでよく知らないので、こうすれば出来る的なのがあればぜひ教えてほしい・・・

44 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 10:47:53.05 ]
>>43
文字サイズなら、包含継承っていう仕組みで親要素から子要素にプロパティが継承される
はずだから、最上位のGridとかだけ設定してやりゃ子は全部変わるはず。
そこのfontsizeにバインドなりさせりゃ動的に変更できる。(と思う。やったことない)

階層構造を動的にか。やったことないが、
0からコントロールをコードで追加していくってのはできるよな。
現実的には、ある程度部品纏めてユーザーコントロール作るとか。

45 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 10:48:54.63 ]
普通にコードビハインド書けばいい
アニメーションでできることならできるだけXAMLでストーリーボードとして定義して
コードから開始させる

46 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 11:41:21.80 ]
>>44.45
前アニメーションとかは使ってなかったんだけど、UIについては自分でゴリゴリ書いて動的にコントロール追加とかしてた。
いいたいのはXAMLで書くと不必要に静的にならんかということ。
うまく混在させればいいんだろうけれど、そもそもXAMLで書いたほうが幸せになるのか、動的な構造変化も出来るような独自のDSL作っちゃったほうが、幸せになるんじゃないかとか。
そもそものINotifyPropertyChangedとかの実装が醜すぎて嫌いというのがある。
XAMLでBinding楽に書けるよレベルのは自前DSL書いて楽にできるだろうし。
まぁそうするとBlend使えなくなったりとかもあるので痛し痒しなんだが・・・(;´Д`)

47 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 13:23:40.41 ]
>>46
ttp://www.forest.impress.co.jp/docs/review/20120419_527336.html

48 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 13:27:20.54 ]
WinRTにデスクトップアプリという概念はない


49 名前:デフォルトの名無しさん [2012/04/27(金) 14:02:19.97 ]
XAMLを使わないと簡単にコントロールをラップするクラスが作れて本当に便利だ。

50 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 14:14:46.16 ]
依存関係プロパティの定義とか、いちいち定義がダルいのをどうにかして欲しいな。
普通のプロパティに属性付けたら勝手になる感じでいいだろと。
コールバック?シラネ!



51 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 16:05:38.56 ]
>>50
スニペット使うといいよ。
wpfdp とか wpfdpa とか idataerrinfo とかetc。

52 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 16:07:48.34 ]
ここは自ら好んで苦難の道を行かんとする猛者多いな。

53 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 16:34:10.61 ]
>>47
その仕組でILいじるのはありっちゃありだが、テストとかじゃなくてプロダクトコードにそれでやるのはちと怖い(;´Д`)

54 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 17:36:26.96 ]
WP7などでバインディングがもっさりの現況とか言われてたことがあったけど、実際のところどうなんでしょう。
たしかに無駄な処理してそうな気がしますが・・・

55 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 18:26:15.33 ]
それってバインディングじゃなくてレイアウトの再計算の方がボトルネックになってるんじゃないか

56 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:09:16.98 ]
formsみたいにcanvas1枚の上にコントロール全部のぺって貼り付けたら早いんじゃね

57 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 00:54:23.07 ]
Livet使ってるけど、参考になるサンプルが少ない。
難しいことはわからなくても大丈夫なように作ったんだろうに、
下手な解説資料よりサンプル増やしたほうがいいってことに気付け

58 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 01:15:36.69 ]
携帯の画面ごときにレイアウトのコストなんてほとんどかからんやろ
デスクトップとは比べ物にならないくらい単純だぞ

59 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 13:58:31.29 ]
久しぶりにAccess触ったらSQLにコントロール名入れたりとかすげえなw
そりゃこういうのに囲い込まれた連中がMVVMとかあんまりにもギャップがありすぎるわな

60 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:18:45.79 ]
VBA7.0なめるなよ



61 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 22:44:38.33 ]
>>57
最近はフォーラムでも幾つも使用例上がってんだから
サンプルなんて探せばゴロゴロあんだろ
それでも判んないならやりたいこと言えばいい

62 名前:デフォルトの名無しさん [2012/04/29(日) 06:17:34.08 ]
マイクロソフトは開発言語がC++とMFCだったころは強制的にフレームワークで
プログラミングをがんじがらめにしておいて、
NETになったら、すべてユーザー任せにした。これに対応できないユーザーがほとんどだった。
WPFになっても同じ失敗を路襲している。
WindowsFormsのリソースをどのようにしたら、WPFのアプリケーションに再利用できるのかぐらい
サンプルコードで提供できないのか?
これではプログラムのロジックの継承も断絶する。

63 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 06:19:46.94 ]
おっさんは切り捨てる方針に決まりました
現在25歳以上の人はご愁傷様

64 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 07:12:18.26 ]
>>62
MFCもそうだけどどうせ現場では出来る(興味のある)やつが
ひな形を作ってコピペする作業が始まるよ

65 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 08:04:47.62 ]
偉そうに記事見つけたからLivetいれてみたけど
サンプルのUIが糞すぎてワロタw
疎結合だMVVMだと偉そうに語ってても
こんな糞UIしか作れないんじゃ意味ないな

66 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 08:29:28.80 ]
Messenger.Raise(new TransitionMessage(new MemberViewModel(new Member(_model),this), "Transition"));
なんだこれ分けわかんなさすぎるぞ
ここまでしなきゃだめなのかって

67 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 08:50:20.01 ]
>>65

Viewの部分の見た目とかはLivetと関係ない部分だろ

>>66

Livetのソース公開してるから見たらいい

new MemberViewModel(new Member(_model),this), "Transition"

の部分は、その例で、たまたまそうなってるだけであってLivetと直接関係ない。
わざわざMessenger.Raiseの中で3回もnewが出す必要はなく
サンプルのコードが悪いとしか言えない

ttp://ugaya40.net/livet
このページのいくつかの使用例と、あとはLivetのソース追っていけば
後は動かしながら試していくと一応なんとかなる

しかしドキュメント整備するとか言ってて、結果が何もないまま1年間経っちまったなw
なんとかして欲しいわ

68 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 09:29:01.02 ]
使えないことが露呈するからサンプル作れないんだよ

69 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 09:38:01.57 ]
見た目関係ないないなら、Livet、強いてはMVVMパターンさえいらない
Livetだからこんなことができますって表現がほしいね
てか、WPFのアイコン化とかコードビハインドなしでできるの?

ソース見なきゃコード書けないって、そもそもそういう設計ってどうなのよ?
疎結合とか言っておきながら、ライブラリのソース見なきゃ使えないっておかしくないか?

ViewModelHelper.BindNotifyChanged
ReadOnlyNotificationDispatcherCollection<MemberViewModel> Members
DispatcherHelper.UIDispatcher

あとこれなんだよ、この長ったらしいの
わけわかんないコード自動で書くんじゃねーよ

とにかくさ、MVVMができるのかなんか知らないけど
初心者お断りって書いて欲しかったわ
アンインスコ決定

70 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 09:46:36.37 ]
あーあとさ、Win32APIを使う場合、一体MVVM的にどこにコード書くのさ?
それもLivet使えばxamlで書けるの?無理なんだろ?

この作者のMVVMの説明みたけど、WinFormではTreeViewで子ノードにチェックできないとか
書いてたけど、それぐらいカスタムコントロール作ればできるだろ
去年の年末以降、ぴたりと開発止まっちゃったみたいだけどもう投げ出したのかね
バグも多いみたいだしさー、他人のライブラリにバグがあるのが一番致命的なんだよ



71 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 10:13:13.25 ]
<l:DirectInteractionMessage CallbackCommand="{Binding RemoveCommand}">
あとこれだよ、削除するときの確認ダイアログにメッセージを表示する機能があるか
どうかなんてどうやってV側でわかるんだって話よね
Removeって打っても、インテリセンス働かないしさw
VMがどんなプロパティを公開しているかすらわかんねーじゃん
結局V側がVMの内部実装を見て判断することになるわけで
だったら、VMでダイアログ出したほうが早いだろって話だよ

Vから作ったとしても一緒だよな
RemoveComandつけたから、VMで実装しようと考えるわけで
結局、VとVMどちらがわもソース見なきゃ書けないわけだろ
構造的に分離されてても、作業分担できないってことじゃん
しかも個人でやっている人間からすると無駄でしか無い

72 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 10:51:44.38 ]
MVVMでどうやってゲーム作るんだ?
VMに依存しないで書けるんだよな?
スカイリムのようなゲームをMVVM+Livetで作ったサンプルを公開してほしいね

73 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 10:56:48.68 ]
一つのフレームワークで業務アプリからゲームまでなんでも対応できると思っている奴

74 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 11:16:14.79 ]
俺はもうlivetとかを使わずに自作の使ってるわ

75 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 11:21:21.58 ]
>>73
なんでも対応できるように書いてたからね
Livet最強、他では無理
みたいなことばっかり書いてたくせに
何もできないじゃないか

MVVM以前にそもそもLivetに依存しているだろとw
Livetなければできないようなパターンを学習する意味あるのかって話
いつ投げ出すのかわからないようなライブラリに依存したコードを書くほうが
VとVMが依存したコードを書くよりも恐ろしい

76 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 11:31:18.94 ]
ものすごくゆとりだなあ
問題をはき違いえているようにしか思えない
あとlivetをつかったそこそこ大きいソフトはKrileがある

77 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 11:54:00.40 ]
銀の弾丸探しに労力かけるアホがいたのか

78 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 12:49:47.77 ]
ソースもサンプルもドキュメントも、少し集中してLivetの作業やれよ、っという外野の声は多数。

79 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 13:22:07.13 ]
>>76
ゆとりでも使えるものとして作ってるんじゃねーの?
あと、そこそこ大きいとかじゃなくて、小さいサンプルをくれと言ってる
ReadOnlyNotificationDispatcherCollectionでぐぐってもろくにサンプル出てこないだろ

80 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 13:28:46.19 ]
ライブラリを提供する側としては、使ってもらうためには単純だけど網羅的なサンプルとか必要だからなー。



81 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 14:07:18.71 ]
メッセージにstring使ってtypoする危険犯すくらいなら
enum使うようにデザインすればいいのにね
生産性に寄与してない

82 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 15:59:23.97 ]
MVVMでゲームか。速度出なさそうだな・・
Messengerでオブジェクト出して座標をバインドとかだろうか・・・
一般的?なBBに全部自力描画でフリップ的な仕組みだと、どうやりゃいいか想像も付かんな。

83 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 16:09:15.87 ]
LivetじゃなくてMVVM Light ToolkitとかSimple MVVM Toolkiとかどうなの
Simple MVVM Toolkitが特にきれいにまとまってていい感じなんだが

84 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 17:01:41.78 ]
MVVM Light Toolkitこれはだめだわ糞すぎ

85 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 06:32:04.01 ]
外人のサンプルみたら、MVVMどころか
ViewModelクラスすらなく、イベントハンドラにベタ書きしてた

86 名前:デフォルトの名無しさん [2012/04/30(月) 06:33:53.39 ]
>>85
それでいいんじゃね?
慣れてくればMVVMのお作法使ったほうが自分で面倒見ないと
いけないコード量が減らせるのでこっちがいいやって感じるんだけどさ

87 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 07:16:15.95 ]
>>85
なんのためのサンプルかによるよな。
サンプルプログラムレベルだと冗長に感じるだろうし

88 名前:デフォルトの名無しさん [2012/04/30(月) 07:18:02.64 ]
動的にコントロールのインスタンスを作成するとき、
そのコントロールのイベントハンドも動的に追加するだけで、
柔軟性のあるコントロールが利用できる。
カスタムコントロールなんて作るだけ骨が折れるだけで拡張性がない。
所詮プログラミングはイベントハンドラを使うしかないのだ。


89 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 08:22:17.94 ]
>>87
ゲームプログラマだから相当な実力だと思うんだが

90 名前:デフォルトの名無しさん [2012/04/30(月) 08:23:27.51 ]
>>89
それだったら「ゲームでMVVMなんて使えるか!」じゃないの?



91 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 08:26:39.33 ]
そうかもしれん
素人がメモリリークやVとVMの分離を意識するだけ無駄だな

92 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 08:26:45.55 ]
MVVMどころか、WPF使わないわな
リアルタイム系のシューティングやアクションとかだったら

カードゲームとかのんびり系ならいいけど

93 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 11:11:05.28 ]
荒れてんなぁ。
U氏の我こそがMVVM教の祖である的な物言いが鼻に突くのに成果物があれだから叩かれやすいんだろう。
Livetは禁止ワードにしたらどうだろうw

あと、ゲームでMVVMなら、bubbleburstがあるだろ。
ttp://bubbleburst.codeplex.com/


94 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 11:15:36.42 ]
今のところオナニーコードや意味不明な文章を垂れ流してTwitterで騒いでるだけだからな

95 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 11:27:40.85 ]
コードから伝わってくる神経質なデザインがコーディングしてていらいらする
各所での回答も冗長で的外れ、なんか統失っぽい

96 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 11:57:14.51 ]
>>94-95
いい加減よそでやれ

97 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 22:34:04.91 ]
みんなVMからDispatcher使いたいときどうしてる?

98 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 22:42:21.00 ]
Vのインスタンスを渡すとか

99 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 01:22:23.37 ]
最初にUIスレッドで初期化させてDispatcher.CurrentDispatcher

100 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 03:35:58.63 ]
そのDispatcherは持ったまま後で使いまわしてもいい・・・よね?



101 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 03:43:06.20 ]
VMをdispatcherobjectにするのはダメなの

102 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 07:41:58.93 ]
LivetのDispatcherHelper.UIDispathcerとかも、
まさに99みたいにCurrentDispatcher取得しといて
それを100のように使いまわしてるだけだしね

101のはちょっと違うと思う

103 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 08:10:34.78 ]
System.Windows.Application.Current.MainWindow.Dispatcher

を使うってのは何か問題ある?

104 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 08:24:24.74 ]
あれこれいじるとVMの単体テストができなくなるから
VにCheckAccess入れたほうがいいんじゃないかな

105 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 08:26:58.69 ]
>>103
MainWindowの意味が分からん

106 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 10:16:21.70 ]
確かに意味不明だな。
System.Windows.Application.Current.Windows から画面探せばいんじゃね。

107 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 10:53:39.63 ]
App.CurrentとApplication.Currentどっち使う?

108 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 11:48:35.84 ]
単体テスト的にはVMにUIのDispatcherを渡すって感じだろうな。
単体テスト時には適当なDispatcherを渡すと。

109 名前:デフォルトの名無しさん [2012/05/02(水) 12:46:52.64 ]
マウスジェスチャの機能を付ける予定だけど
WPFだけでできる?Win32API使わないと無理なら
素直にWinFormでやるけど

110 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 13:00:55.28 ]
mousemoveイベントは拾えて座標も取れるから
やれば出来る



111 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 21:14:27.03 ]
>>105-106
意味分からんと言われても。

ttp://msdn.microsoft.com/ja-jp/library/system.windows.application.mainwindow.aspx
アプリケーションのメインウィンドウを取得または設定します。


112 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 00:41:26.57 ]
>>111
105は極めて妥当な指摘。106はよく分からんが、乗っかってボケてみただけとか?

>>103
V以外でPresentationFramework.dllなんか参照したくないから問題
まあ、Task使う方が普通だからDispather自体いらないけどな

113 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 01:04:50.81 ]
WPFも触りたてだけど、ちかぢかMetroにも手を出さないといけないんだが、ICommandとかMetroというかWinRTだとどうなるん?
要はWPFでやってたようなBindingとかCommandとかMetroでも同じようにあるんだろうが、元の名前空間とか変わってるよねというかいまだに.NETとWinRTの関係がわからん。
MetroアプリをC#で書くとき、言語バインディングがどうたらで.NETに大して書くようにWinRTのAPI呼び出せるよとは聞いたけれど、その時は.NETのクラスは呼び出せない?
それともSilverlightみたいにWinRT用のCoreな.NETライブラリーがあってそれだけは呼び出せる?
その時はICommandとかどこに定義されてんのよ、別の場所だったらICommandとかを使うようなViewModelのWPFとの共通化はバイナリレベルでは絶望的でソースレベルならなんとかなるかもってことかい?

114 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 01:08:01.87 ]
どちらかにしかないコントロールを使ってなきゃXAML部分は使いまわせる、程度に考えていたほうが

115 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 01:09:37.90 ]
とおもてたら、ちょっとググったら答えっぽいのみつかた('A`)
ufcpp.wordpress.com/2011/09/15/windows-8%E3%80%81winrt/

んーICommandとか使ってるViewModelとかはソースレベルでdef切らないと共通化はできんのかしら・・・(;´Д`)

116 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 01:12:31.31 ]
>>114
ん、XAMLの方は言われてるように、独自コントロール使ってなければ使い回せそうです。
でもタッチとか含めて色々違うから、共通にする部品と、それを組み上げた独自のものとの組み合わせですかね。

むしろModel、ViewModel的なものをどこまで共通化出来るのかに関心が。
上のリンクにあるようにPortableLibrary使ってればかなり共通化できそうなのかしら・・・

117 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 01:22:28.36 ]
リンクのパワポで大体疑問点解消。
やっぱり名前空間の違い、何かしらで吸収しないとダメなのね・・・

F#でpartial使えないのに(-_-;)

118 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 01:41:01.96 ]
プログラミング初心者がWPFから始めるのは無謀ですか?
簡単だと書いていたのでLivetを入れたのですが
メモリリークとかよくわからない単語がたくさん出てきてびびってます

最初はコンソールアプリからしたほうがいいのかな?

119 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 01:53:17.15 ]
コンソールまで戻らなくてもいいけどmvvmは止めといたほうがいいと思うよ
直感的じゃないから

120 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 02:01:43.59 ]
デザイナにボタン配置してイベントにコード書くとかなら
別にWindowsFormと変わらんしWPFからでも問題ないと思わなくもない



121 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 02:26:17.86 ]
しかし、ブログにはコードビハインドにコードを直接書くことや
イベントドリブン型のコードを書くとメモリリークが発生すると書いてます
メモリリークしているかどうか判断する方法すらわからない初心者なのですが
やっぱり気になります
C#はC++と比べてメモリリークが発生しづらいと聞いていたのに
WPFだと違うんでしょうか?
そんなに重大なメモリリークなんでしょうか?

122 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 02:28:40.22 ]
u氏の解説は誘導じみた書き方をするから胸糞悪い
鵜呑みにしないほうがいい

123 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 02:32:53.08 ]
window1からwindow2を参照して
window2からもwindow1を参照したらリークする

ふつうは別に考えなくてもいいよ。どうせプロセス落としたら解放されるもの。
だいたいそんなこと言い出すやつに限って
もっと重要なリソースリークについて何も言及してないでしょ

124 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 02:39:05.91 ]
>>123
それって結構使いそうな感じですが、
window2にはデリゲートやイベントを作るとか
window1からwindow2を作らないで
VMから作るようにすればいいということでしょうか?

初心者がきにするようなことじゃなさそうなので、ほっとしました

125 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 02:43:08.36 ]
window2を呼ぶときに必要な情報を全部渡してwindow1にはアクセスさせない
どうしても2窓使いたいなら死ぬ時は全部後始末する
そんなとこかな

126 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 03:37:45.90 ]
なるほど、それならなんとかできそうだ
ありがとうございます

127 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 09:17:16.16 ]
>>123
これってなんでガベコレ効かずリークになっちゃうん?
何処かに詳しく書いてるのとかある?

128 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 10:26:11.36 ]
参照カウント方式だと循環参照でリークするが
.NETのGCはマークアンドスイープだからリークはしない
WPFでリークが問題になる(と例の教祖が主張しておられる)のは寿命が長いモデルのイベントをVやVMで受けるパターンだが
不用になるときにイベントハンドラを忘れずに外してやれば問題ない
ていうかそれWPF全く関係なくて普通にWinFormsでもありうること

129 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 10:40:32.71 ]
>>128さんのmvvmライブラリがほしい

130 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 10:47:32.53 ]
エディターコントロールを自作しようと思うんだがScrollViewer要素の内側に直接描く方法がわからない
AvalonEditだとScrollViewerの子要素にControlクラスを継承したクラスを置くような格好になってるんだが、それだとどうも気持ち悪い
www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor
かといって、OnRenderで描くとスクロールバーも破壊されてしまうので好ましくない
AvalonEditが行っている方法以外でスクロールバーなどの要素を破壊せずに直接描く方法があったら教えてほしい



131 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 10:58:57.62 ]
訂正
×かといって、OnRenderで描くとボーダ要素で描かれた枠線に隠れてしまうので好ましくない

追記
XAMLはこういう風になってる
codepad.org/tJsfxN8B

132 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 11:09:16.14 ]
>>128
それはWPFとかがウィンドウ同士の絡みではハンドルとかの関係で参照カウント的になってるってこと?
寿命の長いモデルのイベントが-ってのはマーク安堵スィープでも一緒だよね。

133 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 12:17:15.85 ]
>>123が間違ってるだけ

134 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 12:35:25.20 ]
間違ってないよ
君らtextboxのイベントがどうとかって絶対やるじゃん
それでリークしてるかしてないか試してみ

135 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 12:55:37.25 ]
コードビハインドでダイアログ表示しただけでもリークすると書いてたぞ

136 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:03:56.15 ]
循環参照によるリークじゃなくて、
window1から2を起動して2が閉じられた後も1が2の参照握ってたら2がリークするとかそういう話か?
2のイベントに1のイベントハンドラを登録するのは問題ない
逆の場合は片付けないとリークするがあまりそんなことはしないし
そもそもWPFもMVVMも全く関係ない話

137 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:15:29.91 ]
Livetの場合、VとVM間でリークが起きるという話だったよね

138 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:17:56.64 ]
それはVMからVに通知するときの話だろ
コードビハインドは直接関係ないぞ

139 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:20:44.73 ]
まあなんにせよ自分で確かめりゃいいよ
10Mだか100Mだかの配列作って強制GCして
タスクマネージャーからみりゃすぐわかるさ

140 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:26:15.80 ]
結局問題はVMからVへの通知だろ?(MからVMはこの際関係無いので)
VMからの通知(メッセージ)をVのコードビハインドで簡単に受信できて参照を適切に管理する仕組みさえ用意すればいいわけだな
V→VMはコマンドは使わずイベントハンドラからVMのメソッドを呼び出す
ビヘイビアは使わずイベントハンドラ
これでかなりとっつきやすくなるんじゃないか



141 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:31:25.65 ]
俺はメッセージ集中管理クラス作って
自分を呼んでほしいところは自分で管理クラスに登録するように作ったよ
weakなんとか使えば勝手に落ちるはずだし
windowまたがろうが何個window出そうが単体テストだろうが大丈夫

142 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:35:23.59 ]
今後WPFからイベントハンドラは消える
Livetのようにコマンドだけでやっていくようになる

143 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:36:35.22 ]
>>140
イベント使うとリークする

144 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:36:45.74 ]
イベントが消えたらビヘイビアはどうやって実装するんだ?
コントロールが直接ビヘイビアをサポートするなら結局仕組み的にはイベントと変わらんぞ?w

145 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:49:37.37 ]
よく知らんけどBindingとかでコマンドなりイベントなりプロパティなりつなぐと結果的に相互参照になってModelが生きてるとずっと残っちゃうって感じなんじゃね。

146 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:51:19.70 ]
>>130
なんで性能最悪・拡張性皆無な方法を取ろうとするのかなぁ・・・

147 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 14:03:20.93 ]
GDI脳だな
OnRenderがOnPaintの代わりになると勘違いしてんだろ

148 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 14:14:18.18 ]
こうして、もっさりテキストエディタは完成し、>>130

「WPFは遅すぎてつかえねぇ」
と吐くのであった。

おわり。

149 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 14:15:21.63 ]
OnRenderはDrawingVisual置いてその中に図形登録してるのとほぼ同じだからな
毛嫌いするもんでもないがOnPaintの代わりでは決してない

150 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 14:59:26.19 ]
お前ら詳しそうだな。ずーっとasp.netしかやってなかったしブチギレそうです!
困ったらJSゴリゴリみたいなことできないし・・・。いやそれがコードビハインドか。



151 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 15:51:28.47 ]
実際やろうとしたらむずかしい
テキストボックスはカレットの行桁取得表示しようとするだけでひどいことになる

まあVSと同じように1文字ずつ置いていくのが妥当なんだろうけど
フルスクラッチになる支那
お仕事じゃない限り手を出さないほうが無難

152 名前:130 mailto:sage [2012/05/03(木) 17:23:40.62 ]
>>146
WPF的にはそういう方法取らないのか
ということはavaloneditorみたいなやり方が一番いいということ?
自作コントロールの中にさらに自作のコントロールがあってその中にModelとViewとControllerがあるのはすごく気持ち悪いんだが…

>>151
実はWinFormのほうはできている
あとはMVCの部分を取り込んでレタリング関連のインターフェイスを実装すればおしまい


153 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 17:29:57.23 ]
>>151
>テキストボックスはカレットの行桁取得表示しようとするだけでひどいことになる
Uniscribeは低レベルAPI使うしかないからもうそれはひどいことになるけど、
DirectWriteを使えばキャレット関連はメソッド一個呼び出すだけで終わる


154 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 18:31:22.35 ]
2600Kの石かって、プログラミングしているけど、
ほんとCPUって劇的に早くなったな。
前のCPUだとWPF開発は重すぎてダメだったけど、2600Kだとどんなに重い処理をしても
CPU使用率5〜10%で済んじゃうからな
特にRibbonのUI作るのが楽になった
結構Ribbonって重いんだよ

155 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 18:51:05.40 ]
メモリリークなんて常駐アプリでもなけりゃ無視だわ

156 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 19:15:32.89 ]
ユーザーが使うもの作る立場でそんなセリフが言えるなら大したもんだ(´・ω・`)

157 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 20:19:07.47 ]
>>152
> ということはavaloneditorみたいなやり方が一番いいということ?
一番良いというか、教科書的な作りだな。AvalonEditは。
最適化に不足はあるかもしれないが、WPF的におかしな方法ではない。

158 名前:130 mailto:sage [2012/05/03(木) 20:26:45.74 ]
>>157
なるほど…
それが普通の作り方なのか


159 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 20:29:01.50 ]
VS IDEはWPFで作られているんですよね?
つまり、最低でもVSと同じぐらいのものは作れるってことですよね?
C++など使わずとも

160 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 21:33:27.63 ]
WPFかも試練がMVVMだとは言ってない品。



161 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 21:46:58.92 ]
>>159
極端な話をすれば、好きな時に好きな場所に好きな図形が描けて入力が拾えればGUIの下地としては十分なの
VSほどの規模になるとGUIにじゃんじゃんコストかけても全体から見ると大したことないわけよ
VSは独自に巨大なGUIフレームワークを構築してその最下層にWPFがあるような形で
そもそもあんまりWPF関係ないの

162 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 22:04:58.60 ]
>>161
ゲーム画面みたいなもんか

163 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 22:15:02.21 ]
>>162
それはWPF自体にも言えることだぞ
Direct3Dを使ったゲームと全く同じ

164 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 22:18:50.24 ]
OSの仕組が変わって従来の2D表示もあれだしな

165 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 01:05:13.57 ]
>>161
上に独自のフレームワーク乗っけてようがWPFである事は間違いないだろ。

MVVMであるのかは知らんが。

ただ何処までWPFなのかは知りたいんだが全部そうなん?


166 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 01:13:08.33 ]
VSがMVVMなら、MVVMサンプルとしてソース公開してくれ。凄くありがたい!

167 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 01:43:31.04 ]
ダイアログとかでMVVMに近いのはあるけど例の宗派のMVVMとはかなり違うよ
逆コンパイルすれば見れるけどカスタマイズされすぎて参考にならん

168 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 01:54:54.55 ]
逆コンパイルって中間コードをILで見るのと違って
ソースコードに近い状態で見れる方法あるの?

169 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 02:05:18.18 ]
>>168
ネイティブコードは無理じゃないかな?
アセンブラまでだと思う

.netの場合はいろいろ情報が入ってるので
難読化をほどこしてなければほとんどもとの状態になる

170 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 13:15:12.47 ]
MVVMって話出るたびいつも揉めますね



171 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 13:16:40.61 ]
別にバインドするとこだけViewModel用意しとけば事足りる話なのにね。
何か皆考えすぎてないだろうか?

172 名前:デフォルトの名無しさん [2012/05/04(金) 13:40:08.34 ]
データバインドは誰でもやるとは思うが、コマンドバインディングは労が多い割りに益が少ないんだよね
それと全てのイベントをバインドしようと思ったら怪しいライブラリのお世話にならないと行けないのがな

173 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 13:44:24.30 ]
ボタン2つしかないソフトならそりゃいらないだろ

174 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 14:00:44.19 ]
特に荒れるのは、プレゼンテーションモデル以外のモデルへ話が及んだときかな?

175 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 15:33:38.07 ]
というか、そろそろマトモなWPFアプリが出てきてくれてもいいんじゃないかと。
やっぱ起爆剤として2ちゃんねるブラウザが一番良いかと。
JaneStyleなんて90年代のテクノロジーですよ・・・いつまで使ってんのと?

176 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 16:17:03.12 ]
小規模なアプリなら作ったけどね

参考までに
1)mvvmまでいかなくてもコマンドパターンにしとけばテストコードは書ける
2)インストーラーはノウハウないとアプリもう一本作るくらいしんどい
3)ファイルやフォルダや色やフォントの各種ダイアログは用意しとかないとそこで詰まる

177 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 16:19:56.97 ]
2chブラウザならコマンドパターンだろうなあ
シェルにLivet教系のMVVMを適用しても間違いなく余計に複雑になるだろう

178 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 16:48:50.17 ]
2chブラウザほどコマンドが多くなるとメインウィンドウのVMにICommand並べるわけにもいかないから
動的にコマンドを登録してグローバルに管理するような仕組みにした方がいいか
MVVMはダイアログに使う程度だな

179 名前:デフォルトの名無しさん [2012/05/04(金) 16:55:02.41 ]
>>175
スマホやタブレット向けであるじゃん
そういうことだよ

180 名前:デフォルトの名無しさん [2012/05/04(金) 16:56:09.79 ]
<Sale>中国語版の書籍<IT|3D|NN|理系|上古漢語などなど>(格安) 280円より
http◎lang-8○com/194279/journals/1457398/



181 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 17:02:26.07 ]
2chへのアクセス方法がすでに時代遅れだしなあ
datを差分取得()

182 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 17:06:30.63 ]
新しいプラットフォームならともかく、デスクトップ向けで今から作るならまずは
膨大な機能を持つ既存のブラウザに追い付かないといけないわけで、全くやる気がしないな
WPFと関係ないところでの車輪の再発明にアホみたいに時間がかかる

183 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 17:19:54.46 ]
2chブラウザって簡単そうに見えるけど、実際作ると大変なんだよなw
iPhoneレベルのものなら何とかなるけど、デスクトップアプリだと難儀で大変。
だから、Jane以来、まともなソフトが出てこない。

184 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 17:33:37.12 ]
だいたいJaneは個人じゃないしな。
燃料がもらえるとこと機能(シェア?)争いしても不毛すぎるw

185 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 17:39:53.32 ]
2ch の API がうんこちんちんなのが悪い

186 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 19:51:32.00 ]
スレ表示にブラウザコンポーネント使ってるやつが山ほどあるけど
WPFで作れと言ってる人は、そういうのは2chブラウザとして認めないのだろうかという疑問。

187 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 19:52:25.13 ]
プレゼンテーションモデルとバインディングによるUIの構築、っていう点については疑問の余地もあまり無いと思うんだけどなあ。

Triggerとか部品が足りないとか、単純じゃない個別ケースでのビューモデルの構造をどうすべきかとか、
WPFと関係ない部分をどう設計してビューモデルと連携させるのかとか、そういう事で考えることはあっても。

188 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 20:02:05.60 ]
>>186
スレタイ

189 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 20:04:38.70 ]
webbrawser使ってるのは認めても
複数レス選択できないlistboxは絶対認めないのは火を見るより明らかだな

190 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 20:52:16.82 ]
MVVMを使った2chブラウザを見てみたい
というか新世代の2chブラウザを使いたい



191 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 21:24:21.10 ]
C#スレの惨状見てると2chブラウザなんて誰も作る気にならないと思うけど

192 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 21:39:28.83 ]
WPFは悪いものじゃなく、逆に使い次第では化けるFWなんだけどな。
気難しいから誰も近づからないという可哀想な子。根は優しいんだけどね。

193 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 21:43:30.55 ]
そんなことを言い出したら
>好きな時に好きな場所に好きな図形が描けて入力が拾えればGUIの下地としては十分
だからな
VSやBlendみたいに莫大な金かけて凄いもの作れても意味がない

194 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 21:47:07.81 ]
>>192
クラウドガールみたいにプレゼンテーションガール作ればいいんだよ

195 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 22:07:32.99 ]
クラウドみたいにフワフワしてるからなぁ。
誰もこれぞwpf!って像がはっきりと言えないと思うw

196 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 22:11:21.09 ]
化けさせたら意味ないんだよね
標準的なレールに沿った使い方で手間を書けずにそこそこのものが作れないとフレームワークとしては失格

197 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 22:24:40.71 ]
画面デザインに別アプリ買えとか寝言こいてる内は普及しないだろう
ツール習得コストもタダやないんやで

198 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 22:33:54.59 ]
WPFで2chブラウザとか言ってる奴はさっさと自分で作れよ。
お前がやらなきゃ2chユーザーの為にタダ働きなんて誰もしないぞ。

199 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 22:38:57.81 ]
化けさせなきゃいけないのは目に見えてるからなあ
だったらどうせWPF使う意味ないからスレッド表示部分は最初からDirect3D使ってフルスクラッチしたほうが賢い気がする

200 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 22:57:51.35 ]
WindowsPhone7用の2chブラウザがあるじゃん
正確にはWPFじゃないけど、似たようなもんだろ

あれをみて「コレじゃない・・・」と思うなら、それはWPFに幻想を抱いてるだけだ



201 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:03:46.80 ]
WPFを使ってない人ほど、映画の中のような突拍子もないUIを想像してるよな。

実際に作られてるのはWinForms+αなUIでしかないのに。
(ただし、αの部分がWinFormsでは実装しにくいので戻れない。)

202 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:06:39.50 ]
まあでも今からWPFで作るなら、
ビジュアルを最前面に押し出してネタ方面に走るくらいしか価値はないんじゃないかな実際w

203 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:20:52.78 ]
でも、今がチャンスだと思うよ。
誰も新世代の2ちゃんブラウザを作ってないのだから。
一攫千金のチャンス。
人気が出れば、●収入やアフェリエイト収入が出来て
年収1000万も夢じゃないっすよ。

204 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:50:59.49 ]
そう思うなら1000万払って誰かに作ってもらえばいいじゃないか。

205 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 23:51:48.77 ]
夢がショボすぎてワロタ

206 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:08:39.39 ]
WPF製のテキストエディタすらないんだから無理だろう
てかパソコン自体もう人気ない

207 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:26:56.01 ]
商用製品ならある
個人で片手間に作れるレベルじゃないがな

208 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:40:40.93 ]
WPFで2chブラウザ作っているところだけど、個人用に作るのが限界
汎用的に作ろうとしたら機能が多すぎる
一番の難問はセキュリティ、素人じゃだめだ

209 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 00:59:35.97 ]
2chは無駄機能が複雑すぎる

210 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 01:51:48.63 ]
皆が作れないからこそ、完成させた時にはお金がたくさん入ってくる。
Win8時代でもXAML+C#は現役だからな。作る価値はある。



211 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 02:06:26.57 ]
金払ってまでブラウザ欲しがるとは思わないが

212 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 03:06:40.42 ]
まぁ儲かると思うならやりゃいいんだ。なにも金儲けのネタ晒すこたないだろw

213 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 04:33:19.59 ]
そもそもソフト作って儲けるとかいつの時代だよ…

214 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 14:10:37.40 ]
カスタムコントロールの初期化ってどこですればいいの?
カスタムコントロールのデザインの仕方とかはMSDNに載ってるんだが、これだけはくぐってもわからなかった


215 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 14:26:25.74 ]
自分のプロパティを設定するだけならコンストラクタで構わない
プロパティの値を読み取る必要がある(レイアウトに依存してたりバインドされてたりするとき)ならLoadedイベント
WinFormsならOnLoadメソッドをオーバーライドするところだが、
LoadedはルーティングイベントだからOnLoadedはなくて常にイベントハンドラを使うことに注意

216 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 15:56:46.22 ]
>>214
イベントパンドラ―を使うってことはどこでアタッチすればいいの?
デフォルトの状態だと静的コンストラクターしかないからアタッチしようがないんだが
普通にpublicなコンストラクターを追加して、そこでやればいいのか?


217 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 16:07:35.77 ]
カスタムコントロールじゃなくてユーザーコントロールのことだよな?
ならXAMLから追加すればいいだろ
カスタムコントロールなら普通にコンストラクタで

218 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 17:00:34.53 ]
>>217
publicなコンストラクターは呼び出されないのかなと思ったら、普通に初期化できた
ありがとう


219 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 20:08:18.86 ]
FrameworkElementを継承させたFooTextBoxBaseにOnPreviewKeyDown()メソッドを追加したんだが、肝心のイベントが発生しない
どうすればいいの?

XAMLはこういう感じになってる
codepad.org/tJsfxN8B
FooTextBox.cs
codepad.org/YXP49As8
FooTextBoxBase.cs
codepad.org/7uVr43PH


220 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 20:17:58.42 ]
>>219
(追記)
FooTextBaseにたいしてFocuses()を投げても無駄だったし、IsFocuesbleをtrueに設定しても無駄だった



221 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 20:25:07.79 ]
なんでFooTextBoxBaseと全く関係のないXAMLとFooTextBox.csも張り付けてるの?

222 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 20:28:31.46 ]
>>221
とりあえず全部晒したほうがいいのかなと思って晒した

223 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 20:57:12.08 ]
こういうやり方で解決した
codepad.org/Bi5T1p5x

これでとりあえず動くようになったんだが、文字の入力が重たくて仕方ない
前の書き込みを見てるとOnRenderで描写すると重たいと書いてあったんだが、軽くするにはどうすればいいの?
(ただ、キャレットの移動自体は思いのほか軽かった)

224 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 21:10:52.87 ]
そーいや、FrameworkElementから直で派生させてるサンプルって全然見かけないな。

225 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 21:24:34.38 ]
>>211
どれぐらい売れてるかは知らんが、iPad用のブラウザかねだして買ったよ。
無料のに比べて激しく使いやすくなったから満足してる。


226 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 21:29:17.34 ]
そう思うなら黙って作って儲ければ良いのでは

227 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 21:46:27.35 ]
別に意見を言ったっていいだろう(´・ω・`)

228 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 21:52:02.36 ]
2chブラウザ自体というよりも、洗練されたWPFアプリケーションのサンプルソースになら金を払ってやっても良いよ。

229 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 21:53:06.90 ]
>>228
つ VS2010
つ Blend

230 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 23:17:38.46 ]
BlendがなければWinForm以下のアプリしか開発できない
それがWPF



231 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 23:33:49.83 ]
でもWinFormなくなるんだろ?

232 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 00:06:21.06 ]
>>223
君のパフォーマンスとの戦いはこれからだ!

マイクロソフト先生の次回作にご期待下さい。

233 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 00:08:28.60 ]
ちぇ。
俺たちのパフォーマンスとの戦いはこれからだENDで打ち切りかあ
新規連載面白いといいなあ

234 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 00:43:38.99 ]
>>223
GetVisualChild() と VisualChildrenCount つかえ。


235 名前:219 mailto:sage [2012/05/06(日) 01:36:15.44 ]
>>223
どういう風に使えばいいの?

あと、もう一つ質問なんだが、結構な数のプロパティがあるんでFooTextBoxBaseにあるやつと同じ奴をFooTextBox追加するのは結構面倒くさい
でも、FooTextBoxに依存関係プロパティがないとかなり使いにくくなってしまう
何かいい手はないんだろうか


236 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 01:40:47.55 ]
>>235
ビヘイビア

237 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 01:51:39.80 ]
> FooTextBox追加するのは結構面倒くさい
標準的な方法ではどうにもならないね。

他にも、WPFは色々と定型的で面倒な部分が多いので
ソースコードの自動生成で効率化することをお勧めする。

238 名前:219 mailto:sage [2012/05/06(日) 02:08:26.39 ]
>>236
それ使っても早くならなかった
なぜ遅いのかわからないのでプロファイラーを使ってみたら、別なところに原因があった

>>237
どうにもならないのか

239 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 02:16:56.51 ]
現段階のWPFに実用性はない

240 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 02:25:11.83 ]
"次回作" ではXAML周りも結構改善されてるし
そのうちWPFにも反映されるんじゃないかな



241 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 07:11:09.97 ]
hogeがhogeBaseから派生してないとかなんかくらくらするな
作るの2年早いんじゃね?

242 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 07:48:17.79 ]
Tips読んでも、Tipsに載っていないことやろうとするとさっぱりどうしていいかわからない
TreeViewにList表示することもできないWPFむずすぎる

ボタン配置するだけとかそんなんじゃないんだよ
XamlのTreeViewの属性に直接データ書き込むなんてするわけ無いだろ…
こんなチュートリアル何の参考にもならない

まずわかんないのが、プレフィックスとか言うやつだよ
x:Typeとかx:Keyとかなんだよこれは
それにDataContextにVM渡しているのに
Binding設定でまったくプロパティが表示されないってどういうことだよ
Vとロジック並行作業できるって、VのデザイナーがVMのソースコード見て
やらなきゃできないのか?だったら分担になってないだろ

もうわけわかんね、WPFやめる

243 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 08:25:44.56 ]
よし一緒にアンチWPFやろうぜ

244 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 08:29:53.71 ]
たしかに
おまえそのサンプルコードどっかのサイトからコピーしただけで
実際にどう使うか考えたことあるのか?
っていうのはよくあるね
でもタダ情報だしそんなもんだね

洋書のpro wpfは結構使えるよ

245 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 08:48:04.27 ]
TreeViewなんて殆どの場合、コレクションをデータバインディングするだろ
直接データ書き込むって使い方をするケースなんてほとんどないだろ
それで済むならTreeViewとか使わないでボタンとか他のコントロールでやるだろ

CodeZineとかほんと糞みたいなコード貼ってるよな
しかもログインしないと見せれないって、それでみたらこのありさま
どこの世界にTreeViewでTreeViewItemをXamlに階層構造そのままに直接書き込むんだ
これみてなるほど、非常に参考になりましたなんて言うと思うんかカス

他の個人のサイトも同じようなもんだよ
HierarchicalDataTemplate使って入るが
データバインディングするのに、VMでDataContextに直接node入れたり
TreeViewのItemSourceに直接入れたり、そんなやり方常識的に考えてやるわけないだろ
なめんな

246 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 08:52:06.22 ]
>>244
へーpro wpf、アマゾンでみたら中身みれるんだなw
買わなくていいじゃんw

247 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 09:02:55.77 ]
>>244
ちらっとみたけどさ、msdnと同レベルぐらいの内容だったぞ
xmlnsの意味、x:Nameの意味をちらっと説明したら
もう次はプロパティの説明になってるし

俺が知りたいのはさ、こういうやつだよ
x:Type x:Static のマークアップ拡張機能
x:Code 組み込み XAML 型
x:Key ディレクティブ
x:Member ディレクティブ
x:Members ディレクティブ

これらがわかんないと、応用何もできないだろ…
あと、local:とかもどういう意味かわかんないしな
こういうのを説明している書籍もサイトもない
みんなどうやって使いこなしているんだ
ほんと尊敬するわ

248 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 09:17:01.92 ]
local: とかは自分で勝手につけてるものだから別に
abc: だろうと aiueo: だろうと構わないんだよ

x: に関しても、XAML名前空間を示す通例として広く使われてるだけで
y: とか z: でも(それに統一していれば)それで動く

そこらへんはWEBのあちこちのWPF講座とか読んで回ればすぐわかるでしょ
アマゾンでプレビューできるPro WPFにも書いてある

249 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 09:22:56.43 ]
>>238
そこまで書いたのなら、遅かった原因ぐらい書いとけよ・・・

そろそろ洋書ならまともな本の1つや2つで出るだろ・・・
出てないのか・・・

250 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 09:24:15.39 ]
洋書読める奴はわざわざ2ch掲示板なんかに来ない



251 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 09:33:04.33 ]
>>248
自分で勝手に付けられるのか
どうりで検索しても出てこないわけだ
pro wpfにも書いてたな、msdnのtipsより多少濃い内容かもしれない

それにしても10代の頃のほうがパパっと作りたいもの作れてたな
知識増えるごとに、デリゲートやインターフェースやデザインパターンなど意識して
手が動かない時間のほうが長い

252 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 09:36:17.71 ]
それXMLの知識

253 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 09:44:36.20 ]
XMLだと常識なのか?
C#やる奴はC++わかってて当然みたいな感じか
新規の人向けじゃなくて、他の言語から移行する人向けのサイトがほとんどだな
説明するまでもないだろうみたいなノリで書いているから
5時間かけてWPFについていろいろ調べたのに全く頭に入ってない
できるのは、ボタン作成してポチポチ押すだけw

254 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 10:02:44.01 ]
これじゃ不足?
msdn.microsoft.com/en-us/library/ms753327.aspx



255 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 10:25:39.43 ]
>>254
そこも見たけど難しすぎるんだよ

x:Nameとは何か?って人に
属性構文、プロパティ要素構文、マークアップとか言われてもさっぱりなんだわ
あれ読んで理解できるレベルのひとは、そもそもx:Nameとは何かなんて思わないでしょ
本末転倒って感じなんですよ

一応ざっくりWPFの概要は読んだからそれらの単語は専門用語ってわかるけど
初心者が読んだら、属性構文は専門用語の和訳なのか、単なる日本語的な意味なのか判断つかないんですよ
やっぱり上級者の説明はわかりにくい、初心者が回りにいないからわからないんだろうね

256 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 10:31:06.94 ]
そこらへんはどのWPF本にも書いてあると思うが

257 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 10:31:53.22 ]
wpfで続けるつもりがあるならエッセンシャル読むことをすすめるよ
立ち読みでもいいし
wpf作ったリーダーが「なぜこんな設計、構造にしたのか」とつらつら書いてるから
javascript使える程度の知識があればわかるように書いてる

それとライブラリの使い方でわかんないことがあったらilspy使うことだね
ソース(じゃないけど)見ればあっさり解決することもある
そうじゃないときは…想像力働かせながら検証あるのみだな

258 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 10:34:03.19 ]
Metro手出してる人おる?
WPFとどのぐらいかぶってて、どのぐらい違うのか知りたい・・・
名前空間、コントロールの違い、タッチゼスチャーなどの扱い全体的なUIの構成は違うとして、その他の部分は大体同じようなものと考えてていいのかしら・・・

259 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 10:40:50.73 ]
ちょっと弄っただけだけど
await、asyncで投げっぱなしってのが強烈だったな
その他はだいぶノウハウを流用できそうだったけど

たとえばimageにウェブ画像を読み込むとか
「このアドレスで適当に読みこんどいて。終わっても通知しなくていいよ。
 失敗したらこの通り処理しておいて」でぶん投げ

慣れたら楽なんだろうな

260 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 11:41:54.08 ]
ILSpy丸見えじゃないか
しばらくこれで遊んでよう



261 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 11:50:37.59 ]
ついでにSharpDevelopってのも落としたけど
こっちのほうがVSより軽いからいいな
WPFも開発できるし

262 名前:219 mailto:sage [2012/05/06(日) 12:27:28.34 ]
>>241
そうしたいんだが、そうするとBorderの中に描けない

>>249
ITextRenderのGetHeight()が呼び出されるたびにTextFormatter.Create()を呼び出していたの原因だった

>>261
そいつWPFで動いてるよ
AvalanEditダウンロードしてソース見てみたら、ICSharpCode.AvalonEditがWPFで書かれてる



263 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 12:39:04.14 ]
ILSpyおもしろいな
SharpDevelopみたいなすごいソフトがオープンソースで作られているのに
糞みたいな有料ソフトが難読化されてたりw

264 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 12:40:58.66 ]
>>263
その辺は目指す方向と背景が違うので比べても・・・

265 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 12:57:10.90 ]
勝手にソース使われるのいやじゃん
フリーでだってちょっと見た目変えて「おれが作った!」って公開されたら凹むぜ?

それと難読化技術も調べてみたらおもしろいよ
おれは編集可能までもっていった段階でやること多すぎるのわかって投げたけど

266 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 13:03:16.59 ]
確かにコピーされるのは嫌だけど
コピーされるぐらいのソフトを作れるわけないからどうでもいいな

ILSpyにはそういう機能ないけど、作った人は
直接編集したり、ソース吐き出させたりしまくってるんだろうな

267 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 13:22:49.20 ]
あまり知名度の高いソフトはコピーできない
コピーは一瞬で、あとはSEOで勝てば自分のソフトになる
難読化は大事だよ

268 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 15:14:39.12 ]
>>262
普通は

・描画用の(内部)コントロールをユーザーに指定させたりしない
・描画用の(内部)コントロールにHogeBaseという命名はしない

269 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 15:34:28.43 ]
>>255
別にxaml直で弄れんくてもプロパティエディタ?からほとんど設定できると思うんだが。
VMのをバインディングビルダで表示したいときは、デザイン時インスタンスを設定して
ないと出てこないと思った。

まー、動かせば分かってくるってのもあると思うし、とりあえずワカランのはほっとけばいいのに。

270 名前:219 mailto:sage [2012/05/06(日) 17:23:57.57 ]
>>268
なるほど
内部のコントロールをScrollViewerに追加するにはどうすればいいんだ?
コード内からnew FooTextBox()とやって、ScrollViewerのContentに代入してもうまく行かないんだが
ほかのコントロールみたくChildrenプロパティに追加することもできないし



271 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 17:39:06.10 ]
> コード内からnew FooTextBox()とやって、ScrollViewerのContentに代入してもうまく行かないんだが
普通はそれでうまくいく。
ダメってことは何か変なことしてるんだろ。

どうも基礎が全然できてないようだから
WPFの本を1冊読むか、MSDNのWPFの解説を一通り読んで来い。

272 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 17:56:27.85 ]
>>271
普通はそれでうまく行くのか
なんでContentに代入すると描写されないんだろう…
FooTextBoxBase()の中身がおかしいのかな
codepad.org/ee4x2G7v
FooTextBoxBase.cs

273 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 18:39:23.32 ]
MeasureOverride と ArrangeOverride を実装してないからレイアウトサイズが 0 のままとか?
Snoop 使って期待通りのプロパティ値に設定されているか確認してみれば?

274 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:34:56.11 ]
>>273
調べてみたらレイアウトサイズが0のままだった
一つ不思議なんだが、コードから追加するとうまく描写されなくてXAMLから追加するとうまく描写されるのはなんでなんだろう

275 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:43:56.14 ]
あれ、アバウトなように見えても
ちゃんと作法通りに書かないとレイアウトがアップデートされんのよね
文書化されてないから公式サンプルの手順通りにするしかないけど

276 名前:219 mailto:sage [2012/05/06(日) 19:46:25.86 ]
すまん
コードから追加すると表示されないのはどうも勘違いだった
先ほどやってみたら、うまく行った


277 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:33:03.96 ]
>>269
VMの名前空間を設定しているのに何でプロパティ名が出てこないの?
app.csでVのDataContextにVM渡しているから一応実行時には
バインディングできているけど、xaml編集時には出てこないから面倒

デザイン時にインスタンス化って、xaml内でコード書いてインスタンス化するってこと?
C#だと普通usingディレクティブさえ設定すれば、プロパティ参照できるけど
xamlだとそれができないってこと?
Xamlの仕組みがさっぱりわからない

278 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:55:10.62 ]
xamlはbamlに中間言語にコンパイルされてInitializeComponentでインスタンス化されるんだよ
そこらへんエッセンシャルに書いてあるだろ
たしか

「ダミーデータが出てないと作業できねぇよ!」ってならグローバルにすりゃ読み込むよ
リボンのバインディングと同じだな

「modelをグローバルにしたらmvvmがうんぬん!」なんていうなよ
デザインが終わったら書きかえればいいだけだろ
全部お膳立てされてないとできないっていうならformsに帰るんだな

279 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 01:31:19.88 ]
>>278
グローバルってどうすんの?
リボンって頭につけるのしか浮かばないんだが

280 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 01:34:09.71 ]
>>278
あとインスタンス化についてなんだが
俺が聞きたいのは

>VMのをバインディングビルダで表示したいときは、デザイン時インスタンスを設定して
>ないと出てこないと思った。
デザイン時にインスタンス化したらなぜ表示できるのか
そして、インスタンス化しなければ他のクラスのプロパティを参照できないのはなぜかが知りたい



281 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 01:42:28.23 ]
聞く前に自分で調べたのか

282 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 02:04:26.97 ]
調べたよそりゃ、もう何時間も調べてる
一応
<Prefix:object x:key="objectname"/>
これをxamlファイルに書き込むことで
staticResouceとして参照することはできたけど

それ以外に方法があるんでしょ?

283 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 02:51:04.08 ]
やれやれだな。d:DesignInstance をググレ。

284 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 14:15:38.99 ]
ねぇ、今朝からアクセスできないのだけれど、私だけ?
www.codeproject.com/

285 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 14:34:08.20 ]
普通につながる

286 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 16:43:02.93 ]
うそでしょ〜

287 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 17:15:43.26 ]
繋がらんな。pingすら飛ばん。

288 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 17:26:56.47 ]
繋がるよ

289 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:14:18.35 ]
一時的に、低学歴低所得にのみ見えるサイトになってます。

290 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:27:21.36 ]
>>284
bb.exciteからフレッツ光でアクセスしてるが、繋がらねえ




291 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:31:53.39 ]
見えてるよ

292 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:40:35.08 ]
見えてる人は、本当ならば、相手方のIPアドレス書いてみろよ。
もし、本当に見えているなら、落ちているのはDNSだけなのかも……

でも、多分、ふしぎな力で>>289状態になっていると思うけれど。


293 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:43:21.47 ]
低学歴ニートだが見れない

294 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:45:07.02 ]
ニートは低所得ですらないからな……

295 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:48:56.41 ]
HTTP/1.1 502 DNS Lookup Failed
Content-Type: text/html; charset=UTF-8
Connection: close

296 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:56:48.78 ]
サーバー: ntt.setup
Address: 192.168.1.1

*** ntt.setup が www.code.project.com を見つけられません: Non-existent domain

297 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 21:02:46.06 ]
192.168.1.1 は僕のIPアドレスです。
勝手に使わないでください。

298 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 21:15:21.17 ]
はい

299 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 21:38:46.41 ]
192.168.*.*はプライベートアドレスで予約されてるから
インターネットにパケットは送出されないよ。
おそらくそのIPアドレスはネットワーク管理者が
内部LAN用に割り当てている物だから、外部的には
プロバイダーが各家庭に割り当てたグローバルIPアドレスに
変換して外部のネットと通信してる。
だから僕のパソコンのIPアドレスも192.168.1.1だけど
あなたのパソコンのIPアドレスと競合する心配はしなくて良いよ


300 名前:デフォルトの名無しさん [2012/05/07(月) 21:43:43.46 ]
PG,SEなら誰でも知っていることを得意げに書かんでも・・・



301 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 21:44:20.82 ]
ずっと俺のものだと思って生きてきた

302 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 21:47:37.84 ]
>>297の元ネタって何年前?
10年以上前だよな

303 名前:デフォルトの名無しさん [2012/05/07(月) 22:12:50.17 ]
似たようなネタだと、My Documentsのパスを直にネットに貼る奴
ユーザー名が本名で釣果が凄いことに・・・・

304 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 23:08:53.34 ]
10年前は、ニートという言葉も無かった気がする。
普通に、ロリ、ヲタ、プーって略さずに言っていたよな。

305 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 23:21:47.05 ]
プーという言葉があったんだから
ニートなんて呼び変える必要なかった

306 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 23:24:51.90 ]
やっぱり、あれじゃない?
プーさんだとキャラかぶるから。

307 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 23:30:34.37 ]
プーの方が名称として優れている。
響きかが滑稽で恥ずかしいことだと明確に伝わる。
ニートだとneat?小綺麗ってこと?みたいに錯覚しやすいせいか
ことの重大さがわからずこじらせる奴が続出する。

308 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 09:17:49.37 ]
>>302
ttp://damedame.monyo.com/?date=20030221#p07
2003年だから9年前だな。

309 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 13:30:33.52 ]
ヤフオクのマイページURL貼るネタもあったな

310 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 20:02:26.19 ]
>>308
10年たってないのか
改めて読み直すとなんか釣りっぽく見えるなw

JPNICの存在を知ってるくらいには知識があるのに
「192.168.0.1は〜〜」というのはちょっと不自然さを感じる



311 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 22:28:58.54 ]
IPアドレス絡みだと↓のネタを思い出す。

「私のIPは202.423.387.689なので、明らかに違います。」

312 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 23:07:06.38 ]
>>311
間違ってるのはわかるけど
どの辺りがおもしろいかわからん

313 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 00:32:56.89 ]
FooTextBoxをWPFに移植してみたんだが、CPUの負荷がWinForm+Direct2Dを使った奴より高くて悩んでる(WPFだと20%を推移してるんだが、Direct2Dだと10%前後で済んでる)
OnRenderではなく、DrawingVisualに描く方法なら低くなると思ったんだが、CPU負荷の点では差がなかった
CPU負荷を落とすにはどうすればいいの?


314 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 01:58:51.69 ]
>>313
まず、WPFにDirect2Dって概念はない
それにお前は質問するだけで質問には答えてやらないのはなぜだ?
お前でも答えられる質問はいくらでもあっただろ
質問しかしにこないのか?
そんなやつに答えてやる義務はない

315 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 03:30:20.92 ]
>>313
それだけの情報だと何とも言えない。
WPF Performance Suite を使ってアプリケーションイベントの CPU 使用率を調べてみたら?

316 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 09:26:43.49 ]
ソイツだけ見ただけで誰か分かるよなw

317 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 12:42:05.06 ]
WPFを止めるのが最善

318 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 12:44:45.61 ]
正解が出てしまったな

319 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 13:52:35.63 ]
>>314
すまん
あんまり詳しくないんで答えるのもあれだと思ってた

>>315
それ使って調べてみた
レタリング:15%
レイアウト:3%
その他もろもろ:合計で2%
レタリングの負荷を落とすことってできないのかな


320 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 14:55:10.60 ]
>>319
AvalonEditと比べて性能はどうなってる?

既に同程度の性能が出てるならこれ以上は無理なので >>317 しかない。



321 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:14:53.24 ]
>>319
レタリング?レンダリングじゃなくて?どっちにしても、再描画される範囲を絞っていくしかないと思う。
WPF Performance Suite の Perforator の Clear back-buffer before rendering にチェックを入れれば、
再描画が走ってる範囲がわかるから、余計な要素まで再描画されてないか確認してみたら?以下参考。

AvalonEdit: WPF text rendering performance
community.sharpdevelop.net/blogs/dsrbecky/archive/2011/09/04/WPF-text-rendering-performance.aspx
WPF グラフィックス レンダリングの概要
msdn.microsoft.com/ja-jp/library/ms748373.aspx
WPF アプリケーションのパフォーマンスの最適化
msdn.microsoft.com/ja-jp/library/aa970683.aspx

322 名前:319 mailto:sage [2012/05/10(木) 15:45:47.07 ]
>>320
AvalonEditの方が早かった

>>321
例のツール使って1行ずつスクロールさせてみたけど、再描写している範囲は変わらなかった
なんであっちの方が早いんだろう


323 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 19:51:57.29 ]
コードは読んでないから分からないけど AvalonEdit は OnRender を最適化してるんじゃない?
事前に準備できるものは OnRender 前に構築、一度構築したらキャッシュ、一度描画したらキャッシュ、重いメッソドコールを一回にまとめるとか。

324 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 12:58:07.35 ]
AvalonEditはWPFの流儀に沿った書き方をしてるので
WPFのレンダリング最適化機構がちゃんと動作してる。

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

つーわけで、速くしたかったら
WPFの解説書をよく読んで、AvalonEditを参考にしつつ1から書き直せ。

325 名前:319 mailto:sage [2012/05/14(月) 16:02:15.92 ]
OnTextInputをオーバーライドしただけだと、IMEのウィンドウが外に出てしまう
このままじゃあ、使い物にならないから、オンスポット入力に対応させたいんだが、どういう風にすればいいのかさっぱりわからない
くぐっても出てこないし、avaloneditorもそこらへんは特に何もしてなかった
MSDNならあるだろうと思い調べてみたが、IMEに関するサンプルは何もなかった
どうすればIME対応にできるんだろうか

>>324
なるほど流儀に従っているから早いのか
もう一度参考にしつつ書いてみる


326 名前:755 mailto:sage [2012/05/14(月) 16:03:55.48 ]
>>323
ざっと見たが、行を構築してキャッシュしていた
でも、今作っているやつも一度構築した行は再利用している
やってることはほとんど変わらないんだが、なんであそこまでCPU負荷が違うんだろう

327 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 16:15:43.51 ]
>>325
> IME対応
オイオイ、一番重要な部分がまだだったのか。
てっきりIME周りは実装済みかと思ってたよ。

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

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

WPFのレンダリング如きに苦戦してるようじゃ、到底無理だと思うけどなぁ・・・

328 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 16:56:51.42 ]
もうかまうなよ

329 名前:319 mailto:sage [2012/05/14(月) 19:12:17.38 ]
くぐってみたら、一つの要素に複数の図形を描くなら、OnRenderで描くのとDrawingVisualに要素を追加して描くのとCPU負荷の面で大差ないと書いてあった
stackoverflow.com/questions/2319365/performance-of-drawingvisual-vs-canvas-onrender-for-lots-of-constantly-changing


330 名前:デフォルトの名無しさん [2012/05/14(月) 21:33:21.17 ]
XAMLにボタンとユニフォームグリッド(100X100セル)の記述しかなく
ボタン押下でデータをよみ、グリッドのセルに動的にコントロールを生成する場合
MVVMのようにコードビハインドに一切記述せず実現することは可能なんでしょうか?





331 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 21:42:01.91 ]
> XAMLにボタンとユニフォームグリッド(100X100セル)の記述しかなく
> コードビハインドに一切記述せず
XAMLもコードも書けないなら詰んでるじゃないか

332 名前:デフォルトの名無しさん [2012/05/14(月) 22:00:08.31 ]
ウディタの新バージョン「ウディタ2.00」が公開されました(2011年10月27日)

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


333 名前:デフォルトの名無しさん [2012/05/14(月) 23:02:00.52 ]
>>331
そうなんですよ。
V側にデータを表示するためのリストボックスなどのコントロールすらない場合などは
MVVMは破綻しますよね?

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

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



334 名前:デフォルトの名無しさん mailto:sage [2012/05/14(月) 23:09:51.95 ]
そういうのはカスタムコントロールを作るのが筋だ
その上でMVVMしたいなら自作コントロールを画面に貼って自分で定義したプロパティをバインドする
カスタムコントロールの実装は当然コードビハインド(というか普通にコントロールの動作の実装コード)

335 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 00:18:52.30 ]
なんかmvvmって言葉が実体を伴わず独り歩きしてる感じだな

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

Vを書き換えず「MVVMは破綻してる」とか言われても困る

336 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 01:35:25.67 ]
MVVMってのは主にModelとViewの間にVMを挟むことでViewをなるべく馬鹿にすることで、ドメインとUIのぶんリヤテスト容易性というメリットを得るためのもので、それが成り立たない領域にまで金科玉条のごとく持ち込むものではないと思うよ。
スケジューラみたいな画面ならMVVM的なものに落とし込めそうな気もするけど。

337 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 11:41:08.86 ]
>>333
Infragisticsのスケジュールコントロールとか使った方がよっぽどよさ気じゃねえ?

338 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 11:43:19.25 ]
カスタムコントロールの動作はコードビハインドにプレゼンターとして実装する
データはコントロールのプロパティにViewModelをバインドさせるから、このケースだとMVPVMになるのだろうな

339 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 16:11:25.82 ]
>>327
今はそうでもない
hp.vector.co.jp/authors/VA050396/tech_01.html
日本語の解説もちゃんとあるし、ドキュメントも日本語化されてる
tsfappというサンプルもある
マネージドコードでの実装は面倒なんでやりたくないが

340 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 17:14:07.51 ]
TreeViewItemにTextBoxを載せて、

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

としたいのですが、どのようにしたら良いでしょうか?
TreeViewItem.GotFocus で子のTextBoxのfocus()を呼び出すようにすると、親のTreeViewItemにも
イベントが発生してしまいルートアイテムのTextBoxがフォーカスを取得してしまい困ってます。




341 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 17:21:14.71 ]
FocusManager.IsFocusScopeじゃね

342 名前:デフォルトの名無しさん mailto:sage [2012/05/15(火) 23:38:24.90 ]
知らないけど、e.Handled = true じゃダメなの?

343 名前:340 mailto:sage [2012/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
もう少し検証してみます。

344 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 00:17:16.57 ]
まもなく、WPF2ちゃんねるブラウザが誕生するよ。
2ちゃんねる界に革命が起きる!

345 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 00:37:53.42 ]
>>339
そのページはわかりやすいね。

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

肝心な部分はテキストボックスコントロールの内部実装を利用してて、ソースコードが見られないから。

346 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 09:54:57.23 ]
www.atmarkit.co.jp/fdotnet/chushin/introwpf_05/introwpf_05_03.html
にあるような式木を視覚化するので遊んでたんだけど、たかだか10階層超えたあたりで重くなるのね。
レイアウトロジックがタコくてO^Nになってる感じなんだけど、このへんはちょこっとフックして自前ロジックにすることって出来るの?
それともDataTemplateとかも使えず全部ゴリゴリ書かなきゃいけなくなる?

347 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 11:01:35.71 ]
DataTemplate内で使われてるパネルを独自のものに置き換えりゃいいんじゃねーの?

フックがどういうことを想定しているのか不明だが、
少なくともDataTemplateが使えなくなる事は無い。

348 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 11:41:30.58 ]
>>346
ダウンロードして10階層ぐらいにしてみたけど重くないぞ?
変なことしてんじゃないの?

349 名前:デフォルトの名無しさん mailto:sage [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秒以上かかる。

350 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 12:32:33.02 ]
>>349
> レイアウト時とかに5秒以上かかる。
こっちでは0.01秒しかかからないぞ。

レイアウト中にGCが発生すると0.08秒になったが、5秒はおかしすぎる。



351 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 12:34:40.88 ]
>>349
やってみたけど>>350と同じく問題ない。
DataTemplateはWindows.Resourceの中に突っ込んでるけど。
CPUはCorei5。

352 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 13:18:15.13 ]
>>345
そうなんだよな
そこら辺の部分は全部internalだから全部自分で書かないといけないという…


353 名前:デフォルトの名無しさん mailto:sage [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

354 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 17:49:00.62 ]
>>353
実行してみたけど、特に問題なし。
コンパイルに150msぐらいかかっててテキストボックスの入力がもたつくぐらい。
とりあえず、%d じゃなく、{0}。


355 名前:デフォルトの名無しさん mailto:sage [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#触っててそっちの癖でやっちまってた。すまんそ。

356 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 19:20:39.66 ]
C2Qでも一瞬だ
壊れてるんじゃないの

357 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 20:25:06.80 ]
>>356
なにがよw

358 名前:デフォルトの名無しさん mailto:sage [2012/05/16(水) 22:10:20.88 ]
.net3.5だと遅いとか

359 名前:349 mailto:sage [2012/05/17(木) 09:30:24.99 ]
別のノートで試したらデバッガーで動かして40個以上コピーしても一瞬だね(´・ω・`)
ノートもCorei7だけど。
環境のせいとしてスルーします。なんかある意味貴重な環境なのかしら・・・

360 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 14:00:59.70 ]
Blendすら使い方の怪しいWPF初学者ですが、どのUIElementにも使えるMouseEnterしたら左右にシェイクするというアニメーションを作ろうとしています。
ただで配られてたWindowsPhone用のBlendでStoryBoard作ってそれをコピペでVSにはっつけて試そうとしてるんですが、デバッグ実行して初めてそんなプロパティねーよとか言われたりしてます。
Blendで作ったものはTargetNameとか指定されてて、ちょっとやりたいことにそぐわない・・・

いまいちまだどれが対象になって、プロパティのパスはどうでとか理解しきれてないんですが、より手早くその辺があってるかなどを確かめるすべってありますか?



361 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 14:21:23.98 ]
コンパイラが目的とするものを知らないのに、どうすればいいかまで教えてくれるわけがない。

362 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 14:38:52.50 ]
インテリセンス出せるぐらいだったらわかるでしょ。

363 名前:デフォルトの名無しさん mailto:sage [2012/05/17(木) 19:52:14.16 ]
blend使うメリットって手で書くより速く正解教えてくれることなんだから
「ふつう」の体験版でも使えばいいだろ

364 名前:デフォルトの名無しさん [2012/05/18(金) 09:27:44.60 ]
wpfって何も考えずにDrawingGlyphなどで描写すると遅くなる・・・
AvalonEditで使われているコンポーネントにDirect2dだと1回の呼び出しで済むけど、
WPFだとグリフ一つにつき8回も呼び出す
おまけにDirect2Dのようにまとめる事がない
と書いてあった
即時モードでレタリングできるようにするか
Direct3D10やDitect2Dと簡単に連携できるようにしてくれ
今のままじゃあ使い物にならない


365 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 09:55:14.40 ]
WPFを低レベルAPIかなんかだと勘違いしてるんじゃないの
いい加減うざいから完成するまでこないでくれ

366 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 10:05:38.12 ]
>>364
.NET 4.5でWindows7より前のOSが非サポートになる事に伴って
そのあたりも改善されるかと期待してたけど、
何も変化はないようだね。

とはいえ、いつまでもDirect3D9のままってわけにもいかないだろうし、
いずれ改善されるんじゃないかな。

367 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 10:24:56.20 ]
これで頑張れ
msdn.microsoft.com/en-us/library/ee913554(VS.85).aspx

368 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 10:35:56.51 ]
> Direct3D10やDitect2Dと簡単に連携
標準で用意してほしいとは思うけど、
連携用のライブラリを一度作ればいいだけじゃん

既にDirect2Dを習得してるなら簡単でしょ

369 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 10:56:23.45 ]
Direct2DはWin7からだったっけ?

370 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 13:54:58.65 ]
wpf ってmargin(left, topのみ)で絶対配置してても微妙に座標がズレたりするんだな。
ナニコレ・・・



371 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 13:57:00.58 ]
丸めだろ

372 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 14:47:21.33 ]
>>366
そうなることを願いたい
metroの方は比較的簡単にDirect2Dと連携できるんだけどな

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

>>369
vistaから

373 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:03:46.34 ]
テキストエディタにDirect2Dてw
文字入力やスクロールでカクカクしてなきゃいいんだよ。
以前、行番号表示したくてテキストエディタコントロール作ったが最適化して実用程度にはなったぞ。


374 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:14:12.69 ]
行番号表示とか矩形編集、シンタックスハイライト、スペースやタブの表示といった機能がかけていたので、作ってみた
kie.nu/aLB

>>373
Direct2D使わないとCore2Soloを積んだネットブックでひどいことになるのよ
ためしにCore2Soloを積んだネットブックで動かしてみたら、カクカクはしてないんだが、CPU使用率が天井に張り付いてて笑ったw
あと、半角スペースを表示できるようにしてみると、Core2DuoE8400+HD5770というスペックでもめちゃくちゃ重たくなる


375 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:42:57.63 ]
>>374
これ、もうDirect2D版?
7 だと表示されたけど、2003 Serverで動かしたら真っ白だな。


376 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 17:55:50.96 ]
>>375
Direct2D版ではないよ


377 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:27:12.53 ]
>>374
たかだか1万個のオブジェクトの描画にこの時間だからね。
ttp://msdn.microsoft.com/ja-jp/magazine/dd483292.aspx

パフォーマンスについては割り切るか、WPFを捨てるかのどっちかじゃないかな。
Direct2D使って今回の件を解決したとしてもちょっと複雑なレイアウト組んだらすぐ重くなって嫌になると思うよ。

378 名前:デフォルトの名無しさん mailto:sage [2012/05/18(金) 21:36:27.50 ]
WPF使って高速に描画するならDrawingほにゃららを使うのがいちばんよいんだっけ?Direct2Dとかは除いて。
で、それはSilverlight,WP7、Metroにはないんだっけ?

379 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 01:53:55.48 ]
パフォーマンスよりも、いまさらWinFormsには戻れないよ。WPFというより、XAML+C#が主流です。

380 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 01:58:42.20 ]
WinFormsの方が作りやすい



381 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 02:00:40.81 ]
コントロールに値代入してくのもうめんどい

382 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 03:19:45.32 ]
mumurik2.wordpress.com/2007/09/24/managed-tsf-managed-implementation-of-itextstoreacp/#comment-209

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

codepad.org/B4x6kW0M
TextStore.cs


383 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 03:19:46.70 ]
一度やったパターンだとwpfの方がラクな気もしてきたが、
ハマると100倍時間かかる。。慣れてないだけといえばそうなのかもだが・・

384 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 12:49:06.38 ]
>>382
RequestLock() してない。

385 名前:382 mailto:sage [2012/05/19(土) 13:06:12.70 ]
>>384
デバッカーで例外が出る時の状況を調べたんだが、すでにロックされてた


386 名前:382 mailto:sage [2012/05/19(土) 13:17:00.08 ]
すまん。
間違えて別のメンバーを渡していたのが原因だった
でも、今度は別の問題が発生した
property.GetValue()でプロパティの値を取得してGUIDを取得しようとしてるんだが、guidを取得する段階でInvaildCastExpectionという例外が発生してしまう
guidを取得するにはどうしたらいいの?

codepad.org/x3s7Hx7w

387 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 14:11:32.72 ]
実行不能なコードの断片なんか出されても回答のしようがない

問題を再現可能な、最小の実行可能なコードを出せ

388 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 14:51:44.08 ]
>>387
分かった。出してみる
kie.nu/aPy
ManagedTSF

389 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 15:24:18.85 ]
>>388
GetPropertyの第一引数が間違ってない?
msdn.microsoft.com/en-us/library/windows/desktop/ms629020(v=vs.85).aspx

390 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 15:48:46.40 ]
>>389
多分、これで合ってると思うが…
間違ってるってどういうこと?



391 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 16:04:01.18 ]
msdn.microsoft.com/en-us/library/windows/desktop/ms538791(v=vs.85).aspx

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

そのIIDがpredefined property identifiersとしても使えるってのなら話は別だけど。

392 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 17:27:43.29 ]
>>391
IIDの実体はGUIDだから使えるよ


393 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 18:07:58.90 ]
>>392
俺が昔作ったやつの断片コード。参考になれば。
ttp://codepad.org/GPMsTdtb


394 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 18:29:02.81 ]
>>393
ありがとう
参考になった
もし、差支えなければ、コード全部アップしてくれ
車輪の輪の再発明はもうこりごりだ(笑)

そういや、コード読んで気になったんだが、VARIANTはどこの名前空間で定義されてるの?
VARIANTって.NET Frameworkにはない型のはずなんだが
あと、_servicesはどういう感じでインスタンスを作ってるの?

395 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 20:45:42.40 ]
>>394
簡単なサンプルつけといた。
ttps://docs.google.com/open?id=0By6Cgv6nBdtsN1JsbzlOaXBXcWc

VARIANT は探せばいくらでもサンプルでてくるだろ、と言いつつ自分は
Reflectorでランタイムから抜き出したw


396 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 21:02:31.31 ]
PROPVARIANTはともかく、VARIANTはObjectじゃないのか

397 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 21:05:10.22 ]
>>395
ありがとう
すごく助かった


398 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 21:05:53.35 ]
>>396
くぐったら、それができたんだが、objectだとどうもGUIDが取得できない


399 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 22:04:45.48 ]
>>396
2年ぐらい前に作ったやつだから良く覚えてないけど、
>>398が言うようにobjectだと正しく取得できなくて、色々調べた挙句
ランタイムの定義をぶっこ抜いたらVARIANTだった、と記憶してる。
ランタイムの定義がobjectではなくVARIANTだから無理なんだろうな、と結論づけた。

400 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 00:43:41.34 ]
VT_I4なら、System.Int32とか整数系の何かに一度キャストしてからでもだめなん?



401 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 15:18:49.93 ]
>>400
試してみたら普通にいけたわ。
特に関係なくぶっこ抜いたらVARIANTでそのまま使ってただけだったかな?

402 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 15:47:01.97 ]
>>400
お、ホントだ
試してみたら、普通にできた


403 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 18:24:27.15 ]
ある料金システムをWPFで開発することになったで、
デザインパターンはMVVMにしようということになったんで、
Livetで開発しようとしていたんだけど、いつ迄たっても、ver0.99のまま。
怖いんで、やっぱりMVVM Light ToolkitかPrismにしとこうかと悩んでます。

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

MVVMパターンの勉強は、主にU氏のドキュメントとかサイトで勉強したんで、
どうしたものかと思ってます。


404 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 18:46:38.21 ]
社内的な言い訳で言えばMVVM Lightのほうが説得力が増してよいんじゃないかなぁ
それ以外だと好き好きでどうぞとしか言いようがないが。

405 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 00:36:30.76 ]
Prism使うかどうかはともかくPrismのドキュメントは必読
U氏のやつより遥かに分かりやすいし、一人よがりな意見じゃなくて
こういう場合はこっち、こういう場合はそっち、みたいな感じで書かれててためになるよ

406 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 10:28:17.98 ]
オープンソースだし、コード見てもそんな複雑なことしてないから八年後でも十分メンテできるだろう。
でも八年後だとMetroも飛び越えて、さらに違うアーキテクチャがメインなってるかもしれんが。


407 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 10:45:50.58 ]
XAML系、生き残ってるといいが・・勉強させといて捨てたら電凸!

408 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 11:07:04.01 ]
XAML系は生き残ると思うよ。ただし八年後WPFがオワコンの可能性は高い

409 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 11:12:46.94 ]
ネイティブアプリがオワコンだろ
ネイティブもASP.NETベースに統一されて終わり

410 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 11:22:28.05 ]
ネイティブって.net framework 自体ネイティブじゃないとも言えるが、
もっと広義でデバイスで直動くもの全般がって意味かw



411 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 11:23:57.62 ]
WPF並みの表現力があってHTML5+.NETでクライアントもWebもいけるフレームワークが出たら
XAMLなんか一瞬で無かったことになるのに

412 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 13:09:32.38 ]
XAML←これは読み方はザメルでいいの?

413 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 13:46:26.57 ]
ガッシャ

414 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 15:03:55.73 ]
>>412
が〜まる

415 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 15:05:33.12 ]
マジレスするとクスァーミル

416 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 18:24:49.39 ]
>>410
ターゲットとするプラットフォームでしか動かないものをネイティブと呼ぶのが最近の流行り
もっと言えばAndroidとiOS両対応でないものがネイティブw

417 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 20:02:33.77 ]
>>414
お前WDDにいただろw

418 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 21:07:45.51 ]
kie.nu/b3a
速度面で問題はあるが、日本語入力ができるFooTextBoxのWPF版ができた
いろいろと教えてくれてありがとう
すごく助かった


419 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 09:34:45.43 ]
>>412
ゼームォーだよ

420 名前:デフォルトの名無しさん [2012/05/22(火) 09:47:24.60 ]
>>412
間を取って吉田君で良いだろ



421 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 21:23:28.54 ]
D&Dはオブジェクトの参照を取得できるのに、クリップボードのカスタムデータはシリアライズされたデータのコピーした取得できないのね。
同一プロセス内でのみしか使用できなくて良いから、なんかうまい方法ない?

D&Dってコピー&ペーストの一つの表現方法だと思ってたけど、違う思想なのかね?


422 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 21:31:56.91 ]
同一プロセス内で良いならクリップボード必要ないだろ…

423 名前:デフォルトの名無しさん mailto:sage [2012/05/22(火) 22:07:57.84 ]
>>422
もっともだw
421も文章変だし、眠くて頭がいかれてきてるらしい。
すまん。ありがとう。

424 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 10:17:53.87 ]
市販のデータグリッドってインフラジスティックスとグレープシティのどっちがおすすめ?

425 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 10:23:22.85 ]
>>424
Infragisticsイチオシ。標準DataGridと比べもんならんほど高速に動く
ただし列やセルの設定の仕方が標準と全く違うから、理解するまで少し苦しむ
以下参考するといいよ

d.hatena.ne.jp/hilapon/20101128/1290958131



426 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 10:30:34.06 ]
表示系はインフラ、入力系はグレープシティという棲み分けだね

海外製コンポーネントは入力に気を使わない(というか使う必要ない)ので
インフラのコンポーネント使ってなんか入力しようとすると違和感ある
グレープシティは国内製だけあって、細かいとこ気が利いててかなり嬉しい


427 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 10:44:19.70 ]
GrapeCity のwpfの入力系は今はランタイムフリーだけど、
次期ver で突然配布ライセンスも必要になったりしそうで・・・。web系はそうだったし。

428 名前:424 mailto:sage [2012/05/23(水) 10:57:08.77 ]
レスありがとう
NetAdvantageのがComponentOneより
WPF最適化すすんでそうな感じには見えますね
旧版との互換性とかの兼ね合いあるんだろうけど

入力はどっちにしろこだわるならInputMan使った方がよさそうな

429 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 11:07:35.77 ]
>>428
クラスライブラリとして見た場合、ComponentOneのが判りやすいだろうね。
NetAdvantageはWPF出始めの頃からあるけど、その分クラス構造洗練されてなくて
気付いた頃には遅すぎたから、変更できずにずっと引きずってるらしい。
まぁそれでもいいツールだと思うよ。

>>427
デスクトップアプリ用だから、Formsと同じくランタイムフリーは変わらないと予想

430 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 22:22:26.20 ]
GrapeCityのコンポーネントはWindowsのバージョン上がるたびに動かなくなるんじゃない?w
最近使ってないけどWOW64で動作しないのが多いのには辟易したぜ。



431 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 22:29:20.28 ]
>>430
WOW64で問題なかったけど、バージョン上がるたびにいろいろあるから厄介だ。

432 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 23:02:33.04 ]
開発者ライセンスにしてほしいわ

433 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 23:08:58.46 ]
アクティベーションあるけど、ネットワーク同じなら1ライセンスで二〜三台くらいまで通るよ

434 名前:デフォルトの名無しさん mailto:sage [2012/05/23(水) 23:11:00.90 ]
インフラさんが凄いのは開発者ライセンスで、同じユーザーなら所持するPC何台入れてもOK
しかもソースコードまで提供してるのってのは大したもんだね

435 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 09:54:27.24 ]
ActiveReports for WPFはまだなのか

436 名前:デフォルトの名無しさん mailto:sage [2012/05/25(金) 10:02:02.92 ]
出る予定あるの?問題はプレビューとかだけだし

437 名前:デフォルトの名無しさん [2012/05/28(月) 06:04:07.88 ]
WPFってあんま普及してなさそうだけどなんで?

438 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 07:45:12.63 ]
重いから

439 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 07:48:39.95 ]
・既存のFormで済むことが多い。
・遅かった。
・前はメモリリーク起こしやすかった。いまでも?
・柔軟なこと出来る分、複雑な処あり。
などなど。

440 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 10:22:24.68 ]
Formの開発手順を継承できないのがいちばん痛い
クライアント寄りじゃなくWebApp開発者向けの設計になってるし
そもそもコードビハインドなんて言葉Form開発者は使わない



441 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 10:46:09.44 ]
少しずつxaml系で開発始めるってとこは出ては来てるぜ。wpfっていうか、系な・・・

442 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 11:51:22.91 ]
コールドブートが遅いんだよねぇ
うちの5年物のPCだと10秒はかかる
せめてスプラッシュくらい数秒で出ればいいのに
10秒たってから表示されてすぐ消える
意味ねぇ

443 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 14:56:39.78 ]
それ何のアプリだよ。自作?
5年ものとはいえ10秒はないわー
正直アプリの作りを疑ったほうがいいと思う。

444 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 15:04:31.20 ]
すでにモジュール読み込んでるVSでデバッグするのとちがうんやで
インストーラー作って他のPCにもっていってやってみたらええわ

SSDがふつうにならん限りなんともならんと実感するや炉な

445 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 15:10:55.28 ]
スプラッシュスクリーンぐらいC++で作ってそっちからWPFアプリを起動すりゃ済む話だろ。
もしくはスタートアップに何もしないWPFアプリ登録しとけ。


446 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 15:15:37.18 ]
SplashScreenクラス使えなさすぎ

447 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 21:58:09.78 ]
SplashScreenクラスよりこっちじゃないの?
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/834wpfsplashscreen/wpfsplashscreen.html


448 名前:デフォルトの名無しさん mailto:sage [2012/05/28(月) 22:16:19.88 ]
>SplashScreenクラスよりこっちじゃないの?
>ttp://www.atmarkit.co.jp/fdotnet/dotnettips/834wpfsplashscreen/wpfsplashscreen.html

SplashScreen splashScreen = new SplashScreen("dotnet_design.gif");


???

449 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 10:09:28.96 ]
ビルドアクションで使うにしろSplashScreenクラスは簡易すぎて
自分でスプラッシュ用Window作った方がいい

450 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 18:47:25.39 ]
Direct2DとWPFを共存させた適当なサンプルらしきものを作ってるんだが、入力した文字がなぜか表示されない
Test2のコンストラクターでIDWriteTextLayoutを作って表示させるとうまく行く
(でも、それだと入力した文字を表示することができない)
どうやれば、入力した文字が表示されるようになるのか教えてほしい

kie.nu/bRC




451 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 18:59:34.31 ]
このまえ完成させただろう

452 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 19:17:39.23 ]
>>451
DrawingContextを使うとどうも遅いんでDirect2Dに変更することにした


453 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 19:19:16.06 ]
またお前か

454 名前:デフォルトの名無しさん mailto:sage [2012/05/29(火) 20:05:19.53 ]
どうも邪魔みたいだから移動するわ
板汚してすまんかった


455 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 16:01:10.96 ]
とりあえず2chブラウザーを作り始めてみました。
ttp://neetchan.blog.so-net.ne.jp/_images/blog/_a2f/neetchan/ss1.png
ttp://neetchan.on.arena.ne.jp/


456 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 16:12:42.86 ]
やるじゃん

msdn.microsoft.com/ja-jp/library/system.windows.controls.itemscontrol.alternationindex.aspx
行ごとに色変えようぜ

457 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 16:15:31.73 ]
意外とできてそうだな。タブのxボタンの位置が気になるw

458 名前:455 mailto:sage [2012/05/30(水) 16:20:17.32 ]
UI部分は出来るだけコードと分離してXAMLを外部にだして
好きなように改造してもらうようにしたいです。

459 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 18:50:04.33 ]
>>455
NG機能強化してくれたら即乗り換える
単語やスレ選択して右クリックでNGダイアログを出しNGの詳細オプションを指定できるような感じにしてくれ

特定のスレに粘着している一般的な単語を使った荒らしなどをスレ指定して簡単にNGしたい
Jane系のNGExは手間がかかりすぎる

460 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 18:56:25.85 ]
D3DImageにDXGIサーフェイスを流し込む形で描写したら、CPU負荷が半分以下に減ったw
WPF遅すぎ




461 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 19:21:46.18 ]
専ブラは┣形の UI から進化しないのか

462 名前:455 mailto:sage [2012/05/30(水) 20:38:19.33 ]
>459
まだ作り始めたばかりなので...
(とりあえずの画面とデーター取得まで入れただけで、まだほとんど張りぼてです。)
申し訳ないです。少し普通の機能が出来てからゆっくり考えます。

基本的には単体で高機能化を目指すよりは、必要な人は
自分でコンポーネントを作って追加して使えるようなアプリにしたいです。

>単語やスレ選択して右クリックでNGダイアログを出しNGの詳細オプションを指定できるような感じにしてくれ
これは凄く参考になりました。


463 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 20:43:13.77 ]
ソースコードをさらす気はない?

464 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 21:00:08.94 ]
ソース公開なんて
もうこれ以上触るのいやだ飽きた
ってなってから考えればいいのさ

465 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 21:06:39.05 ]
>>462
了解、がんばってね!

466 名前:455 mailto:sage [2012/05/30(水) 21:07:05.86 ]
>463

結構悩んでるところですが、さらすにしても限定的になると思います。
例えば2chとの通信部分をコンポーネントとして非公開、GUI部分はオープンにするとかも考えられますが
主目的として、バックエンドサーバーを利用してスマートフォントとの同期を出来るようにしたいと考えていて、
2chとの通信部分だけ利用して、同期部分(まだ実装してませんが)は使われないならうれしくないのが本音です。

どちらにしてもある程度目処が付いてから、ということになると思いますが。


467 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 21:13:59.96 ]
.NETで公開非公開はあんまり意味ないような・・・再利用可能ライセンスとかの話?

468 名前:デフォルトの名無しさん mailto:sage [2012/05/30(水) 23:48:05.05 ]
難読化知らんのかい
まあタダのやつだとソース再利用を防げる程度やけどな

469 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 01:57:18.68 ]
WPFっていらない子なのかね…
evernotebook.com/archives/436
WPFやめたらメモリー使用量半分、起動時間5分の1なんて書いてあったんだが

470 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 02:14:19.94 ]
作り方を知らん子が作ったらそうなるという見本
悲惨やな



471 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 02:41:55.53 ]
今時、モジュールを逆解析してプログラミング次術を盗んでまで欲しがる奴なんて居るのか?
'80〜'90年代頃までは上京して高ゲタを履く、そういう御上りさんプログラマは多かったがw

472 名前:デフォルトの名無しさん [2012/05/31(木) 09:26:49.45 ]
>>470
ちゃんとした作り方ってどういうの?


473 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 09:58:06.28 ]
evernoteはちゃんとしてないどころじゃなくて、パット見でわかるくらいひどいコードだったっぽいけどね。

474 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 10:42:18.75 ]
Microsoft自身が作ったWPF製ソフトが軽けりゃ
Evernoteが酷い!で済むんだけど・・・

Expression Blend 4の性能を見ると、そうも言えないのが困ったところだ

475 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 11:17:29.08 ]
VS側でXAML弄ってるとき、構文チェックを切ることってできないのかね。
いちいちチェックしやがって、モッサリする。

476 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 16:38:25.96 ]
使いこなせなかったから使い慣れた環境に戻したって言ってたよね。

477 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 22:44:17.75 ]
WPF3.5なんて文字の滲みがひど過ぎてそれだけで使わない理由になっただろ。

478 名前:デフォルトの名無しさん mailto:sage [2012/05/31(木) 22:48:15.45 ]
レイアウトで座標が整数から外れた途端ぼけぼけになってたな

479 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 00:10:32.92 ]
当時のEvernoteスレで重いって言ってる連中ほとんど居なかったけど?

480 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 10:03:59.00 ]
いいこと教えてやろうか
VS上で実行じゃなくて、Releaseビルドして生成したexe直接叩いてみそ
全然速さ違うから



481 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 11:52:48.53 ]
うんうん、全然違うね。
もっさりとフリーズくらい違う。

482 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 16:04:59.20 ]
それ、ハード古過ぎなんだお

483 名前:デフォルトの名無しさん [2012/06/01(金) 19:18:34.56 ]
>>455
マウスジェスチャーを

484 名前:455 mailto:sage [2012/06/01(金) 22:10:08.32 ]
もう、自分で作って(w
こんな中途半端なソースコードお見せするのは恥ずかしいですが
何か参考意見でもあれば。

ttp://neetchan.on.arena.ne.jp/

ソース
ttp://neetchan.on.arena.ne.jp/develop/NT2chView.src.zip

よく考えたらまだ、WPFの参考書全部読み終わって無いし
GUIとか機能を沢山実装するのなんて何時になるか分かりません。


485 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 22:15:19.10 ]
頑張れw

486 名前:デフォルトの名無しさん mailto:sage [2012/06/01(金) 23:32:46.94 ]
やめろー、こんなところでソースを公開したらMVVMがどうだとかデザインパターンがどうだとか、うるさいのがくるぞーーーー!!

487 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 00:20:36.24 ]
基本的に全部コードビハインドか。

488 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 00:27:19.30 ]
GJ
教徒共を黙らせてやってくれ

489 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 17:02:29.04 ]
>2ぃとちゃん
ワロタ

490 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:43:50.47 ]
モデルのコレクションとビューモデルのコレクションの同期をとるのに
ttp://stackoverflow.com/questions/1256793/mvvm-sync-collections
にあるObservableViewModelCollectionを使ってるんだけど、これだと
要素を別のコレクションに移したときに、ビューモデルが作り直されてしまう。

モデル一つにつき生成されるビューモデルは必ず一つにしたいんだけど何か良い方法ない?




491 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 01:09:01.94 ]
おれはファクトリーパタンで処理してるけど

492 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 18:48:40.12 ]
WPFでテキストエディタ作った
kie.nu/ckp
バイナリー
kie.nu/ckt
ソース


493 名前:455 mailto:sage [2012/06/03(日) 19:43:47.11 ]
>492
「矩形選択をおこなう」で複数行方向にマウス・ドラッグするとアサートが出るみたい

494 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:18:21.80 ]
>>491
モデルからビューモデルを生成してるってこと?


495 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:27:19.23 ]
>>492
ずいぶん頑張ったな。
ファイルを保存するとエラーになるとか不安定だけど形にはなってるじゃん。

496 名前:492 mailto:sage [2012/06/03(日) 20:44:30.58 ]
>>493
こっちでも出てきたんでさっそく修正しておいた

>>495
どういうエラーが出るの?


497 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:47:53.21 ]
>>496
不正な処理で強制終了

498 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:49:18.16 ]
>>497
[ファイル]⇒[新規作成]⇒[保存]でファイル名がnullのまま保存しようとしてるみたい。

499 名前:492 mailto:sage [2012/06/03(日) 20:49:49.14 ]
>>497
OSのバージョンと再現手順を教えてくれ


500 名前:492 mailto:sage [2012/06/03(日) 20:57:23.42 ]
>>497
再現できた
修正版を出しておく

kie.nu/clE
バイナリー




501 名前:デフォルトの名無しさん [2012/06/04(月) 18:21:52.29 ]
質問です。
2つのCanvas1・2が同じアニメーションなのでstyle(key=ani)で定義してます。
別々のタイミングでアニメーションを開始したいので
beginでStoryboardを呼びたいのですが、
Canvas1.ani.begin();
のように書くと ani は canvasの定義に含まれていないとエラーがでます。
どのように書けばいいのでしょう?


502 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 18:58:49.53 ]
animationbegincanvas1

503 名前:501 mailto:sage [2012/06/04(月) 19:47:05.93 ]
('・ω・`) ごめん。もうちょっとヒントください。

504 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 13:48:15.50 ]
WPF4でもTextBoxやComboBoxにメイリオ指定するとやたらボヤけて見えるんだけど
皆MSPゴシックとかに変えてるの?

505 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 14:15:59.78 ]
TextOptionsの全組み合わせを試せ

506 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 15:25:42.22 ]
>>505
ありがとう

507 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 17:36:55.56 ]
あーxaml構文チェックオフにしてえ

508 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 18:05:59.84 ]
.net frameworkから離れて5年くらい経つ。
当時は2ちゃんブラウザ作ってて最初はC#でやってたけど、
パフォーマンスとか納得いかずに結局ATL+WTLにやることに。
今、twitterクライアント作るとしてWPFでプログラミングして、
十分なパフォーマンス出るのかな。
結局はATL+WTLってことになるんだろうか。

509 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 18:10:24.07 ]
既にいくつかあるが、パフォーマンスは十分だと思う

510 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 18:16:46.87 ]
>>508
Metrotwit使ってるが十分。
前はメモリ食いがひどかったが、古いのを削除するようにしたのか平気になった。
今更ATL+WTLで通常アプリ開発ってまぁよっぽどでなければ無いね。生産性わるすぎ。
XAML系かDirectX系の2択でしょ。



511 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 18:18:24.15 ]
2chブラウザは無駄な仕様が多すぎて開発ハードルが無駄に高い

512 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 18:34:02.48 ]
Twitterクライアントぐらいのものを作るのにはいい感じなんだよなあ

513 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 18:59:53.46 ]
>>507
VB6で開発してる人の苦労を再認識してもらうための
MSの粋な計らいだ。存分に味わいたまえ

514 名前:508 mailto:sage [2012/06/05(火) 19:03:51.59 ]
よくわかってないんだけど、例えばボタンとかリストビューとかも
.net framework 2.0のときなんかとWPFとではクラス自体違うのかな。

>>511
確かに何気にハードル高かったよ。
あれに比べたらtwitter API叩くのかなんか楽チン。

515 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 19:13:54.46 ]
基本的に全部 System.Windows.FrameworkElement から派生してる。

516 名前:508 mailto:sage [2012/06/05(火) 20:34:01.88 ]
なるほど。Formsとは別物ってことですね。理解。
久々にC#やってみたくなった。

517 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 23:56:17.52 ]
>>515
DependencyObjectだろ
FrameworkElementから派生してるのはWPFの中でも高レベルなクラス

518 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 00:39:56.73 ]
ボタンとかリストとかって書いてるからそう書いたんだが。

519 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:05:45.82 ]
新スレ立てた。MVVM語りたいやつは↓行ってね
toro.2ch.net/test/read.cgi/tech/1338948213/

520 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:06:48.40 ]
まだこんな厨房いたのか



521 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:20:11.74 ]
分断させて過疎らせて誘導荒らししてスレを消滅させるよくある手口、スルー推奨

522 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:28:29.03 ]
MVVMはWPFオンリーの設計パターンじゃなく、XAMLUI共通のパターンだろ
ならこのスレで論じること自体筋違いとしか思えんのだが

523 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:31:54.25 ]
>>521
いや、このスレはWPFに関する話題に徹して、MVVM信者とアンチは向こうでバトルさせた方がいいだろ

524 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:43:08.77 ]
まぁむしろXAML系スレとしてまとめちゃってもいい気がする。現状はMetroスレとか過疎りそうだし。

525 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:46:30.64 ]
ム板は過疎なのに自治厨が多い

526 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:52:51.24 ]
言語、統合環境毎の総合スレしか要らん

527 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:58:31.96 ]
データ構造とアルゴリズムに関するスレだってあるんだから、UIパターンに関するスレがあってもいいだろ

528 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:59:36.78 ]
UIパターンに関する議論でWPFの話ができなくなったからにしろよ。過疎スレ増やしてどうする

529 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 12:04:26.10 ]
WPF内で分断されるほど元の人口が居ない

530 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 12:05:41.56 ]
ここ数スレの半分以上がMVVMの話じゃねえか!
もうウザいから別スレでしてくれよ!



531 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 12:10:41.87 ]
WPFからMVVM取ったらなにが残るというのだ(´・ω・`)

532 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 12:11:00.33 ]
最初から煽りスレタイで立てろよ

533 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 13:14:46.24 ]
1)MVVMってなーに? 必要なの?
2)WPFでDirectX叩くのどうやんだよおせぇんだよ

おまえらの持ちネタってこんだけだろ
別に分けてもいいんじゃね

534 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 13:21:04.71 ]
たしかにそれだけだw

535 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 13:42:07.25 ]
10万行スクロールだろ

536 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 17:39:11.99 ]
分けてもいいと思うけど、このスレからMVVM奪ったら過疎るぞw

537 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 17:54:45.56 ]
ここはFormsから流れてきたアンチがウザすぎて駄目だわ
Silverlight使いやWP7アプリ開発してる連中の意見も聞きたいので、スレ分離に賛成

538 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 18:37:57.84 ]
同感、勉強嫌いのレガシーおじさんはすっこんでろ

539 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 00:41:03.25 ]
気分はWinForms!

540 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 02:28:24.70 ]
ポップアップヒントみたいの出してるんだけど
そのヒントにカーソルがあるとき、その下のオブジェクトにクリックとかがいくように
なんて言ったらいいんだろう。マウスのイベントを透過させたいんだが
方法ある?



541 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 02:32:34.59 ]
よかれと思ってるんだろうけど
標準と違う動作させると
ユーザー怒るで

それでもやりたいなら
同じICommandバインドすればええんちゃうか

542 名前:540 mailto:sage [2012/06/07(木) 03:06:42.46 ]
>>541
言い方が悪かったかも。 
ポップアップヒントはないものとして(透明として) その下をクリックさせたいんだけど。

543 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 03:20:13.08 ]
hittestまわり弄ればできるんじゃないの
ポップアップは別ウインドウ扱いだからうまくスルーするかはしらんけど

544 名前:デフォルトの名無しさん mailto:sage [2012/06/08(金) 23:32:12.71 ]
ListBox ってCtrl+AはきくのにApplicationCommands.SelectAllをトラップできないんだな。

545 名前:デフォルトの名無しさん [2012/06/11(月) 16:46:10.89 ]
MSDNの
msdn.microsoft.com/ja-jp/library/ms745816.aspx
ここにある、
「ストロークおよび強調表示に適用したイメージ ブラシの例」 (WILDFIRE)
の強調表示 って どうやるの?

546 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 17:51:58.58 ]
書いてあるじゃん

547 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 18:25:03.44 ]
嫁よ。OnRenderを持ってるクラスから派生させてカスタムコントロール作れと書いてるだろ。

548 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 18:34:49.51 ]
え?マジ?

BuildHighlightGeometry これか。
ありがd。

549 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 18:37:48.79 ]
と思ったら、別レス来てた。
あれ? また勘違いしてたか?
いろいろやってまたわかんなかったら聞きに来まs

550 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 21:27:26.87 ]
そろそろWPFの勉強を始めようかと思うんだけど
どの本読めばいいの?オススメ教えてくれ



551 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 22:16:04.32 ]
それよりWPFに未来があるのかないのか
それがわからん

552 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 23:32:52.21 ]
WinRT作ったりとMSが力を入れて推進してるのは確かだから潰しは効くさ

>>550
Webで十分。理解を深めるのにエッセンシャルWPFあたりはあっていいかも

553 名前:デフォルトの名無しさん mailto:sage [2012/06/11(月) 23:44:07.83 ]
>>550
Prismの解説書。
本としてもまとまってるが、Webでも見れるらしい。大体同じと聞いたけど詳しく知らん。

554 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 22:42:56.69 ]
自作のカスタムコントロールで、CaptureMouse() したいんだけど、
GotMouseCapture イベント発生直後に、なぜかLostMouseCaptureが
発生してしまってキャプチャーできない(正確には一瞬だけキャプチャして
なぜ勝手にロストしている)状態なんだけど、なぜ LostMouseCapture が
発生するか調べる方法ってある?

555 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 22:58:59.08 ]
ふつうにイベントキャッチしてソースみればよくね

556 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 23:03:58.32 ]
子要素から伝播してきてるとかかもな。e.Source見ろ

557 名前:554 mailto:sage [2012/06/12(火) 23:24:11.15 ]
ありがとう早速ためしてみた。
カスタムコントロール内で、TextBox を生成してるんだけど、
そいつが発生元だった。

最初の説明の書き方が悪かったかも。
・カスタムコントロール内で、 TextBox を生成している(名前をtextBox1とする)。
・textBox1にフォーカスがあたると、そのイベントハンドラ内で、textBox1.CaptureMouse()する。
  ↓
どうもキャプチャしている様子がない。
  ↓
textBox1のGotMouseCaptureとLostMouseCaptureでログを吐くようにする。
  ↓
キャプチャ直後にリリースしてることを確認。
  ↓
半日ググりつつコードいじったが解決できず
  ↓
2chで質問。
  ↓
直後に、ttp://stackoverflow.com/questions/6715555/wpf-mousecapture-being-force-released-immediately
を発見。解決せず。
  ↓
2chでレスもらう。
  ↓
e.Source は textBox1 だた  ←イマココ

助けてよ、ママン。
もう疲れたよパトラッシ

558 名前:554 mailto:sage [2012/06/12(火) 23:32:35.18 ]
口数が多くて言葉が足りなかったよ。
e.Source が textBox1 なのはわかった。

でも、textBox1 がなぜ、リリースしてしまう
のかわからないんだよ。

どうやって調査したらいいかもわからなくて
僕は途方に暮れてるんだよ。

559 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 23:42:24.42 ]
キャプチャしてると不都合だから外すんじゃないの
たとえばどっかにキャプチャされてるとマウスで選択できなくなるから
これは俺のただの想像だけど
ライブラリ覗いたらなんかわかるかもしれないけど

そもそもテキストボックスでキャプチャする意味なくね?
NumUpDownっぽいの作る時くらいしか必要ないと思うけどな

560 名前:デフォルトの名無しさん mailto:sage [2012/06/12(火) 23:49:54.68 ]
tabじゃなくてクリックで当てると、MouseLeftButtonUpでキャプチャがリリースされるっぽいから、
upとPreviewうpの両方でe.Handld = True すればリリースされないんじゃね。
TextBoxしかクリックできなくなるが。



561 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 00:33:51.47 ]
そういや、Snoopは3.5までしか対応してないんだな。

562 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 00:48:59.50 ]
4も対応してるだろ。
古い配布ページ見てないか?

563 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 00:53:39.03 ]
snoopwpf.codeplex.com/

564 名前:554 mailto:sage [2012/06/13(水) 22:56:47.97 ]
>>559
ttp://www.codeproject.com/Articles/31592/Editable-TextBlock-in-WPF-for-In-place-Editing
をいじってた。

explorer のように背景をクリックしたら、編集モードを終了する動きは実装されてなかったので、
GotFocus でキャプチャ、LostFocus でリリースしたら期待どおりの動きになった。

UserControl はだせぇと思って、添付ビヘイビアでコントロールを生成するようにしたら、>>554
の問題発生。カスタムコントロールで作り直しても結果は同じだった。
オレがなにか余計なことをしてるのかもしらんが。

>>560
おしえてくれてありがとう。
その方法を試してみた。キャプチャするときにフラグ立てといて、Preview で1回だけ、
e.Handled = True にしてみた。すると、TreeView の背景をクリックしたときは期待どおりの
動きになったんだけど、TextBox 自身をクリックしても編集が終了するようになってしまった。
キャプチャしてるの状態なので、e.Source を見て、TreeView がクリックされてるのか、TextBox
がクリックされてるのか区別する方法はないようだ。

565 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 23:23:18.48 ]
マウスキャプチャの意味わかってる?
フォーカスとは無関係なんだけど

566 名前:デフォルトの名無しさん mailto:sage [2012/06/13(水) 23:58:29.12 ]
キャプチャの意図が全く見えないけど、キャプチャしてる状態なら、
TextBoxしかクリックできないんじゃね?

567 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 06:19:55.82 ]
VS2012でWinRT使って遊んでるんだけど
[CallerMemberName]が素晴らしいな。

C#5.0の新機能だからWPFでも使えて
面倒だったINotifyPropertyChangedのプロパティ名指定が楽になる。

async/awaitしか注目してなかったけど、これは嬉しい機能追加だね。

568 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 07:39:18.60 ]
おお。ホントだ。これは良い。

569 名前:567 mailto:sage [2012/06/14(木) 09:03:10.12 ]
Metroアプリのテンプレートに入ってるBindableBaseを継承して
ideone.com/KIvoJ

↓みたいな感じで使える。
private string text;
public string Text {
get { return text; }
set { SetProperty(ref text, value); }
}

OnPropertyChangedも定義されてて、プロパティ内にOnPropertyChanged()と書くだけでいい。
引数いらずでミスが入り込む余地がない!
うーん、素晴らしい。なんでもっと早く入れてくれなかったんだ。

570 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 09:31:01.18 ]
地味に良いな。文字列とかありえなさすぎるw



571 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 17:55:41.53 ]
ラムダ式を使えば文字列は回避できただろ

572 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 18:12:43.65 ]
実行時に式ツリー生成の負担かけてまで、そんな書き方しなきゃダメか…という感じだったけどもね。

573 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 20:58:44.87 ]
wpfとasp.netって親戚みたいなもん?
関係ある技術なの?

574 名前:デフォルトの名無しさん mailto:sage [2012/06/14(木) 23:37:28.70 ]
どっちも.NETという点では関係ある技術だけど
WPFはクライアント側、ASP.NETはサーバー側で役割は全然違う。

575 名前:デフォルトの名無しさん mailto:sage [2012/06/15(金) 01:07:20.20 ]
パっと見はxamlもaspxファイルも見た感じ近いけど、全然違うっちゃ違う。
どっちもxmlだから似てるというだけ。

576 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 01:33:14.16 ]
やっと公式見れた・・・DLのリクエストが凄かったんだろうか。。

577 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 01:33:49.47 ]
ごばくです。。

578 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 17:29:54.67 ]
XAML上に書いてる コントロールテンプレートの
一部だけ(例えばフォントサイズ)を 動的に変更って どう書けばいいの?

579 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 17:36:35.66 ]
リソースで動的ってどんなだよ

580 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 18:20:13.59 ]
やったことないけど、普通にテンプレの中の対象要素のfontsizeにバインドじゃできないの?



581 名前:デフォルトの名無しさん mailto:sage [2012/06/16(土) 19:10:06.19 ]
トリガー?

582 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 03:14:10.04 ]
BlendがあるならトリガでもいいけどVSMがスマート
ないなら要素に名前付けといてコントロールのコードでGetTemplateChild

583 名前:デフォルトの名無しさん mailto:sage [2012/06/18(月) 04:59:18.08 ]
多分、578は単にTemplateBindingがしたいだけの気がする

584 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 16:42:09.77 ]
WinFormsのDataRepeaterっぽいことってDataGridでやるのがいいの?

585 名前:デフォルトの名無しさん mailto:sage [2012/06/19(火) 21:48:21.62 ]
ItemsControlだな
Itemsにレコードに対応するオブジェクトをそのまま突っ込んで
XAMLでItemsPanelプロパティにVirtualizingStackPanelを設定
XAMLでItemTemplateを定義してレコードとコントロールのプロパティをバインドすればできあがり

586 名前:デフォルトの名無しさん mailto:sage [2012/06/21(木) 12:11:59.14 ]
>>585
レス見てもイマイチ分からなかったけど、試してみたらなんかいけそう
サンクスです

587 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 18:57:35.66 ]
WPFのwindowをTopmostで表示してるんだけど、Taskbarの上にも出るようにしたいんだけど、そのApplicationがActiveじゃなくなると裏に行ってしまう。

ただ単にDisplay全体に赤い枠を表示させたいだけなんだけど、WPFを使って何か方法ありますか?それとも別にいい方法がありますか?

XAMLには、
WindowStyle="None"
Background="Transparent"
AllowsTransparency="True"
ShowInTaskbar="False"
Topmost="True"

を設定してます。

588 名前:デフォルトの名無しさん mailto:sage [2012/06/22(金) 21:03:37.58 ]
アラートかなにかか。winformで常に手前に設定してもタスクバーが優先されるしなぁ。
directxでフルスクリーンも微妙か・・wpfじゃないが

589 名前:デフォルトの名無しさん mailto:sage [2012/06/23(土) 02:12:39.82 ]
アクティブを渡さないようにするとか

590 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 16:31:36.09 ]
WPFでウィンドウの枠を消すには、Windowのプロパティ、WindowStyleとAllowsTransparencyを
それぞれNone,Trueに設定して行いますが、このようにして枠を消すと
Aeroを有効にした環境でのウィンドウのフェードイン・アウト効果と影が付かなくなってしまいます。
これを付くようにしたいのですがどのような方法がありますか?
techracho.bpsinc.jp/baba/2009_12_15/768
こちらを参考にWinAPIを使った方法も試しましたが同様の結果となりました。



591 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 00:17:01.46 ]
しらんけど、多分作った本人しか気づかないしほっとけばいんじゃねw

592 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 08:08:44.40 ]
Livetの1.0ができてるらしいぞ
このスレでお前らがドキュメント、ドキュメントうるさいから
今はドキュメントサイト構築中で、それ完成してからの公開予定っぽい

593 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 09:09:16.46 ]
宗教はスレ違い

594 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 10:30:55.76 ]
どこぞのDみたいに、1.0だと思ってたら0100だったってオチはないよね?w

595 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 16:12:53.42 ]
>>590
「影をあらかじめ書いておく」以外の方法をみたことがない

chrome使う方法はwin8になった段階でひどい目に逢いそうだからおすすめしない

596 名前:590 mailto:sage [2012/07/02(月) 08:12:38.33 ]
こだわらない方向でいきます。ありがとうございました。

597 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 23:03:59.97 ]
xamlってドキュメンテーションコメントってあるんですか?

598 名前:デフォルトの名無しさん mailto:sage [2012/07/02(月) 23:09:23.94 ]
ないと思うけど
あるとしてどこで使うのさ

599 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 17:10:31.76 ]
バインドしてるプロパティの中で例外が握りつぶされるのって、なんとかならないの?
キャッチして手動通知とかじゃなくて。フツーにスローしてくれればいいんだけど。。

後々を考えると、この中であんまり複雑なことやってる処理を呼ぶとか
怖くてできないのだけど・・

600 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 17:17:47.28 ]
あー
例外ね
int型にバインドしてるのに文字列入れたー!とか
あの例外だろ? わかるわかる

ちゃんと処理できるよ
msdnみてね



601 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 17:41:10.85 ]
うぜぇw 他にどんな例外があんだよw exceptionから派生しない例外か

602 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 17:49:01.32 ]
>>600
世知辛い世の中だ。。調べるのは構わないけど、
ValidatesOnExceptions を指しているわけではなくて、
その他に、ただスローだけを行う仕組みが用意されてるわけよね・・?
それともソレ?

603 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 18:33:55.13 ]
ユーザーが1文字入れたら例外で落ちるアプリが作りたいのか?

604 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 18:45:08.00 ]
極端に言えば、そう。

605 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 18:48:25.62 ]
とりあえず今Prism見てるんだが、XAML用のライブラリ、ざっくりと特徴教えてたもれ(´・ω・`)

606 名前:デフォルトの名無しさん [2012/07/03(火) 19:35:37.41 ]
やだね

607 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 22:10:20.99 ]
フレームワークを使うならPrism一択でいいと思うよ
画面遷移やイベントの仕組みや複数アセンブリの扱いが非常に良くできてる
あと外せないのはExtended WPF Toolkitかな

608 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 23:52:50.62 ]
>>607
まだ読んでる途中ですが、なんかRegionBehaviorとかこんなんいるんかってのがチラホラ…(´・ω・`)
とりあえずひと通り見ないと設計思想把握できんのでなんなんですが。
なんか車輪作りたくなりそうな予感・・・

609 名前:デフォルトの名無しさん mailto:sage [2012/07/03(火) 23:58:11.01 ]
Region便利だよ
最初Prism触ったときは意味が分からなくて投げたが
自分で1から作ってるうちに同じものの劣化版を作っていることに気付いて
結局Prismに戻った

610 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 00:06:08.67 ]
>>609
どげんすか、なんか普段使うことのないものがたくさんついてるような巨大ライブラリになってたりはしてないですか?
あとこれからMetroとかWP8とか来る時に、すぐ対応するのかがちと不安(´・ω・`)



611 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 09:19:56.41 ]
円の中央を指定して表示したいんだけど、どうすればできますか?
左上の座標になっちゃうんだけど。

HorizontalAlignment="Center" VerticalAlignment="Center"
とかにしてみたけど、なんかwidthとheight指定できなくなっちゅし・・・。

612 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 09:39:10.87 ]
なにを言ってるんだおm

なにするのか知らないし、なにを指してるのかも知らないが、
左上原点でなにが都合が悪いのかサッパリわからん。

613 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 09:54:34.93 ]
RenderTransform使って
TranslateTransformでXとYにWidthとHeightを1/2コンバータ付きでバインドするとか

614 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 10:06:33.92 ]
同心円を描きたいだけだろ。

615 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 10:27:19.00 ]
Blend使うかコードでDrawingVisual

616 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 12:23:35.03 ]
Metroスレないからここに書くが、忍っちにMetroでは縦スクロールと横スクロールの混在しちゃダメと言われて解せなかったんだが、
タッチのないパソコンで動かす時に縦と横が混在してるとホイールの動作がどっちに行くかでややこしくなるからだったのかなー
使い分けできなくないけれど、不慣れな人にはしにくいかも。


617 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 13:08:24.55 ]
いやタッチデバイスでもわかりにくいだろ
iOSやAndroidアプリで縦横スクロール混在ってほとんど見たことない

618 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 13:12:16.31 ]
標準のブラウザからして縦横スクロールですが

619 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 13:15:03.30 ]
横スク混ざると極端に使いにくくなる
最悪のインターフェースになる

620 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 13:31:36.14 ]
>>618
だから使いにくいだろ?
スマホ向けサイト作るなら縦スクロールだけでいけるようにするのが常識



621 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 13:33:32.69 ]
スマホのブラウザってPC向けサイトをなるべく縦スクロールだけで読めるようにする機能が
もれなく付いてるぞ

622 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 13:52:27.11 ]
>>617
んー、こういうイメージ。これはパネルが2段になってるけれど。
www.youtube.com/watch?v=4Wdf7iMVZjc

twitterのアプリだとしてリストがたくさんあるようなものを横にスクロールしつつ、各リストは縦にスクロールという方が使いやすそうに思ったんだが。

623 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 13:54:39.17 ]
通常のWebサイトで横スクロールを使ってるサイトなんてどこにあるよ

624 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 13:57:48.55 ]
>>622
一つのコントロールに対して縦横両方のスクロールを可能にするってのがNGってだけで、子コントロールが親コントロールと別方向にスクロールするのはOKなんじゃね?

625 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 14:00:46.43 ]
>>624
いや以前聞いてみたところ、ダメ言うてた。パノラマみたいな横スクロールがきっちり決まった位置までスクロールするようなものならOKかもと言ってた。
ここでダメというのは推奨されないということで、はじかれるかどうかは不明だけど。

626 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 14:33:58.08 ]
リストの垂直方向へのドラッグはリスト項目の選択を意味するらしいから
それとごっちゃになるよ

627 名前:デフォルトの名無しさん mailto:sage [2012/07/04(水) 14:52:26.22 ]
>>626
スタート画面でのタイル選択をちょっと下に下げるのと同じ動き?


628 名前:デフォルトの名無しさん [2012/07/04(水) 16:07:56.41 ]
>>623
アマゾン

629 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 19:55:27.54 ]
んー入力させてOKだったら処理続けるとかそういうのをMVVMでナイスにやるあたりがよくわからん・・・
これがMVPVMで言われてる繊維となPrismで言うNavigationなんかな?
そこら辺ってこうすればナイスに出来るよっての、まだまとまってないんだっけ?

630 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 19:57:52.19 ]
数字枠に英字入れたら「数字だって言ってんだろ死ねやおらぁ!」って
メッセージボックス出すのは10年前に禁止になりました

よろしくね



631 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 20:39:27.44 ]
>>620
俺はスマホ向けのほうがいやだったりする
いちいちPC向けに飛び直してるよ
少数派か・・・

632 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 01:50:06.76 ]
Prism、Metro対応まだなんだっけ・・・
なんか予定あった気がしたが・・・

633 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 11:56:40.52 ]
対応しなくていいと思う
UIも主用途も違いすぎる
やるなら一から作ってほしい

634 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 12:03:55.25 ]
MetroにRegionをそのまま移植したらガイドライン無視しまくりでKYなクソUIだろ

635 名前:デフォルトの名無しさん [2012/07/09(月) 14:19:01.81 ]
Clipの逆側が欲しいんだけど、どうすりゃいいのかな?

赤い四角の中に文字を切り抜いたものとかどうすりゃできる?

636 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 14:45:32.32 ]
OpacityMaskにVisualBrush突っ込む
でも静的なロゴの表示なんかに使うだけなら別のデザインツール使って
XAMLリソースやビットマップ画像を生成した方がいいと思う

637 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 18:01:34.50 ]
>OpacityMaskにVisualBrush突っ込む

どんな VisualBrushにすればいいの?
動的に作るわけだよな

うーん わからん。

638 名前:デフォルトの名無しさん mailto:sage [2012/07/09(月) 20:20:10.56 ]
ジオメトリ作ってtostringすりゃパスマークアップになる
そのままコピペすりゃxamlに早変わりさ

639 名前:デフォルトの名無しさん [2012/07/10(火) 07:12:20.48 ]
>>631
タッチパネルなら、縦横スクロールもそんなに苦じゃない。
マウスだとコロコロで1方向にしか行けないから使い辛い。

しかしMetroって今ストアにあるアプリの大半が横スクロールで作ってるけどなんで?
別に縦スクロールでも良いはずなのに。大抵のwinアプリは横スクロールなんて使ってないのに。

640 名前:デフォルトの名無しさん mailto:sage [2012/07/10(火) 11:43:52.86 ]
>>639
MetroはGUIとしては横スクロールが推奨なんだと
ドキュメント表示やブラウザは縦スクロールだけど



641 名前:デフォルトの名無しさん mailto:sage [2012/07/10(火) 23:21:35.39 ]
>>639
ディスプレイが横長だから、かな?

642 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 03:22:48.28 ]
指でスクロールするなら縦より横のほうが動かしやすいからじゃない

643 名前:デフォルトの名無しさん [2012/07/11(水) 10:31:10.74 ]
一ヶ月以上も前の話題で、どうもすみませんが、
可能でしたら、テキストエディタを作る話題のコードを、
再び、アップロードして頂けないでしょうか?
>>395
>>418
>>492

AvalonEditとか、とっかかりにするには巨大すぎて把握できません……


644 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 10:39:59.32 ]
>>641
人間の目は、縦より横に動く物の方が捉え易いからじゃねーかな
パチスロばっかりやってる様な奴は知らんがw

645 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 10:49:01.42 ]
>>639
WP7のパノラマUIを発展させた感じじゃない?
自分的には左右からのフリックでの操作とあわせて操作はしやすいと思う。


646 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 15:03:49.10 ]
>>644
そうですか?
例えばMSストアで「仕事効率化」を探すために横スクロールしてると見逃しやすいです。
横に動くものを目で追うのはやりやすい(眼球は上下より左右の方がより動きますから)ですが、
横から次々に流れてくるものを見る場合、目線は左右ではなく上下に何度も動かす事になります。
結構やり辛いと思いますけど。

>>645
ページ切り替え、なら分かるんですが…

しかし、みんな横スクロールに抵抗無いみたいですね。自分だけなのかなぁ。
横スクロールしながらだと、文字って読めなくないですか?
文章は当然ですが、ラベルみたいな短いものでも。

皆さんはメトロ対応するときは、横スクロール使う予定ですか?
自分は縦で行きたいけど、他が横スクロールばかりだと、他のアプリとのギャップで却って使いづらくならないか不安です。


647 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 16:00:39.71 ]
俺は>>646と同じ感覚だな。
Pivotは良く使うけど、Panoramaは極力避けるつもり。

648 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 16:18:36.87 ]
いいかげん他所でやれよ

649 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 16:33:15.63 ]
ここのModel,ViewModelをこぴってPortableLibrary作ったんだけれど
MetroアプリのXAML上で
<Page.Resources>
<vm:CustomerViewModel x:Key="ViewModel"/>
</Page.Resources>
とやると
"XML 名前空間 'clr-namespace:SimpleMVVM.ViewModel;assembly=CSPLib' に不明な型 'CustomerViewModel' が含まれています"
WPFアプリで
<Window.Resources>
<viewModels:CustomerViewModel x:Key="ViewModel" />
</Window.Resources>
とやるのは通って実行できる。
この辺何か違いあるんだっけ?
コンストラクタで
DataContext = new SimpleMVVM.ViewModel.CustomerViewModel();
とやるならMetroでもWPFでも実行できる。

650 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 16:37:16.38 ]
Metroは型をWinRTにコンポーネントとして公開しないと認識されないんじゃないの



651 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 16:41:32.12 ]
上のxmlnsは違ってるけど合わせてあります・・・すいません・・・

652 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 16:42:37.03 ]
>>650
あ、それは.NETで作ったクラスをC++やjavascriptから使うときの話だと思います。

653 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 16:51:50.21 ]
clr-namespaceの代わりにusing
View使いまわしとかどうせ不便なだけだからやめとけ

654 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 16:58:10.21 ]
含まれています。・・だから、存在は知ってるけどナニコレ的なことなんだろうか。
意味がわからん。

655 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 17:13:18.98 ]
>>653
とりあえずVMまでのportable libraryでの実装をどこまでできるか試してみるざんす。
>>654
エディター上では見つけられてるっぽいのでなんかコンパイラがおかしいのかとも思うんですけどね…

656 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 18:11:04.62 ]
>>646
横スクロールが糞なのは同意だけど
最近の端末のUIは横サイズに合わせて勝手に縮小して
必ず縦スクロールだけにしてくれるようだ

657 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 20:10:11.96 ]
メトロは池沼の発想による産物だから。
横スクロール推奨で、MSのガイドラインに
「スクロールできることが視覚的に分かるように次のページの一部が入り込むようにしましょう」
とか書いてあるのを見て目眩がしたわ。

658 名前:デフォルトの名無しさん [2012/07/11(水) 20:11:05.60 ]
>>643
sourceforge.jp/projects/fooeditor/scm/git/FooEditEngine/
ロダにアップするのはめんどくさいんでTortiseGitで落としてくれ


659 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 20:37:59.79 ]
>>657
理にかなっている
お前が池沼だよ

660 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 22:32:23.31 ]
>>659
いやいや、理にかなってないよ。
そういうのはスクロールバーみたいな共通ウィジェットの役目だから。それをもっと分かりやすくすれば良いだけ。
なのにコンテンツ側が変な位置でちょん切れてるからスクロールがあるのが分かりやすい、とかアホの極みだろ。



661 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 22:39:53.62 ]
スクロールバーなんていう記号に頼らないで直感的にわかるようにしろってことだろ

662 名前:デフォルトの名無しさん mailto:sage [2012/07/11(水) 23:12:54.89 ]
>>657
使ってみるとそれで結構いい動きになるよ。
IS12Tが安いのでとりあえず入手して試してみるのがいいよ。

663 名前:デフォルトの名無しさん mailto:sage [2012/07/12(木) 00:22:00.11 ]
>>660
とりあえずお前はUIデザインについて学んでこい。

664 名前:デフォルトの名無しさん mailto:sage [2012/07/12(木) 11:58:23.10 ]
Metroデザインに文句言ってる人

言うのはいいと思うんだけど、それに反してデザインするとストア登録審査却下されるぞ

665 名前:デフォルトの名無しさん mailto:sage [2012/07/12(木) 12:21:11.64 ]
チャームどん無視とかなら知らんけどそんな厳しくないだろ
ゲームだって登録されてんだから

666 名前:デフォルトの名無しさん mailto:sage [2012/07/12(木) 13:15:44.31 ]
>>658
どうもありがとうございます。
サクサク動くし、GapBufferとかGerptとかてんこ盛りだし、
これは、すごいんじゃないでしょか?

本当にどうもありがとうございました。勉強します。


667 名前:デフォルトの名無しさん mailto:sage [2012/07/12(木) 16:01:42.21 ]
画面サイズが一種類ならともかく複数あるのに
どうやって確実にはみ出させるんですか?

668 名前:デフォルトの名無しさん mailto:sage [2012/07/12(木) 16:08:14.05 ]
次のページ作っといて何ピクセルかかぶせるだけやろ
パノラマなら別のインターフェースがあると思うけど

669 名前:デフォルトの名無しさん [2012/07/14(土) 21:07:04.84 ]
>>66
Gerptについて詳しく教えてくれ
くぐっても出てこない


670 名前:デフォルトの名無しさん mailto:sage [2012/07/15(日) 11:02:33.53 ]
Metro って DataTemplate.DataType ないのか
禿げ上がるほど便利なメカニズムだったのに



671 名前:デフォルトの名無しさん mailto:sage [2012/07/15(日) 12:41:59.12 ]
>>670
そういうのは大体、実装が間に合ってないだけ。

投票しとけば、優先度上げてもらえて、早めに実装される確率上がる。
visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2831450-implicit-datatemplates-for-winrt

672 名前:デフォルトの名無しさん mailto:sage [2012/07/15(日) 13:19:57.53 ]
>>671
おおそうなのかサンクス
3個投票したわ

673 名前:デフォルトの名無しさん mailto:sage [2012/07/16(月) 03:44:04.63 ]
なるほど、WinRTはまだ完成度が低いんだな。
もうちょい様子見が良さげだな。

674 名前:デフォルトの名無しさん mailto:sage [2012/07/16(月) 07:16:49.04 ]
>>667-668
今あるメトロアプリを見る限りだと、ページの横幅を1200ピクセルで固定で作ってるものも結構あるね。
たぶん1280x720や1366x768以上ではみ出るように合わせてるんだろう。
一応メトロの最低解像度は1024x768なんだけど。

675 名前:デフォルトの名無しさん mailto:sage [2012/07/16(月) 17:52:47.49 ]
リボンを使う画面で、Window要素のCanResizeをNoResizeにすると、
画面の一番下に謎のバーが出るんだけど仕様・・?俺だけ?左右の枠線を見てもらえると・・

<my:RibbonWindow x:Class="MainWindow"
xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" xmlns:my="schemas.microsoft.com/winfx/2006/xaml/presentation/ribbon" ResizeMode="NoResize">
<my:Ribbon Name="Ribbon1" />
</my:RibbonWindow>

これが全てでコードビハインドにもなにもないし、バインドもなにもしてない。
これで再現するんだけど・・

676 名前:デフォルトの名無しさん mailto:sage [2012/07/16(月) 18:01:36.57 ]
Canじゃなかった。ResizeModeだった・・

677 名前:デフォルトの名無しさん mailto:sage [2012/07/16(月) 21:37:45.50 ]
SS

678 名前:デフォルトの名無しさん mailto:age [2012/07/16(月) 21:45:46.46 ]
ksks

679 名前:デフォルトの名無しさん mailto:sage [2012/07/17(火) 10:12:13.35 ]
リボンウィンドウでNoResize使うなってことじゃね
リボンアプリでもダイアログとかは標準ウィンドウだし

680 名前:デフォルトの名無しさん mailto:sage [2012/07/17(火) 10:15:33.28 ]
それよりVS2012RPでリボンがぶっ壊れてて使い物にならないのを何とかしてくれ



681 名前:デフォルトの名無しさん mailto:sage [2012/07/17(火) 10:21:26.92 ]
なんとかしてくれってのはさすがにconnect辺りに言ってくれ

682 名前:デフォルトの名無しさん mailto:sage [2012/07/17(火) 11:11:36.60 ]
いつからWinRTスレになったのか

683 名前:デフォルトの名無しさん mailto:sage [2012/07/17(火) 16:21:36.95 ]
コンバーターをどうにかインライン的にXAMLで書きたい。
しょーもないのまでいちいちクラス書くとかアホらしい。なんかないの?

684 名前:デフォルトの名無しさん mailto:sage [2012/07/17(火) 17:25:57.89 ]
ない

概念が違ってる

685 名前:デフォルトの名無しさん mailto:age [2012/07/17(火) 18:03:13.88 ]
WPFて黒やなぎさんがやってるとこ?

686 名前:デフォルトの名無しさん mailto:sage [2012/07/17(火) 18:10:47.76 ]
それはWWF

687 名前:デフォルトの名無しさん mailto:sage [2012/07/17(火) 19:02:00.15 ]
>>669
どうもすみません、Grepのtypoです。

>>658はTFSにDirectWriteと非常に勉強になることばかりです。
どうもありがとうございます。

688 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 14:08:49.53 ]
Office2013を見るにデスクトップ側でもメトロっぽいUI混合推奨なのか

689 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 14:36:46.09 ]
UIの退化を感じる

690 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 14:46:34.82 ]
WPFにもMetroコントロールくれないと



691 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 14:46:53.00 ]
リボンはマジ勘弁してほしい。画像とラベルを設定してると、
画面サイズで勝手に見た目が変わるから最悪。

692 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 14:47:27.62 ]
画像じゃなかった。Large画像。

693 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 14:58:03.01 ]
今更Officeにリングコマンド導入か
聖剣伝説から何年遅れてんだよ

694 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 19:47:08.65 ]
2013すげーいいな
UIもスタイリッシュになった

695 名前:デフォルトの名無しさん mailto:sage [2012/07/18(水) 20:47:09.33 ]
リボンの設定も満足にできない男の人って…

696 名前:デフォルトの名無しさん mailto:sage [2012/07/20(金) 01:15:31.78 ]
俺はCoco派


697 名前:デフォルトの名無しさん mailto:sage [2012/07/22(日) 15:45:37.17 ]
重い処理を別スレッドで動かしているときに、画面ではボタンとかがクリック可能な状態になっていると思います。
そこら辺どのように実装していますか?
単純にボタンをクリックできないようにしているだけですか

698 名前:デフォルトの名無しさん [2012/07/22(日) 16:44:54.63 ]
>>697
クリックされては困るものはクリックできないようにしてる


699 名前:デフォルトの名無しさん mailto:sage [2012/07/22(日) 16:54:16.86 ]
canexecuteでいいんじゃね

700 名前:デフォルトの名無しさん mailto:sage [2012/07/24(火) 00:52:35.13 ]
コンテンツのIsEnabledをfalseにした上で、ウィンドウ全面を
ProgressBar乗せた半透明黒色のパネルで覆うようにしてる
ナビゲーションベースならそういう風にするのが自然に見えるかと
ダイアログベースならVSみたいに進行状況を表示するだけのモーダルダイアログを出せば



701 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 17:01:39.14 ]
GDI+である範囲をクリッピングして線を引いたり四角を描いたりするのと同じようなことをしようと思うんですが、Canvas上でShape使ってやるとしてClipの仕方どうすべきですかね。
各Shape各々のClipにのShape位置にずらしてGeometryを設定する?
それともクリップの形状ごとにCanvasを全面覆う子Canvasを作ってそれにShape追加してクリップすべきですかね。
何か良い作法があれば教えてたもれ

702 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 20:05:24.15 ]
APIのSendInputをwpfから使いたいのだが、Windows Formsで動くコードを、
そのままwpfに持ってきたんだけど動かない。wpfはなにかあるの・・?
マネージじゃないし関係なさそうな感はあるんだけど・・・。

703 名前:デフォルトの名無しさん [2012/07/28(土) 21:00:32.22 ]
>>701
DrawingContextにそのものずばりな命令がある


704 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 09:19:00.14 ]
>>703
すまぬ、SilverlightとかWindowsPhoneとかMetroでも同じ事をしたいのでDrawingContext使えないのじゃ・・・

705 名前:デフォルトの名無しさん [2012/07/29(日) 11:11:58.12 ]
>>704
Shapeだと大量の図形を生成したときに結構重くなるし、メモリーも食う
面倒だけど、モデルの部分を別にしてUI部分をプラットフォームごとに書くかFactoryパターンでプラットフォームごとにレタリング用のクラスを書くしかないと思う

706 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 11:37:57.69 ]
>>706
WPFはDrawContext使えたけれど、その他のSilverlight、WP、Metroだと類するもの無いよね?

707 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 17:47:33.54 ]
>Canvas上でShape使ってやる
ここが間違い
基礎知識不足

708 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 00:21:14.34 ]
>>707
他にいい方法あったっけ?

709 名前:デフォルトの名無しさん [2012/07/31(火) 23:09:38.35 ]
ドキュメントの内容が変更されていたらタイトルに*をつけて
保存されたら*を外すようにしたい
初めのうちはOnTextChangedでやってたんだが、これだとかなり遅くなることに気付いた
この仕様をできるだけ低コストで満たすにはWPFの何を使えばいいんだろうか


710 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 00:07:51.24 ]
これだとってどれ。そのイベントはイベントハンドラ?トリガーアクション?



711 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 00:31:30.79 ]
一度変更通知受け取ったら解除しちゃえばいいじゃないか

712 名前:デフォルトの名無しさん [2012/08/01(水) 01:49:31.81 ]
>>710
イベントパンドラ

>>711
変更通知後に保存した場合、マークを解除しないといけないから無理


713 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 01:50:33.08 ]
TextBoxかRichTextBoxでMS PGothic、12ptでAAが微妙に1ピクセルずれるんだが、これって仕様?
それっぽい話はググったら引っかかったけど、未解決っぽいし
social.msdn.microsoft.com/Forums/ja/wpfja/thread/dd98c1bc-5bda-4bc4-a176-e4f69e42685c
webbrowser素直に使うべきだろうか?

714 名前:709 [2012/08/01(水) 01:53:19.38 ]
>>711
その手があったか
試してみる


715 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 06:44:45.56 ]
MVVM Unleashed, By Michael Brown
www.informit.com/store/product.aspx?isbn=0132736888

Samsの本は日本語版をあまり見かけないけどはてさて






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<162KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef