5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C#たん、様様。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

67 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/04/29(日) 09:29:01.02
使えないことが露呈するからサンプル作れないんだよ

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

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

ViewModelHelper.BindNotifyChanged
ReadOnlyNotificationDispatcherCollection<MemberViewModel> Members
DispatcherHelper.UIDispatcher

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

113 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/05/03(木) 01:08:01.87
どちらかにしかないコントロールを使ってなきゃXAML部分は使いまわせる、程度に考えていたほうが

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

おわり。

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

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

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

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

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

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


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


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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

178 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/05/04(金) 17:02:26.07
2chへのアクセス方法がすでに時代遅れだしなあ
datを差分取得()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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


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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

242 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/05/06(日) 08:25:44.56
よし一緒にアンチWPFやろうぜ

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

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

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

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

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

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

247 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/05/06(日) 09:17:01.92
local: とかは自分で勝手につけてるものだから別に
abc: だろうと aiueo: だろうと構わないんだよ

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

慣れたら楽なんだろうな

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

299 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/05/07(月) 21:44:20.82
ずっと俺のものだと思って生きてきた

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

322 :319:2012/05/10(木) 15:45:47.07
>>320
AvalonEditの方が早かった

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


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

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

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

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

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

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


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

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

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

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

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

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

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


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



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

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

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

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

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

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

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

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

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

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

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


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

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

343 :340: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 :デフォルトの名無しさん:2012/05/16(水) 00:17:16.57
まもなく、WPF2ちゃんねるブラウザが誕生するよ。
2ちゃんねる界に革命が起きる!

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

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

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

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

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

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

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

349 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/05/16(水) 12:32:33.02
>>349
> レイアウト時とかに5秒以上かかる。
こっちでは0.01秒しかかからないぞ。

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

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

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


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


355 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/05/16(水) 19:20:39.66
C2Qでも一瞬だ
壊れてるんじゃないの

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

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

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

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

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

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

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

363 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/05/18(金) 09:55:14.40
WPFを低レベルAPIかなんかだと勘違いしてるんじゃないの
いい加減うざいから完成するまでこないでくれ

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

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

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

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

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

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

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

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

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

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

>>369
vistaから

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


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

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


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


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


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

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

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

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

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

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

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

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

http://codepad.org/B4x6kW0M
TextStore.cs


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

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

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


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

http://codepad.org/x3s7Hx7w

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

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

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

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

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

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

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

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

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


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


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

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

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

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


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

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


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


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

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

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

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


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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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



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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


448 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/05/29(火) 10:09:28.96
ビルドアクションで使うにしろSplashScreenクラスは簡易すぎて
自分でスプラッシュ用Window作った方がいい

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

http://kie.nu/bRC


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

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


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

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


455 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/05/30(水) 16:12:42.86
やるじゃん

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

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

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

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

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

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


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

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

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

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


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

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

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

466 :455:2012/05/30(水) 21:07:05.86
>463

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

484 :455: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 :デフォルトの名無しさん:2012/06/01(金) 22:15:19.10
頑張れw

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

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

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

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

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

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


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

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


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

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


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

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

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


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

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

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


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

http://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 :デフォルトの名無しさん:2012/06/04(月) 18:58:49.53
animationbegincanvas1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BuildHighlightGeometry これか。
ありがd。

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

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

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

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

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

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

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

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

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

557 :554: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:2012/06/12(火) 23:32:35.18
口数が多くて言葉が足りなかったよ。
e.Source が textBox1 なのはわかった。

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

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

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

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

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

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

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

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

564 :554: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 :デフォルトの名無しさん:2012/06/13(水) 23:23:18.48
マウスキャプチャの意味わかってる?
フォーカスとは無関係なんだけど

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

よろしくね

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

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

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

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

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

赤い四角の中に文字を切り抜いたものとかどうすりゃできる?

636 :デフォルトの名無しさん:2012/07/09(月) 14:45:32.32
OpacityMaskにVisualBrush突っ込む
でも静的なロゴの表示なんかに使うだけなら別のデザインツール使って
XAMLリソースやビットマップ画像を生成した方がいいと思う

637 :デフォルトの名無しさん:2012/07/09(月) 18:01:34.50
>OpacityMaskにVisualBrush突っ込む

どんな VisualBrushにすればいいの?
動的に作るわけだよな

うーん わからん。

638 :デフォルトの名無しさん:2012/07/09(月) 20:20:10.56
ジオメトリ作ってtostringすりゃパスマークアップになる
そのままコピペすりゃxamlに早変わりさ

639 :デフォルトの名無しさん:2012/07/10(火) 07:12:20.48
>>631
タッチパネルなら、縦横スクロールもそんなに苦じゃない。
マウスだとコロコロで1方向にしか行けないから使い辛い。

しかしMetroって今ストアにあるアプリの大半が横スクロールで作ってるけどなんで?
別に縦スクロールでも良いはずなのに。大抵のwinアプリは横スクロールなんて使ってないのに。

640 :デフォルトの名無しさん:2012/07/10(火) 11:43:52.86
>>639
MetroはGUIとしては横スクロールが推奨なんだと
ドキュメント表示やブラウザは縦スクロールだけど

641 :デフォルトの名無しさん:2012/07/10(火) 23:21:35.39
>>639
ディスプレイが横長だから、かな?

642 :デフォルトの名無しさん:2012/07/11(水) 03:22:48.28
指でスクロールするなら縦より横のほうが動かしやすいからじゃない

643 :デフォルトの名無しさん:2012/07/11(水) 10:31:10.74
一ヶ月以上も前の話題で、どうもすみませんが、
可能でしたら、テキストエディタを作る話題のコードを、
再び、アップロードして頂けないでしょうか?
>>395
>>418
>>492

AvalonEditとか、とっかかりにするには巨大すぎて把握できません……


644 :デフォルトの名無しさん:2012/07/11(水) 10:39:59.32
>>641
人間の目は、縦より横に動く物の方が捉え易いからじゃねーかな
パチスロばっかりやってる様な奴は知らんがw

645 :デフォルトの名無しさん:2012/07/11(水) 10:49:01.42
>>639
WP7のパノラマUIを発展させた感じじゃない?
自分的には左右からのフリックでの操作とあわせて操作はしやすいと思う。


646 :デフォルトの名無しさん:2012/07/11(水) 15:03:49.10
>>644
そうですか?
例えばMSストアで「仕事効率化」を探すために横スクロールしてると見逃しやすいです。
横に動くものを目で追うのはやりやすい(眼球は上下より左右の方がより動きますから)ですが、
横から次々に流れてくるものを見る場合、目線は左右ではなく上下に何度も動かす事になります。
結構やり辛いと思いますけど。

>>645
ページ切り替え、なら分かるんですが…

しかし、みんな横スクロールに抵抗無いみたいですね。自分だけなのかなぁ。
横スクロールしながらだと、文字って読めなくないですか?
文章は当然ですが、ラベルみたいな短いものでも。

皆さんはメトロ対応するときは、横スクロール使う予定ですか?
自分は縦で行きたいけど、他が横スクロールばかりだと、他のアプリとのギャップで却って使いづらくならないか不安です。


647 :デフォルトの名無しさん:2012/07/11(水) 16:00:39.71
俺は>>646と同じ感覚だな。
Pivotは良く使うけど、Panoramaは極力避けるつもり。

648 :デフォルトの名無しさん:2012/07/11(水) 16:18:36.87
いいかげん他所でやれよ

649 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/07/11(水) 16:37:16.38
Metroは型をWinRTにコンポーネントとして公開しないと認識されないんじゃないの

651 :デフォルトの名無しさん:2012/07/11(水) 16:41:32.12
上のxmlnsは違ってるけど合わせてあります・・・すいません・・・

652 :デフォルトの名無しさん:2012/07/11(水) 16:42:37.03
>>650
あ、それは.NETで作ったクラスをC++やjavascriptから使うときの話だと思います。

653 :デフォルトの名無しさん:2012/07/11(水) 16:51:50.21
clr-namespaceの代わりにusing
View使いまわしとかどうせ不便なだけだからやめとけ

654 :デフォルトの名無しさん:2012/07/11(水) 16:58:10.21
含まれています。・・だから、存在は知ってるけどナニコレ的なことなんだろうか。
意味がわからん。

655 :デフォルトの名無しさん:2012/07/11(水) 17:13:18.98
>>653
とりあえずVMまでのportable libraryでの実装をどこまでできるか試してみるざんす。
>>654
エディター上では見つけられてるっぽいのでなんかコンパイラがおかしいのかとも思うんですけどね…

656 :デフォルトの名無しさん:2012/07/11(水) 18:11:04.62
>>646
横スクロールが糞なのは同意だけど
最近の端末のUIは横サイズに合わせて勝手に縮小して
必ず縦スクロールだけにしてくれるようだ

657 :デフォルトの名無しさん:2012/07/11(水) 20:10:11.96
メトロは池沼の発想による産物だから。
横スクロール推奨で、MSのガイドラインに
「スクロールできることが視覚的に分かるように次のページの一部が入り込むようにしましょう」
とか書いてあるのを見て目眩がしたわ。

658 :デフォルトの名無しさん:2012/07/11(水) 20:11:05.60
>>643
http://sourceforge.jp/projects/fooeditor/scm/git/FooEditEngine/
ロダにアップするのはめんどくさいんでTortiseGitで落としてくれ


659 :デフォルトの名無しさん:2012/07/11(水) 20:37:59.79
>>657
理にかなっている
お前が池沼だよ

660 :デフォルトの名無しさん:2012/07/11(水) 22:32:23.31
>>659
いやいや、理にかなってないよ。
そういうのはスクロールバーみたいな共通ウィジェットの役目だから。それをもっと分かりやすくすれば良いだけ。
なのにコンテンツ側が変な位置でちょん切れてるからスクロールがあるのが分かりやすい、とかアホの極みだろ。

661 :デフォルトの名無しさん:2012/07/11(水) 22:39:53.62
スクロールバーなんていう記号に頼らないで直感的にわかるようにしろってことだろ

662 :デフォルトの名無しさん:2012/07/11(水) 23:12:54.89
>>657
使ってみるとそれで結構いい動きになるよ。
IS12Tが安いのでとりあえず入手して試してみるのがいいよ。

663 :デフォルトの名無しさん:2012/07/12(木) 00:22:00.11
>>660
とりあえずお前はUIデザインについて学んでこい。

664 :デフォルトの名無しさん:2012/07/12(木) 11:58:23.10
Metroデザインに文句言ってる人

言うのはいいと思うんだけど、それに反してデザインするとストア登録審査却下されるぞ

665 :デフォルトの名無しさん:2012/07/12(木) 12:21:11.64
チャームどん無視とかなら知らんけどそんな厳しくないだろ
ゲームだって登録されてんだから

666 :デフォルトの名無しさん:2012/07/12(木) 13:15:44.31
>>658
どうもありがとうございます。
サクサク動くし、GapBufferとかGerptとかてんこ盛りだし、
これは、すごいんじゃないでしょか?

本当にどうもありがとうございました。勉強します。


667 :デフォルトの名無しさん:2012/07/12(木) 16:01:42.21
画面サイズが一種類ならともかく複数あるのに
どうやって確実にはみ出させるんですか?

668 :デフォルトの名無しさん:2012/07/12(木) 16:08:14.05
次のページ作っといて何ピクセルかかぶせるだけやろ
パノラマなら別のインターフェースがあると思うけど

669 :デフォルトの名無しさん:2012/07/14(土) 21:07:04.84
>>66
Gerptについて詳しく教えてくれ
くぐっても出てこない


670 :デフォルトの名無しさん:2012/07/15(日) 11:02:33.53
Metro って DataTemplate.DataType ないのか
禿げ上がるほど便利なメカニズムだったのに

671 :デフォルトの名無しさん:2012/07/15(日) 12:41:59.12
>>670
そういうのは大体、実装が間に合ってないだけ。

投票しとけば、優先度上げてもらえて、早めに実装される確率上がる。
http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2831450-implicit-datatemplates-for-winrt

672 :デフォルトの名無しさん:2012/07/15(日) 13:19:57.53
>>671
おおそうなのかサンクス
3個投票したわ

673 :デフォルトの名無しさん:2012/07/16(月) 03:44:04.63
なるほど、WinRTはまだ完成度が低いんだな。
もうちょい様子見が良さげだな。

674 :デフォルトの名無しさん:2012/07/16(月) 07:16:49.04
>>667-668
今あるメトロアプリを見る限りだと、ページの横幅を1200ピクセルで固定で作ってるものも結構あるね。
たぶん1280x720や1366x768以上ではみ出るように合わせてるんだろう。
一応メトロの最低解像度は1024x768なんだけど。

675 :デフォルトの名無しさん:2012/07/16(月) 17:52:47.49
リボンを使う画面で、Window要素のCanResizeをNoResizeにすると、
画面の一番下に謎のバーが出るんだけど仕様・・?俺だけ?左右の枠線を見てもらえると・・

<my:RibbonWindow x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" xmlns:my="http://schemas.microsoft.com/winfx/2006/xaml/presentation/ribbon" ResizeMode="NoResize">
<my:Ribbon Name="Ribbon1" />
</my:RibbonWindow>

これが全てでコードビハインドにもなにもないし、バインドもなにもしてない。
これで再現するんだけど・・

676 :デフォルトの名無しさん:2012/07/16(月) 18:01:36.57
Canじゃなかった。ResizeModeだった・・

677 :デフォルトの名無しさん:2012/07/16(月) 21:37:45.50
SS

678 :デフォルトの名無しさん:2012/07/16(月) 21:45:46.46
ksks

679 :デフォルトの名無しさん:2012/07/17(火) 10:12:13.35
リボンウィンドウでNoResize使うなってことじゃね
リボンアプリでもダイアログとかは標準ウィンドウだし

680 :デフォルトの名無しさん:2012/07/17(火) 10:15:33.28
それよりVS2012RPでリボンがぶっ壊れてて使い物にならないのを何とかしてくれ

681 :デフォルトの名無しさん:2012/07/17(火) 10:21:26.92
なんとかしてくれってのはさすがにconnect辺りに言ってくれ

682 :デフォルトの名無しさん:2012/07/17(火) 11:11:36.60
いつからWinRTスレになったのか

683 :デフォルトの名無しさん:2012/07/17(火) 16:21:36.95
コンバーターをどうにかインライン的にXAMLで書きたい。
しょーもないのまでいちいちクラス書くとかアホらしい。なんかないの?

684 :デフォルトの名無しさん:2012/07/17(火) 17:25:57.89
ない

概念が違ってる

685 :デフォルトの名無しさん:2012/07/17(火) 18:03:13.88
WPFて黒やなぎさんがやってるとこ?

686 :デフォルトの名無しさん:2012/07/17(火) 18:10:47.76
それはWWF

687 :デフォルトの名無しさん:2012/07/17(火) 19:02:00.15
>>669
どうもすみません、Grepのtypoです。

>>658はTFSにDirectWriteと非常に勉強になることばかりです。
どうもありがとうございます。

688 :デフォルトの名無しさん:2012/07/18(水) 14:08:49.53
Office2013を見るにデスクトップ側でもメトロっぽいUI混合推奨なのか

689 :デフォルトの名無しさん:2012/07/18(水) 14:36:46.09
UIの退化を感じる

690 :デフォルトの名無しさん:2012/07/18(水) 14:46:34.82
WPFにもMetroコントロールくれないと

691 :デフォルトの名無しさん:2012/07/18(水) 14:46:53.00
リボンはマジ勘弁してほしい。画像とラベルを設定してると、
画面サイズで勝手に見た目が変わるから最悪。

692 :デフォルトの名無しさん:2012/07/18(水) 14:47:27.62
画像じゃなかった。Large画像。

693 :デフォルトの名無しさん:2012/07/18(水) 14:58:03.01
今更Officeにリングコマンド導入か
聖剣伝説から何年遅れてんだよ

694 :デフォルトの名無しさん:2012/07/18(水) 19:47:08.65
2013すげーいいな
UIもスタイリッシュになった

695 :デフォルトの名無しさん:2012/07/18(水) 20:47:09.33
リボンの設定も満足にできない男の人って…

696 :デフォルトの名無しさん:2012/07/20(金) 01:15:31.78
俺はCoco派


697 :デフォルトの名無しさん:2012/07/22(日) 15:45:37.17
重い処理を別スレッドで動かしているときに、画面ではボタンとかがクリック可能な状態になっていると思います。
そこら辺どのように実装していますか?
単純にボタンをクリックできないようにしているだけですか

698 :デフォルトの名無しさん:2012/07/22(日) 16:44:54.63
>>697
クリックされては困るものはクリックできないようにしてる


699 :デフォルトの名無しさん:2012/07/22(日) 16:54:16.86
canexecuteでいいんじゃね

700 :デフォルトの名無しさん:2012/07/24(火) 00:52:35.13
コンテンツのIsEnabledをfalseにした上で、ウィンドウ全面を
ProgressBar乗せた半透明黒色のパネルで覆うようにしてる
ナビゲーションベースならそういう風にするのが自然に見えるかと
ダイアログベースならVSみたいに進行状況を表示するだけのモーダルダイアログを出せば

701 :デフォルトの名無しさん:2012/07/28(土) 17:01:39.14
GDI+である範囲をクリッピングして線を引いたり四角を描いたりするのと同じようなことをしようと思うんですが、Canvas上でShape使ってやるとしてClipの仕方どうすべきですかね。
各Shape各々のClipにのShape位置にずらしてGeometryを設定する?
それともクリップの形状ごとにCanvasを全面覆う子Canvasを作ってそれにShape追加してクリップすべきですかね。
何か良い作法があれば教えてたもれ

702 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:2012/07/29(日) 11:37:57.69
>>706
WPFはDrawContext使えたけれど、その他のSilverlight、WP、Metroだと類するもの無いよね?

707 :デフォルトの名無しさん:2012/07/29(日) 17:47:33.54
>Canvas上でShape使ってやる
ここが間違い
基礎知識不足

708 :デフォルトの名無しさん:2012/07/30(月) 00:21:14.34
>>707
他にいい方法あったっけ?

709 :デフォルトの名無しさん:2012/07/31(火) 23:09:38.35
ドキュメントの内容が変更されていたらタイトルに*をつけて
保存されたら*を外すようにしたい
初めのうちはOnTextChangedでやってたんだが、これだとかなり遅くなることに気付いた
この仕様をできるだけ低コストで満たすにはWPFの何を使えばいいんだろうか


710 :デフォルトの名無しさん:2012/08/01(水) 00:07:51.24
これだとってどれ。そのイベントはイベントハンドラ?トリガーアクション?

711 :デフォルトの名無しさん:2012/08/01(水) 00:31:30.79
一度変更通知受け取ったら解除しちゃえばいいじゃないか

712 :デフォルトの名無しさん:2012/08/01(水) 01:49:31.81
>>710
イベントパンドラ

>>711
変更通知後に保存した場合、マークを解除しないといけないから無理


713 :デフォルトの名無しさん:2012/08/01(水) 01:50:33.08
TextBoxかRichTextBoxでMS PGothic、12ptでAAが微妙に1ピクセルずれるんだが、これって仕様?
それっぽい話はググったら引っかかったけど、未解決っぽいし
http://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 :デフォルトの名無しさん:2012/08/01(水) 06:44:45.56
MVVM Unleashed, By Michael Brown
http://www.informit.com/store/product.aspx?isbn=0132736888

Samsの本は日本語版をあまり見かけないけどはてさて

716 :デフォルトの名無しさん:2012/08/06(月) 19:24:47.62
テンプレートの編集わけわからなくなる
Blendの使い方が悪いのか

717 :デフォルトの名無しさん:2012/08/16(木) 14:08:42.30
Blend SDK、なんかおかしくなったん?御大がtwitterで騒いどったが(´・ω・`)

718 :デフォルトの名無しさん:2012/08/17(金) 11:58:17.17
for VS2012 Previewでバージョン上がっただけじゃない?

719 :デフォルトの名無しさん:2012/08/17(金) 19:27:56.48
キーボードフォーカスをwindowに戻すにはどうすればいいですか?
TextBoxにキーボードフォーカスがある状態で
this.Focus();
とかやってもキーボードフォーカスを戻してくれません。

720 :デフォルトの名無しさん:2012/08/17(金) 21:06:45.71
.NET Framework 4.5 (Web インストーラー)
ttp://www.microsoft.com/ja-jp/download/details.aspx?id=30653

721 :デフォルトの名無しさん:2012/08/19(日) 17:23:38.17
>>719
Keyboard.Focus(コントロールのインスタンス)
だから
Keyboard.Focus(this);
だろう

722 :デフォルトの名無しさん:2012/08/21(火) 23:20:43.77
Blend for Visual Studio 2012がすべてのバージョンに含まれるってことは
もう別売りのはなくなったってことなんかね
フル機能のが別にあったりするのかな

723 :デフォルトの名無しさん:2012/08/21(火) 23:49:22.15
BlendのためにExpression Studio買ったのが少々勿体ないような気がするけど、普及してくれるならそれはそれで許せる。

724 :デフォルトの名無しさん:2012/08/21(火) 23:54:12.65
だったらもうデザイナにblendを統合してくれよ・・

725 :デフォルトの名無しさん:2012/08/22(水) 00:04:18.52
統合されてるよ
今までのデザイナがなくなってBlendの簡易版みたいなのに置き換わってる
VSMやアニメーション使わないならそれで十分

726 :デフォルトの名無しさん:2012/08/22(水) 08:16:33.29
ローカルアプリもHTML,CSSやJSだけでUIつくれたららくなのにな,,(ブラウザ無しでさ)

727 :デフォルトの名無しさん:2012/08/22(水) 08:26:54.56
>>726
今そういうの探してる最中なんだけど、そしてたどり着いたのがXAMLなんだけど、それに近いのってないの?


728 :デフォルトの名無しさん:2012/08/22(水) 08:28:47.59
Metroなら作れるよ
WPFなんか無くなってビューがHTML/CSS/JSで作れたら嬉しいのは同意
ビュー以外はC#で書きたいが

729 :デフォルトの名無しさん:2012/08/22(水) 08:43:00.84
だれか作れよw phpからHTML出すように
C#からローカルアプリ用HTMLだして起動するような

730 :デフォルトの名無しさん:2012/08/22(水) 08:43:48.41
>>728
まさにそれ

731 :デフォルトの名無しさん:2012/08/22(水) 08:55:14.30
ASP.NET MVCのソースコードをベースにすれば案外簡単に作れそうだな

732 :デフォルトの名無しさん:2012/08/22(水) 09:33:28.36
単純なやつならHTML+CSSで作りたいってのは分かるけどJSまでは入れたくないな…

733 :デフォルトの名無しさん:2012/08/22(水) 09:38:16.36
JSないと価値無いだろ
JSがあればネットの莫大な資産を丸ごとパクれるんだから

734 :デフォルトの名無しさん:2012/08/22(水) 09:44:53.81
結局ブラウザコントロール使えって話になるよね。
スレ違いになってきたからこの辺で止めようや

735 :デフォルトの名無しさん:2012/08/22(水) 09:48:04.19
ブラウザコントロールを使うことにして
ASP.NETのRazorを組み込んでHTML生成するようにして
JSとC#のバインディングを整備するだけか
けっこう使えそうだけどなんで無いんだろうな

736 :デフォルトの名無しさん:2012/08/22(水) 10:19:00.45
だから「枠」事態をたよった考えがいらねぇんだって
HTML CSS JSが窓ごと出しちゃうって話だろブラウザ房はどっかいけ

737 :デフォルトの名無しさん:2012/08/22(水) 10:19:34.20
>>727
世の中にはQTって奴も存在するんだけどな

738 :デフォルトの名無しさん:2012/08/22(水) 10:26:14.26
<winhtmlform>
<header>
<css...
<js....
</header>
<formbody id="mdiparent">
<div>< main menu
<div id="leftpanel">... C#loadMyLeftPanel ,,</div>
<form name=".,,,>..
<div id="mainpanel">....C#loadmainpane()..</div>
....
</form>
</formbody>
</winhtmlform>

739 :デフォルトの名無しさん:2012/08/22(水) 10:45:33.90
>>728
ガジェット?なんかも議論されていることに近い実装になってるんじゃないの?
後継はMetroがあるからいいとして。

740 :デフォルトの名無しさん:2012/08/22(水) 11:06:19.36
ガジェットはIEにガジェット用のAPIを足しただけのHTAの親戚みたいなやつ
グラフィカルなUIのやつは大抵ActiveXでFlash使ってる。

HTMLでクライアントアプリって流行んないとおもうけどな。
HTAとかガジェットとか流行らなかった例はあるけど成功例ってないじゃないか。

741 :デフォルトの名無しさん:2012/08/22(水) 11:12:59.11
>>737
うん。
数日前の俺。
ttp://toro.2ch.net/test/read.cgi/tech/1198971515/142-143


742 :デフォルトの名無しさん:2012/08/22(水) 11:14:11.58
QTハニー

743 :デフォルトの名無しさん:2012/08/22(水) 12:31:01.06
>>733
JS大好きy

744 :デフォルトの名無しさん:2012/08/22(水) 13:46:45.29
製品版win8ではガジェット廃止されたぞ

745 :デフォルトの名無しさん:2012/08/22(水) 15:33:37.20
おまえらもHTAは知らないんだな

746 :デフォルトの名無しさん:2012/08/22(水) 15:34:59.64
もういいからWSHでも使っとけ

747 :デフォルトの名無しさん:2012/08/22(水) 19:19:08.70
WSHは画面ないしDLL使えないしEXEにもDLLにもなれないし

ぐぐったらMakeExeとかvbs2exe, js2exeとかあるんだな。

だけどMakeExeの実態はブラウザなんだな
> MakeExeは、速度を上げるためのものではありません。処理としては、

> 1)vbsファイルをテンポラリフォルダに展開
> 2)作成したvbsファイルを、wscript.exeもしくはcscript.exeで実行
> 3)スクリプトの処理終了後、vbsファイルを削除

HTML2EXEも実態はブラウザなんだな
> If you selected Generate separate EXE and DB files, 2 files will be produced:
> a data file (.DB) containing your HTML and images.
> a dedicated off-line browser (.EXE) to view your site.

vbs2exe も多分そんなんだろうけどDLL呼び出しをサポートしてるんだな。
サンプルをダウンロードしてみたが・・・ビルドするとウィルスとして駆除された。
コンバーター自体は引っかからないんだけど、作成した実行ファイルがウィルス扱いですよ。実際ウィルスなんだろうか。


748 :デフォルトの名無しさん:2012/08/22(水) 20:11:20.39
既存のブラウザコンポーネントを使うのが嫌だからって
自分でHTML/CSSの処理系作って組み込んだとして
それブラウザとどう違うのかと
環境依存が嫌ならWebkitのラッパーでも使っとけばいいだろ

749 :デフォルトの名無しさん:2012/08/22(水) 20:21:15.12
AndroidやiPhome向けにHTML/JSでアプリ作れるようにするものがたくさんあるけど
基本的にブラウザコントロール使っててHTMLファイルやJSファイルをパッケージ化するだけのものだな
V8のようなJavaScriptエンジンを組み込んで、HTMLも使わないで
JavaScriptだけで完全ネイティブなアプリ作れるものもあるけど
C#はJavaScriptのスーパーセットみたいな気分で使える言語だし、
マルチプラットフォームにはMonoがあるから、無理にJS使うメリットが特に見当たらないな

750 :デフォルトの名無しさん:2012/08/22(水) 22:10:11.38
>>748
データを延々更新する場合、動作が速い。軽い。
ネイティブコード化できるならDLLインジェクションもできるかもしれない。

まあ、JavaScriptとかにこだわらなければいろいろあるけど、ちょっとめんどくさくなるなと。
正直、ろくに覚えられないんで、多少でも使ってるDOMアクセスでやれたらいいなと思って。
やっぱり普通のコンパイラ言語使うか、Luaとかみたいにコンパイラ言語とリンクして使うような組み込み言語使うのが現実的か。
ただ、それだとRADツールでぽんぽんと配置できないんだよな。
どっかのRADツールでデータ起こしてプロパティをコピペしてくるとか、
RADツールで作ったデータをLuaで読み込んでC言語とかで表示か。

表示はいいとして、中間的なイベント処理をスクリプトで・・・
・・・

やっぱり画面はちゃんとコンパイラ環境で作って、COMオブジェクトとして登録して、
それをCOM経由でスクリプトでコントロールするのが間違いないな。
COMオブジェクトってインジェクションしたDLLでも動くんだろうか。
無理だろうなあ。
DLLとCOMとスクリプトの3段構成しかないんだろうなあ。


751 :デフォルトの名無しさん:2012/08/22(水) 22:10:35.37
Titaniumでも使ってみりゃわかる。
書いててイライラするよー。

752 :デフォルトの名無しさん:2012/08/22(水) 22:46:18.42
SIlverlightでManaged Jscript使えばいいじゃんと思ったが、需要無かったからサポート対象外になってたのか。
4になった時にスレで誰も触れてなかったから今まで知らなかったw

>>750
コードからDOM操作するようなのはWPFじゃ普通やらない。

DOMアクセスしてテキスト書き換えるような事もやらない。
バインディングしておけば自動で更新通知受け取って書き換えられる。
UIの更新のための無駄なコードは書かない。

一部スクリプト言語使いたいならDLRでいいじゃないか。

753 :デフォルトの名無しさん:2012/08/22(水) 22:48:48.47
ブラウザコントロール使うならJavaScriptからC#のオブジェクトを操作したりメソッド呼んだり
その逆も普通にできるよ
ブラウザ使わないにしてもV8とかC#アプリに組み込んでC#からJavaScriptのコードを実行させることは可能
その場合、JavaScript側に.NETのリフレクションAPIをラップして提供しておけば
JavaScriptから.NET側のあらゆる機能に自由にアクセスできる

754 :デフォルトの名無しさん:2012/08/22(水) 22:53:20.43
>>753
そんなめんどくさいことしなくてもDLRでいけるだろ
DLRはJavaScriptもサポートしていたはず


755 :デフォルトの名無しさん:2012/08/22(水) 22:59:50.52
言語だけJavaScriptでDOMは別物なんて何の意味もないだろ
あえてJavaScriptを使うのは、HTMLベースなら既存の膨大な資産を生かせるという
ただ一点が目的であってそれが最強の魅力でしょ
マルチプラットフォーム対応のためにJavaScriptで書く例はあるけど
.NETはMonoで対応できるしなあ

>>754
頓挫したよそのプロジェクト
DLR自体も結局失敗して今アクティブなのIronPythonだけだし

756 :デフォルトの名無しさん:2012/08/22(水) 23:08:26.04
>>755
あらまw
DLRは結構便利だから期待してたんだが

757 :デフォルトの名無しさん:2012/08/22(水) 23:11:24.09
>>751
俺も試したことあるけど正直幻滅した
ネイティブな機能性を求めるならMonoが推奨するようにUIは別個に作る
必要なければHTML
気に入らないがやっぱりこれだわ

758 :デフォルトの名無しさん:2012/08/22(水) 23:25:34.58
DLRの成果はC#のdynamicにも使われてるCallSiteの仕組みとか
動的言語やC#のdynamicなどの間の相互運用のプロトコルを決めたこと
当初のゴールからはかけ離れてるけど一部CLR入りして役に立ってるよ

759 :デフォルトの名無しさん:2012/08/23(木) 08:02:22.07
dynamicの中身はなかなか素敵だけど、
それでもDLRの一部しか入らなかったの残念ではある。

DLRでなくてもいいけども、動的言語間でのオブジェクト共有プロトコルはほんとほしいんだけどなぁ。
言語ごとに別ライブラリ覚えるとかナンセンス。

760 :デフォルトの名無しさん:2012/08/23(木) 09:19:40.71
>>759
>動的言語間でのオブジェクト共有プロトコル
http://msdn.microsoft.com/ja-jp/library/system.dynamic.dynamicmetaobject.aspx
元々DLRの一部だよ。いわゆるメタオブジェクトプロトコル。
C#からdynamicでブラウザのJavaScriptやDLRのIronPythonやCOMのオブジェクトを扱ったりするのに
実際に利用されてるし、もちろんDLR言語間の相互運用にも使われる。

761 :741:2012/08/23(木) 12:39:34.17
Qt と VS ならRADツールがあって云々で
一応コントロールを配置するところまで行ったけど
どっちも開発環境でかいし、その割りに使いから
MIKOScriptとか言うので画面作ってみるわ。
ただ、コントロールはコモンコントロールっぽいけど実体は中間コードだから
目的の Cheat Engine に付属の Lua スクリプトとトレーナ使うのと変わらない気はしてる。


762 :デフォルトの名無しさん:2012/08/23(木) 21:01:02.42
>>760
ああ、DynamicMetaObjectが.NET上で使えることは知ってる。

そうでなくて、IronPython以外の実装も増えてほしいなぁという意味と、
ネイティブ実装なLLでも、もっとそういうメタプロトコル意識して作ってほしいという。

763 :デフォルトの名無しさん:2012/08/23(木) 21:16:47.13
最近だとPhalangerというPHP実装があるよ
相互運用対応はまだイマイチみたいだが

764 :デフォルトの名無しさん:2012/08/25(土) 17:29:21.50
ttp://ideone.com/Efs9q
エクスプローラのような3分割画面を作ろうと思ったのに上段がくぱぁしてしまう
どなたかどこが間違っているのか教えてください

765 :デフォルトの名無しさん:2012/08/25(土) 18:00:51.37
質問する板を間違えてる

766 :デフォルトの名無しさん:2012/08/25(土) 18:06:18.19
>>765ありがとうございますおかげでできました

767 :デフォルトの名無しさん:2012/08/30(木) 01:32:09.97
デスクトップアプリを考えたときに、Windows8を見据えると
WPFの将来ってどうなんでしょう?

768 :デフォルトの名無しさん:2012/08/30(木) 01:35:52.47
WPF以外に使いたいプラットホームがあるならそれでどうぞ、って感じ

769 :デフォルトの名無しさん:2012/08/30(木) 01:53:03.46
答えになってない
やりなおし

770 :デフォルトの名無しさん:2012/08/30(木) 01:58:33.12
.NET4.5のWPFの新機能
http://msdn.microsoft.com/ja-jp/library/vstudio/bb613588.aspx


771 :デフォルトの名無しさん:2012/08/30(木) 02:54:07.47
意味が分からないとは馬鹿な奴だ

772 :デフォルトの名無しさん:2012/08/30(木) 05:46:44.63
>>767
WPFもSilverlightもRTも使えるコンポーネントに少し差があるぐらいで
ほとんど同じじゃんって思うのだけど

773 :デフォルトの名無しさん:2012/08/30(木) 05:54:43.07
WinFormはもう終了なの?

774 :デフォルトの名無しさん:2012/08/30(木) 05:59:39.27
スレ違いの気もするけど、Windows8のタッチパネル自体微妙だなって思う

単に見たりするだけの用途ならタッチパネルでもいいけど、
入力とか編集とかする場合はアプリなら10年後でも20年後でも
キーボードの方が入力効率はいいと思うし、
ゲームとかにしてもキーボードとマウスをフルに使ってプレイするような
複雑なものだと、タッチパネルだけで遊べるようになるとも思えない
他プレイヤーとのチャットとかもキーボード必須だろうし

結局、タッチパネルはタッチパネルで
外出先でノートで、何かを見るだけとか
一部の用途には有用だろうけど
デスクトップアプリやゲームは現状のまま残ると思う


775 :デフォルトの名無しさん:2012/08/30(木) 06:06:50.26
スレチ

776 :デフォルトの名無しさん:2012/08/30(木) 06:09:21.52
みんな最初は純粋だった
2ちゃんやってるうちに汚れてしまった
質問しても、揚げ足・コピペ・上から目線
もともと過疎だったのが、ますます過疎化していくんですよねぇ

777 :デフォルトの名無しさん:2012/08/30(木) 06:21:52.88
>>773
終了

>>774
10年後、20年後なら音声入力の精度も向上しているだろうし
脳に電極埋め込んで、考えたことをダイレクトにアウトプットするようなことが出来るかも知れない

778 :デフォルトの名無しさん:2012/08/30(木) 07:45:01.97
幼稚なこと言うな能なし

779 :デフォルトの名無しさん:2012/08/30(木) 10:52:11.85
iPhogeなんてバカッターするためだけの道具だもんな。

780 :デフォルトの名無しさん:2012/08/30(木) 11:49:51.30
>>774
タッチパネルがマウスとキーボードの代替になるというのではなく、新しい入力手段が一つ増えたとすればいいと思うけど。
iPadとかであるFlightControlやホッケーとかのゲームはタッチじゃないと難しい。
各々特性があるのだから時と場合に応じて使い分ければいいこと。
Metroアプリだって別にキーボードとマウスを排除してるものじゃないでしょ。
フォーム入力的な業務アプリだってMetroで作れると思うよ?それに意味があるかは別にして。
まぁVSみたいなものがMetroになるかって言うとそれはないでしょ。

自分的には
・フル画面のMetroアプリ・・・全画面でそれに集中するとともに、バックグラウンドではサスペンドするなど省力化に役立つ。OS再インスコ時などの環境の再現も可。
・デスクトップで動くMetroアプリ・・・WinRTベース。サスペンドなどは行われない。ストア経由での配布、設定のクラウド経由での共有など幾つかのMetroアプリの特徴を持つ。OS再インスコ時などの環境の再現も可。
・旧来のデスクトップアプリ・・・プロセス間通信など含め自由。自由が故、環境の再現などは出来ない。

とかが混在するようになると思うんだけどどうだろ。

781 :デフォルトの名無しさん:2012/08/30(木) 11:56:09.60
>・デスクトップで動くMetroアプリ
これはない(ニーズも技術的にも)

782 :デフォルトの名無しさん:2012/08/30(木) 12:22:03.97
Metroデザインはいらないけど、WinRTとか言語プロジェクションは欲しいかなぁ、ほかでも。

783 :デフォルトの名無しさん:2012/08/30(木) 12:37:41.59
>>781,782
MetroアプリっつーかWinRTで作れるデスクトップ(全画面じゃない)アプリって意味だす。
タッチも有ってもいいとは思うけど、マウスとかキーボードをより意識したUIですかね?
WinRTは別に全画面Metroに限定させる必要ないし、むしろデスクトップで必ず使えるようにしてくると思う。
傍若無人のWPF、色々制限やルールがあるがそれゆえにメリットもあるデスクトップWinRTって感じですかね。

784 :デフォルトの名無しさん:2012/08/30(木) 13:51:41.65
>>774
RT版Suarfaceにもキーボード兼カバー付けてくるぐらいだから
キーボード捨ててタッチにするなんてメッセージは発信してないよ。

両方使えるようにするのが基本方針。

785 :デフォルトの名無しさん:2012/09/01(土) 08:40:19.91
お前らが作った自慢できるプログラムの主な概要を教えろ

786 :デフォルトの名無しさん:2012/09/01(土) 17:19:01.55
wpfでか。デザパタ的な自己満の美しさとか、見た目的な俺スゲー感とか、
そんなのしかないと思うんだがw

787 :デフォルトの名無しさん:2012/09/01(土) 17:38:52.70
テーマ変更出来る

788 :デフォルトの名無しさん:2012/09/01(土) 23:54:38.49
Vista出る前にLonghornとして色々なジャンルのUIサンプル動画があったと思うんだが、今でも見れるやつないかね?
youtubeとかに上がってるかしら?

789 :デフォルトの名無しさん:2012/09/02(日) 05:20:33.09
WPFはマウスのホイールボタンをインターフェイスの中心に置くべきだ。メトロの指志向より便利だ。
実際に作って見てわかった。完成したら公開する予定だ。

790 :デフォルトの名無しさん:2012/09/02(日) 20:44:54.25
【経済】揺れるスマートフォン業界…ノキアとマイクロソフトに最後のチャンス
http://uni.2ch.net/test/read.cgi/newsplus/1346551727/

791 :デフォルトの名無しさん:2012/09/04(火) 18:27:36.09
VMからMを直接公開するのってどうなんでしょうか。
手間とかは別として、MVVMの作法だけを考えた時に。
INPCとかINDEIとか、どうやってMからVに伝達したらよいかわかりません。
気持ち的にはMで実装VMで間接公開なんですが、冗長感たっぷりなので皆さんはどうしているのかなぁと。

792 :デフォルトの名無しさん:2012/09/04(火) 18:43:02.12
それでいいよ
普通MVCってそうやるもんだし

793 :デフォルトの名無しさん:2012/09/04(火) 18:43:51.97
なんだっけ。動的プロキシとやらをどっかで見たような。
微塵も調べてないしよく分からんが。

794 :デフォルトの名無しさん:2012/09/04(火) 18:52:50.46
MVCっぽい方法…VMでM公開してVで直接Mのイベントを処理する
MVPっぽい方法…Vにインターフェイスを実装して、Mでイベントが発生したらVMがVのメソッドを呼び出す
MVVMっぽい方法…VMでMのイベントを処理してVMのプロパティに変換
3番目でやれる単純なことなら3番目が一番きれいだと思うけど時と場合によるだろ

795 :デフォルトの名無しさん:2012/09/04(火) 20:44:13.21
>>794
もしも794さんが3番でやると決定したとして、どうやってVに伝達しますか?

796 :デフォルトの名無しさん:2012/09/04(火) 20:49:35.32
>>795
そこは普通のMVVMのやり方に従うだけ
VM側は自身のプロパティの値を変更してPropertyChangedイベントを発生させる
V側はXAMLでバインドする

797 :デフォルトの名無しさん:2012/09/05(水) 00:13:18.06
>>795
めんどくさかったらModelそのままVMの外から見れるようにしてVからダイレクトにバインドすればいいんだろうけど、物によるだろね。

798 :デフォルトの名無しさん:2012/09/05(水) 00:20:58.05
MのイベントをVMで受けて、プロパティ値の変更としてVにバインドするのって
MVVMが想定する最も重要なシナリオだよ

799 :デフォルトの名無しさん:2012/09/05(水) 08:10:30.13
てか、MVVMは別スレに隔離したんじゃなかったっけ?
結局こっちでいいのか?

800 :デフォルトの名無しさん:2012/09/05(水) 09:46:52.72
そういや隔離スレがあるんだったな

801 :デフォルトの名無しさん:2012/09/05(水) 10:05:49.80
こっちでやれ
http://toro.2ch.net/test/read.cgi/tech/1338948213/

802 :デフォルトの名無しさん:2012/09/05(水) 10:31:42.81
つうかWPFスレででMVVM別にしても意味ねーだろ

803 :デフォルトの名無しさん:2012/09/05(水) 11:26:31.92
SLやRT、最近はJavaでもMVVMで開発するからな
向こうの方が専門的な意見多いよ


804 :デフォルトの名無しさん:2012/09/06(木) 00:30:00.54
概念は分かるんですが具体的にMが持ってるインターフェイスをどうやってVに伝えたらいいかなと思って。特にINDEIとかはイベント、プロパティーにメソッドまでありますよね。
時と場合に依るのはもちろんわかっていますが、お手本的というかオーソドックスな場合はどうやるのかなあと。

805 :デフォルトの名無しさん:2012/09/06(木) 00:37:20.99
WPFさわって1週間のひよっこです
映画の訳を画面に表示するようなものを作ってます

取りあえず MediaElement と Label を貼り付けたXAMLが下記です

<Window x:Class="test05.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="378" Width="662">
<Grid>
<MediaElement Margin="0,0,0,0" Name="mediaElement1" Source="ファイル" />
<Label Height="28" Margin="40,300,0,0" Name="label1" VerticalAlignment="Top" HorizontalAlignment="Left" Width="560">Label</Label>
</Grid>
</Window>

これを実行させて、右下端をドラッグすると画面サイズが変わりますが、
Label は同じ場所に固定されたままです

806 :デフォルトの名無しさん:2012/09/06(木) 00:37:44.05
これを画面サイズが変化しても
あたかも動画に埋め込まれたかのように見える
文字表示にしたいと思っています
(完璧でなくてもいいです)

つまり、MediaElement の画面サイズが変化するのと
シンクロさせて Label の表示位置、サイズ、フォントサイズを
調節して表示したいのです

これを自分でやってみたのですが
どうしても実現させる方法が見つかりませんでした

どなたか良いアイディアを頂けないでしょうか
よろしくお願い致します

807 :デフォルトの名無しさん:2012/09/06(木) 00:39:12.11
Viewbox使うのが簡単

808 :デフォルトの名無しさん:2012/09/06(木) 00:46:37.04
スターサイズだ。

809 :デフォルトの名無しさん:2012/09/06(木) 00:57:16.16
フォントサイズにMultiBindingとかで画面のwidth heightをバインドして
コンバータで一定の基準で変換するとかいうアホな方法を考えたが、ViewBoxの方がいいな。

810 :デフォルトの名無しさん:2012/09/06(木) 01:41:07.68
<TextBox Text="{Binding DataSource, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="LostFocus">
<ei:CallMethodAction TargetObject="{Binding}" MethodName="Xxx"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>

こんな感じでメソッドをバインディングしているんですが、<i:Interaction.Triggers>をスタイルのように複数のTextBoxに適用する方法はないでしょうか。

811 :デフォルトの名無しさん:2012/09/06(木) 02:20:17.25
一括で処理したいtextboxをgridとかに入れ子して、grid側にトリガー書けばいい。

812 :デフォルトの名無しさん:2012/09/06(木) 06:19:46.76
今ってヘルプファイルは何が主流?
chm ? ただのhtml ? それともReadme.txtのみ?

813 :デフォルトの名無しさん:2012/09/06(木) 06:35:20.79
落ち着いてスレタイ読もうか

814 :デフォルトの名無しさん:2012/09/06(木) 07:23:44.47
>>811
まだWPF始めたばかりでおかしな事を言っていたらごめんなさい。
あくまでトリガーにしたいのはTextBoxなのですが、Gridにどの様に書いてどうやってTextBoxに関連付けるのでしょうか?バブルアップというのですか?
また、対象のTexBoxと対象外がバラバラに配置されている場合は、選択的に設定できますでしょうか?

815 :デフォルトの名無しさん:2012/09/06(木) 07:58:56.67
Trigger部分込みでUserControlにしちゃえばよくない?
複数のTextBoxを配置するところに、そのUserControlを代わりに配置するだけ
俺はそんな感じで似たような部分を作ってたけど。

816 :デフォルトの名無しさん:2012/09/06(木) 09:54:09.66
UpdateSourceTriggerがPropertyChangedじゃなかったら、
setterに書いちゃうのも手なんだろうけど・・

817 :デフォルトの名無しさん:2012/09/06(木) 14:31:05.17
ニコ動プレイヤーでも作りたそうだな

818 :デフォルトの名無しさん:2012/09/06(木) 19:39:36.29
今ってWPFで作ったアプリのヘルプファイルは何が主流?
chm ? ただのhtml ? それともReadme.txtのみ?

819 :デフォルトの名無しさん:2012/09/06(木) 19:53:15.65
だからWPFと関係ないだろw
全部使われててどれが主流ってのはないから好きなの選べ

820 :デフォルトの名無しさん:2012/09/06(木) 20:50:20.41
関係あるだろ

821 :デフォルトの名無しさん:2012/09/06(木) 20:57:15.74
関係あるというならXAMLのフロードキュメントかXPSで作れ

822 :デフォルトの名無しさん:2012/09/06(木) 23:44:13.62
2点質問があります。

(1)
public async void Foo()
{
  await Bar();
}
上記のメソッドをCallMethodActionでバインドしている場合、Fooが実行中は特定のボタンをDisableにしたいです。
現在はボタンにCommandがバインドされており、canExecuteの条件にFooが実行中かどうかを追加できればいけそうなのですが方法がわかりません。

(2)
ObservableCollectionをバインドしたComboBoxとそのComboBoxのSelectionChangedで更新されるTextBoxがあります(CallMethodAction経由で更新される)。
ユーザーがComboBoxを変更したときには問題ありません。
しかしModel側でObservableCollection内のItemの位置を変更する場合があり、この場合はTextBoxを更新したくありません。
このような場合は、どのようにしてTextBoxを更新を止めたらよいのでしょうか。

823 :デフォルトの名無しさん:2012/09/07(金) 00:01:04.33
>>822
(1)
try { IsFooButtonEnabled = false; await Bar(); }
finally { IsFooButtonEnabled = true; }
IsFooButtonEnabledプロパティはボタンのIsEnabledプロパティとバインド
(2)
TextBox.TextとComboBox.SelectedItemをいったんそれぞれVMのプロパティにバインドして、
VMで仲介してやれば自由自在

824 :デフォルトの名無しさん:2012/09/07(金) 00:07:43.35
どっちもフラグでも立てとけばいんじゃね。で、canExecuteと、2のメソッドで判定。

825 :デフォルトの名無しさん:2012/09/07(金) 00:12:08.45
CanExecuteって通知のためのコードが汚くなって嫌いだわ
VMにコマンド並べてるような場合、どうせコマンド一つごとにCanExecute設定する必要なんて
まずないんだから、プロパティをIsEnabledにバインドする方がスマート


826 :デフォルトの名無しさん:2012/09/07(金) 00:36:24.39
なるほど!finallyを使えばいいんですね!目からうろこです。

(2)ですが、「それぞれのVMのプロパティーにバインド」という意味が理解できませんでした。VMを2個つくるということでしょうか?

827 :デフォルトの名無しさん:2012/09/07(金) 00:53:12.69
なわけないだろw 普通にバインド。SelectionChangedでSelectedItemのsetterが
走るわけだから、トリガーいらねーだろってのと、あとは分かるな?ってことだろ。

828 :デフォルトの名無しさん:2012/09/07(金) 00:53:41.79
>>826
VMに仮にSelectedItemプロパティとSelectedTextプロパティが定義するとして
それをそれぞれComboBox.SelectedItemとTextBox.Textプロパティにバインドする
そうすればあとはVMのコードだけの問題だからどうとでもできるだろうということ

829 :デフォルトの名無しさん:2012/09/07(金) 01:23:39.54
理解力がなくて情けない&申し訳ないのですが、SelectionChangedではなくSelectedItemのSetterでTextの制御をするということでしょうか?
もしそうだとすると、どうやってユーザーによる変更かどうか判断するのでしょうか…

830 :デフォルトの名無しさん:2012/09/07(金) 01:28:35.00
ModelでItemの位置を変えるのがそもそもマズイ…?
わからなくなってきた…

831 :デフォルトの名無しさん:2012/09/07(金) 01:30:31.25
Model側でObservableCollection内のItemの位置を変更するタイミングは当然わかるだろ?
だったらその後に呼ばれたSelectedItemのsetterは無視すればいい話だろ

832 :デフォルトの名無しさん:2012/09/07(金) 01:41:13.04
概念は理解できたように思えます。
モデルからフラグを公開してそれで判断するような感じでしょうか。
どうしたらきれいに実装できるかまだ頭で整理できてないですが、明日早速試してみます。
ありがとうございました!

833 :デフォルトの名無しさん:2012/09/07(金) 04:57:11.12


出 来 る 事 か ら や れ

834 :デフォルトの名無しさん:2012/09/07(金) 08:03:25.48
できることしかやってこなかったからお前みたいな馬鹿が育ったんだよ。阿呆には理解できないだろうが。

835 :デフォルトの名無しさん:2012/09/07(金) 08:36:09.29
できることすらやってこなかったら君のようになるんだね。

836 :デフォルトの名無しさん:2012/09/07(金) 09:12:08.41
まぁ背伸びしてやってみるのは良いと思う。
業務でやったら殺すけどなw

837 :デフォルトの名無しさん:2012/09/07(金) 09:19:08.45
>>833
できることから、と成長を示唆するひと

>>834
できることしか、と自分で自分の可能性を封鎖しちゃう人

>>835
できることすら、と過去をも否定する人

838 :805-806:2012/09/07(金) 11:34:17.49
色々ご助言下さりありがとうございました
試してみます!

839 :デフォルトの名無しさん:2012/09/07(金) 16:48:22.21
いえいえ

840 :デフォルトの名無しさん:2012/09/09(日) 14:17:26.39
Windows8だと、デフォルトの状態がTextBoxのレイアウトなんか文字がすごく上端に寄って見た目が悪いんだが、きれいに修正する方法ないですかね。
できれば、XP,7,8で均等なレイアウトを維持したい。

841 :デフォルトの名無しさん:2012/09/09(日) 14:20:41.15
テーマを明示的に指定する
WPFに入ってるのを使ってもいいしWPF Themesを使ってもいいし自作してもいい

842 :デフォルトの名無しさん:2012/09/09(日) 14:42:57.85
スライダーのつまみを自前の画像にしたいんですが
どうすれば出来ますか

843 :840:2012/09/09(日) 14:46:02.90
解決したかも。
PaddingとVerticalContentAlignment辺りを変更すればわりと普通になった。
XPや7でも見た目大丈夫かはまだテストしてないけど。
てか、8用に良さげな値見つけるの面倒くさい。

844 :デフォルトの名無しさん:2012/09/10(月) 10:31:43.10
WPFが採用されたのはどのOSから?

845 :デフォルトの名無しさん:2012/09/10(月) 10:50:02.75
VISTA

846 :デフォルトの名無しさん:2012/09/10(月) 10:55:48.57
WPFは4以上でないと使い物にならないからプリインストールされてるのはWin8から
インストールすれば4が使えるのはXPから

847 :デフォルトの名無しさん:2012/09/10(月) 12:11:09.38
でもXPだとインストールしてもCPUでエミュレートしているだけでグラボ使ってくれないよね
VISTA以降だとグラボ使ってGUIを描画しているの?

848 :デフォルトの名無しさん:2012/09/10(月) 14:11:36.54
DWMが一人でやってくれました

849 :デフォルトの名無しさん:2012/09/10(月) 14:43:17.87
でも、一本の線を描くごとにDrawPrimitive()を呼び出してるからかなり遅い


850 :デフォルトの名無しさん:2012/09/10(月) 19:18:56.86
話ぶった切るけどxamlをpartial classみたいに割るにはどうしたらいい?
検索してもリソースディクショナリとユーザーコントロールの話しか見つからない
その辺は既にやってるんだけど、不可分な所が膨れてしまったので、収まりがつかない状態になっているんだ

851 :デフォルトの名無しさん:2012/09/10(月) 19:24:55.77
無理ならVS使うのやめてmakeとcatでお茶を濁すので
可能か不可能かだけでも教えてもらえると嬉しいな

852 :デフォルトの名無しさん:2012/09/10(月) 19:29:45.40
xamlでも継承できるんだからそれでいいんじゃないの?
あとはユーザーコントロールを利用するとか
そうすればそんなに長くならないはずだが

853 :デフォルトの名無しさん:2012/09/10(月) 19:30:45.88
ssiとかマスタページみたいな感じか。しらん。

854 :デフォルトの名無しさん:2012/09/10(月) 19:43:00.00
不可能のような気がする
断言は出来ないけど

855 :デフォルトの名無しさん:2012/09/10(月) 21:34:32.61
出来るって話は聞いたことがない。
ちなみになんでそんなに膨らんでんの?そのへんの作りの方が問題なきガス

856 :デフォルトの名無しさん:2012/09/10(月) 21:44:34.70
分割したほうが逆にわかりにくいだろw

857 :デフォルトの名無しさん:2012/09/10(月) 21:53:56.89
膨らんでるのは設計したのが僕じゃないからです
しかし僕には設計者に口を出す権限はありません

858 :デフォルトの名無しさん:2012/09/10(月) 21:55:46.97
そいつここに呼んでこい
ボコボコにしてやるから

859 :デフォルトの名無しさん:2012/09/11(火) 16:14:39.51
Windows8で特にいじってなければ、システムのレンダリングが使われると思っていたけど、微妙に違うよね。
これ同じにするにはどうしたらいいんだろう。
ボタンなんかかなり違うし、テキストサイズ変えるとボーダーな部分が汚くなる。
VS2012のIDE自体も同じ現象あったり。なんか作り込みが甘い気がする。

860 :デフォルトの名無しさん:2012/09/11(火) 22:06:34.11
blendまだかよ

861 :デフォルトの名無しさん:2012/09/15(土) 02:30:20.86
通常のデスクトップ+わきに2割くらいのメトロアプリで、
なんか便利な使い方ができないかなと思った。

862 :デフォルトの名無しさん:2012/09/15(土) 03:35:38.96
メトロなんて言葉使うやつまだいたんだ

863 :デフォルトの名無しさん:2012/09/15(土) 05:26:09.00
>>713

Feedbackで散々報告されてるが、英語圏の人には理解できないらしく、
再現しない。で全て終了だよ。

864 :デフォルトの名無しさん:2012/09/15(土) 05:27:08.31
あっちはもともとプロポーショナルな文化だからな。
1Pixel程度のずれにこだわっているなんて、想像もつかないんだろうなw

865 :デフォルトの名無しさん:2012/09/17(月) 00:00:34.84
WPFって日付 + 時間を指定するコントロール無いの?


866 :デフォルトの名無しさん:2012/09/17(月) 00:42:05.28
デザイナ超使いにくい

867 :デフォルトの名無しさん:2012/09/19(水) 02:17:03.27
<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" ItemsSource="abcdef" >
エラー1
IEnumerable の TypeConverter は、文字列から他の型への変換をサポートしていません。

これバグじゃねえの
2010のデザイナは動いたよね
実行に際しても別に問題はないはずだが

868 :デフォルトの名無しさん:2012/09/19(水) 02:48:25.75
一応確認したけど2010だと起きないな。

869 :デフォルトの名無しさん:2012/09/19(水) 11:40:43.05
それ以前に
ItemsSource="abcdef"がゴミ過ぎる

870 :デフォルトの名無しさん:2012/09/19(水) 11:51:59.66
全く同じメッセージ自体は2010で見たことはあるな。なんだったか忘れたが。

871 :デフォルトの名無しさん:2012/09/19(水) 12:33:24.19
>>869
バグ再現のためにわざわざデータ用意する必要ないもの
そんなことも分からんか?ゴミが

872 :デフォルトの名無しさん:2012/09/19(水) 12:34:09.06
>>871
理解できてないのはどっちだろうね

873 :デフォルトの名無しさん:2012/09/19(水) 12:45:47.36
レイアウト作り始めの時とか、とりあえずデータテンプレートを表示させるために適当なシーケンスを与えることはあるでしょう。
別に珍しい使い方じゃないよ。

874 :デフォルトの名無しさん:2012/09/19(水) 12:47:40.07
コレクション要求してるところに文字列ぶち込むなってことだよ
言わせんなよはずかしい

875 :デフォルトの名無しさん:2012/09/19(水) 12:50:22.57
>>874
ItemsSourceはIEnumerableを要求しているけど、Stringは条件に合致してるじゃない。
何が不満なの?

876 :デフォルトの名無しさん:2012/09/19(水) 12:52:29.21
>>874
お宅の言うコレクションの定義って何ですか?
実行時と挙動が異なる理由は?
2010のデザイナと挙動が異なる理由は?
合理的な範囲でお答え下さい

877 :デフォルトの名無しさん:2012/09/19(水) 12:53:08.17
XAMLだぞ?

878 :デフォルトの名無しさん:2012/09/19(水) 13:08:47.96
回答ないな
論破

879 :デフォルトの名無しさん:2012/09/19(水) 14:07:49.87
いきなりゴミとか言っちゃう頭おかしい奴は相手にせんでええのに
熱中してフィードバック投げんの忘れんなよ
http://social.msdn.microsoft.com/Forums/ja-JP/vsgeneralja/threads

あと、Visual Studioのバグなら、続きはここじゃなくVisual Studio 2012スレでやれ

880 :デフォルトの名無しさん:2012/09/19(水) 16:56:54.99
僕の先生は〜フィバー

881 :デフォルトの名無しさん:2012/09/19(水) 21:24:11.54
>>875

Connectに上げとけw
VS2014で修正されるから。

882 :デフォルトの名無しさん:2012/09/19(水) 23:21:05.81
あなたとコネクトしたい…

883 :デフォルトの名無しさん:2012/09/19(水) 23:45:26.98
あなたと熱中

884 :デフォルトの名無しさん:2012/09/19(水) 23:56:49.37
あなたと熱海

885 :デフォルトの名無しさん:2012/09/20(木) 01:26:57.22
>>880
荒らしを釣れて来る〜フィバー

886 :デフォルトの名無しさん:2012/09/21(金) 16:32:37.92
System.Windows.Interactivity.Behavior<T>とGet〜、Set〜を使って作る添付ビヘイビアって具体的に何が違うんでしょうか?

887 :デフォルトの名無しさん:2012/09/22(土) 03:18:57.07
対象の型毎に番う処理ができる。くらいじゃね?

888 :デフォルトの名無しさん:2012/09/25(火) 01:19:35.63
ライフタイムが管理されてる

889 :デフォルトの名無しさん:2012/09/25(火) 19:03:41.51
>>887
>>888
ありがとん

890 :デフォルトの名無しさん:2012/09/28(金) 00:07:52.88
Prism 4.1でModule側の値をShellのWindow.Titleに代入する方法はありますか?

891 :デフォルトの名無しさん:2012/09/28(金) 00:40:01.04
Prism的な正攻法でいくんなら面倒でもDIを使う。
Titleプロパティを持ったIShellインターフェイスを宣言して
それをShellが実装する。そしてIoCコンテナにIShellとしてShellのインスタンスを登録しておく。
モジュール側のクラスは、セッターインジェクションかコンストラクタインジェクションで
IShellインターフェイスを要求する。
そのインターフェイスを通してShellのTitleを設定する。

892 :デフォルトの名無しさん:2012/09/28(金) 00:54:43.62
Prism使うんならDIコンテナは必須だけど、Prism標準のMEFやUnityは使いにくいから
AutofacやNinjectおすすめ

893 :デフォルトの名無しさん:2012/09/28(金) 17:41:50.48
Snoop使ってたけどWPF Inspectorってのが便利そうだな
http://www.forest.impress.co.jp/docs/review/20120928_562660.html
http://wpfinspector.codeplex.com/

894 :デフォルトの名無しさん:2012/09/30(日) 07:56:07.80
はやくPrism4.5出ないかな

895 :デフォルトの名無しさん:2012/09/30(日) 22:09:47.87
もう出ないんじゃね
patterns&practicesで次に似たようなのが出るとしたら
ASP.NETのWebサービス + WinRTの各種言語やブラウザのHTML5でクライアント
だろうな

896 :デフォルトの名無しさん:2012/10/03(水) 09:50:27.89
TreeViewにXmlの内容をデータバインドで表示させたいのですが
ItemsSourceにXmlDocumentを参照させただけではやはり望んだ表示にはなりませんでした
特定の属性のデータを表示させたい場合には何をすれば良いのか分からずつまづいてしまいました
どなたか解決方法を教えて下さいませ

897 :デフォルトの名無しさん:2012/10/03(水) 14:40:09.31
ひえらるきかるでーたてんぷれーと

898 :デフォルトの名無しさん:2012/10/06(土) 00:23:15.39
WPF慣れたら楽しすぎワロタ
Formと違って直感的でないとか言ってた
過去の俺をぶん殴ってやりたい

899 :デフォルトの名無しさん:2012/10/06(土) 01:53:00.69
Blendの使い方を覚えるのが面倒くさい。
なんかもっとチュートリアル用意して欲しい。

900 :デフォルトの名無しさん:2012/10/06(土) 04:05:33.90
WPFをそれなりに使えるようになるとFormsに戻れないよなw

901 :デフォルトの名無しさん:2012/10/06(土) 12:59:49.24
今からWPF始めたいんだけど、とっかかりにいいサイトとかないですか?

902 :デフォルトの名無しさん:2012/10/06(土) 14:31:15.95
そんなのあったら俺はこんなに苦しんで来なかった
無いんじゃないでしょうか

903 :デフォルトの名無しさん:2012/10/06(土) 14:36:49.07
とっかかりなら@ITのWPFやXAML入門のやつでいいんじゃないの?
俺はそこから入った
前提知識ゼロでもわかりやすい

904 :デフォルトの名無しさん:2012/10/06(土) 15:00:30.49
同じく最初は@ITとか見てちょこっと書いた程度だったな

905 :デフォルトの名無しさん:2012/10/06(土) 16:39:22.30
>>901
とりあえず配置系から
ttp://www.atmarkit.co.jp/fdotnet/chushin/introwpf_07/introwpf_07_02.html

906 :デフォルトの名無しさん:2012/10/06(土) 16:41:57.63
ありがとう。
@it見てみます。
でも相変わらず敷居高いままっぽいんですね。
本もあんまりないし。。

とりあえずxpでも動くwin8アプリみたいなのを作りたい。

907 :デフォルトの名無しさん:2012/10/06(土) 17:00:17.55
WPFってwin8だとボタンとかの描画がシステムデフォルトの描画と違って、残念な気持ちになるよ。
未だにこれの良さげな解決方法がわからん。

908 :デフォルトの名無しさん:2012/10/06(土) 23:27:44.38
リボンはRibbon.IsMinimum=TrueにしてApplicationMenuとHelpPaneだけ使用すればFireFoxみたいだな

909 :デフォルトの名無しさん:2012/10/07(日) 05:31:31.78
WPF入門に@IT利用するのはお勧めしないな
無駄が多いし、説明が足りなかったり
(誰が肥満度チェックするためにプログラミングするんだよと)

やっぱりMSDNのラーニングで学習したほうが効率がいい
本当によく使う実例を元に解説しているから吸収しやすい

910 :デフォルトの名無しさん:2012/10/07(日) 21:55:50.06
官公庁向けシステムは今後WPFでもOK?
それともWin8?SL5?まさかのWinForms?教えてエロい人

911 :デフォルトの名無しさん:2012/10/07(日) 22:01:32.40
HTMLだろ

912 :デフォルトの名無しさん:2012/10/07(日) 22:31:57.88
官公庁じゃないけど、ウチのグループの内製アプリはXBAP
官公庁ならまあHTMLでいいんじゃね…

  Win8 → WinRTの事か?一般企業やコンシューマ向けならともかく、業務アプリでコレは無いわ
  SL5 → サポートは2021年までだっけ、でも開発はWPFの方が楽だからなー
  WinForms → 今更感溢れ過ぎ

913 :デフォルトの名無しさん:2012/10/07(日) 22:32:52.69
× 一般企業やコンシューマ向けならともかく
○ コンシューマ向けならともかく

914 :デフォルトの名無しさん:2012/10/07(日) 22:37:25.28
営業職が出先で使用するアプリとかいう想定はどうだろう>一般企業

915 :デフォルトの名無しさん:2012/10/07(日) 22:38:32.94
尚更HTMLだろ

916 :デフォルトの名無しさん:2012/10/07(日) 22:55:44.93
尚更HTMLだな
その場合、昨今の主流を考えるとスレートデバイスでの使用が想定されるから

917 :デフォルトの名無しさん:2012/10/08(月) 05:14:31.78
>>901
@ITのWPFやXAML入門を何回読んでもわからないので、
いろいろ探したが、次のブログはためになった。
.NETな日々 - WPF

918 :デフォルトの名無しさん:2012/10/08(月) 07:22:55.89
@ITは短いコードに対して長々と説明するから
読んでいるうちにわからなくなるよな
たくさんのコード例を出してくれる方が理解が早い

919 :デフォルトの名無しさん:2012/10/08(月) 08:40:54.62
抽象的な概念を理解出来ない低脳はそうかもしれないね

920 :デフォルトの名無しさん:2012/10/08(月) 08:58:31.84
>>917
ありがとう。
こちらもチェックしてみます。

921 :デフォルトの名無しさん:2012/10/08(月) 11:25:47.31
C++erだが、WPFってまじめにやろうと思うと結構学習コスト高いな
ライブラリドキュメント見るだけでたいていやりたいことはできたけど
何とも前時代的で美しくない

922 :デフォルトの名無しさん:2012/10/08(月) 12:03:18.56
バインドする為の下準備を各所でゴリゴリしなきゃならんのがダルイといえばダルイ。

923 :デフォルトの名無しさん:2012/10/08(月) 12:38:52.53
下準備したのを継承すればいいだけだろバカ

924 :デフォルトの名無しさん:2012/10/08(月) 15:35:01.41
>>921
バカには無理

925 :デフォルトの名無しさん:2012/10/08(月) 15:40:59.91
       //
     /  /   バカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ Gayには無理
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

926 :デフォルトの名無しさん:2012/10/08(月) 16:26:31.34
「馬鹿には無理」が段々俺の見てるスレ全体に広がってるよう

927 :デフォルトの名無しさん:2012/10/08(月) 16:42:18.24
俺に言われて悔しいがった奴が各所で使っているんだろうなw
バカはほんと救えない

928 :デフォルトの名無しさん:2012/10/08(月) 16:47:43.67
Pythonスレでアレな質問に対してかなり前から使われてきたけど
最近は濫用がひどい

929 :デフォルトの名無しさん:2012/10/08(月) 16:49:13.55
そうそうPythonスレ
俺以外にも見てる奴いるんだな

930 :デフォルトの名無しさん:2012/10/14(日) 00:23:34.90
<Button ContextMenu={DynamicResource Hoge}/>

コンテキストメニューを、Windowリソースとして埋め込みました。
このコンテキストメニューをクリックした時に、
そもそもその表示をさせた原因となるコントロール(Buttonとか)には、どうすればアクセスできるでしょうか?

private void MenuItem_Click_1(object sender, RoutedEventArgs e)
{
 //この中から、MenuItemじゃなくて、コンテキストメニューを呼び出した原因のコントロールにアクセスしたいです。
}

931 :デフォルトの名無しさん:2012/10/14(日) 07:45:28.17
ContextMenu.PlacementTargetだったっけな

932 :デフォルトの名無しさん:2012/10/14(日) 08:40:29.07
storyboardとeffectの使い方がわからない
コントロールにXAMLでアニメーションを定義
任意のタイミングでstoryboardをBegin()
アニメーションさせるのに条件があるから
LoadedとかClickとかのトリガーが使えない

933 :デフォルトの名無しさん:2012/10/14(日) 08:45:02.11
XAMLを使うと、クリックしたボタンすら取り込めない面倒なことになる。
XAMLをつかわないなら、ボタンのクリックイベントの中で、
このボタンのインスタンスをグローバル変数に保存してから、
作成済みのコンテキストメニューをオープンすれば、
メニューのクリックイベントの中でグローバル変数に保存したボタン
でアクセスできる。

だから、XAMLは嫌いだ。


934 :デフォルトの名無しさん:2012/10/14(日) 09:11:53.76
コード中でストーリーボードの生成から何からやってしまえば多分、今の自分の知識で出来ると思うんだけど
見栄えに関する内容はXAMLの方に書いておきたいんだよね

935 :デフォルトの名無しさん:2012/10/14(日) 18:53:57.10
>>933
コマンド使えよ

936 :デフォルトの名無しさん:2012/10/18(木) 21:52:47.50
ビルドして出来たreleaseフォルダの中のものって
必要なファイルはどれですか?

wpftoolkitとかのdll郡はまず必要(外したら起動しなかった)
ソフト名.exeももちろん必要
ソフト名.exe.configも必要?
vshost関係は不要
pdbは不要

で判断に迷うのは
dll名.xmlファイル(Microsoft.Windows.Shell.xmlとか)

これ抜きでも起動できるのですが、
あった場合と無かった場合の違いがわかりません。

937 :デフォルトの名無しさん:2012/10/18(木) 21:55:02.89
>>936
合ってる
dll名.xmlはライブラリのAPIリファレンスなので不要

938 :デフォルトの名無しさん:2012/10/18(木) 21:55:35.59
そのxmlはインテリセンス用のやつだね
実行環境には不要

939 :デフォルトの名無しさん:2012/10/18(木) 21:56:06.22
サンクス!

940 :デフォルトの名無しさん:2012/10/18(木) 22:10:57.51
スリーエフ

941 :デフォルトの名無しさん:2012/10/19(金) 07:44:36.58
原因がわからない怪現象があるんだけど(実際の怪現象はC)

@WPFのreleaseフォルダから、必要ファイルを、releaseとは別の
  適当な名前(「10月19日配布要フォルダ」とか) にコピー。

Aこのフォルダをまるごと圧縮。

B自宅のデスクトップとかなら、これを解凍して、普通に動作する。
  解凍後にフォルダ名を変更したり、
  解凍したフォルダの中身だけを別のフォルダにまるまるコピーしても問題なく動作。

Cところが、別のノートでは、解凍したそのままのフォルダなら動作するが、
  フォルダの名前を変更したり、フォルダの中身を別のフォルダにコピーすると
  なぜか突然動作しなくなることがある(起動直後に強制終了)。
  動作しなくなった後、フォルダ名を元に戻したり、元のフォルダにコピーして戻すと
  再び動作するようになる。

(ちなみに、dllなども含めて全て解凍したフォルダに含まれていて、
その外へのアクセスなどは一切なし)

本来ならBの自宅デスクトップのように、フォルダ名変えても
まるまる別のフォルダにコピーしても動作するはずだと思うんだけど、
なんでCの現象が発生するのかわからない。。。

942 :デフォルトの名無しさん:2012/10/19(金) 08:09:31.64
>起動直後に強制終了
せめてどこで落ちてるのか分からないと、エスパーしか答えれないわ…

943 :デフォルトの名無しさん:2012/10/19(金) 11:16:49.75
スローさせっぱなしでデフォのアラート出してそう・・
DispatcherUnhandledExceptionでスタックトレースでも吐かせるんだ

944 :デフォルトの名無しさん:2012/10/20(土) 16:13:57.03
32/64bit両対応の場合、インストーラーはどうしてますか?

945 :デフォルトの名無しさん:2012/10/20(土) 19:29:34.53
PCが固まって強制的に電源切ったり停電したとき
XAMLのファイルが壊れる

946 :デフォルトの名無しさん:2012/10/20(土) 19:31:21.82
WinFormsのようにキャッチしきれなかった例外を最終的にまとめてキャッチするようなイベント等はないでしょうか。

どこか一箇所でまとめてキャッチしたいです。

947 :デフォルトの名無しさん:2012/10/20(土) 20:09:17.67
数行前に書いてあるだろ・・・

948 :デフォルトの名無しさん:2012/10/20(土) 23:24:20.12
WPFのプロジェクトを新規作成して、MainWindow.xamlをダブルクリックして
デザイナーを開こうとすると

System.ArgumentOutOfRangeException
TimeSpan Period は、0 以上でなければなりません。
パラメーター名: interval
場所 System.Windows.Threading.DispatcherTimer..ctor(TimeSpan interval, DispatcherPriority priority, EventHandler callback, Dispatcher dispatcher)
場所 Microsoft.Windows.Design.Interaction.DesignerView.StartHoverCountdown()
場所 Microsoft.Windows.Design.Interaction.DesignerView.OnMouseMove(Object sender, MouseEventArgs args)
(長いので省略)

のようなエラーが出て、画面を編集することができません。
環境は、Windows7+VisualStudio2010 SP1 です。
なにかこの現象の解決策をご存じの方おられましたらご教授ください。

949 :デフォルトの名無しさん:2012/10/21(日) 18:41:22.80
フリーの難読化ツールでおすすめは?

950 :デフォルトの名無しさん:2012/10/21(日) 18:49:10.67
ありませんヌ

951 :デフォルトの名無しさん:2012/10/21(日) 19:02:23.24
NanDokuとExpressObfuscatorを試してみたけど
難読化後のexe、起動しなくなっちゃうのよ


952 :デフォルトの名無しさん:2012/10/21(日) 19:05:22.72
リフレクション使ってたりして問題のあるメンバやクラスは
ObfuscationAttributeで難読化対象から外せ

953 :デフォルトの名無しさん:2012/10/21(日) 19:37:08.70
どれを難読化しちゃいけないのかわからん

954 :デフォルトの名無しさん:2012/10/21(日) 19:38:23.89
どこで逝ってるのか確認しろよ
難読化してても自分で作ったんならなんとなく分かるだろ

955 :デフォルトの名無しさん:2012/10/21(日) 19:44:52.34
作者のページに気軽に使えるようにーって書いてあるけど程度があるなこれは

956 :デフォルトの名無しさん:2012/10/21(日) 19:44:52.93
デバッグビルドのexeを難読化してVSからデバッグ実行できるのん?

957 :デフォルトの名無しさん:2012/10/21(日) 19:45:53.50
難読化の仕組みをある程度わかってないと使えない感じ

958 :デフォルトの名無しさん:2012/10/21(日) 19:48:13.47
ログ吐くとかいくらでもやりようはあるだろ
頭使えよ

959 :デフォルトの名無しさん:2012/10/21(日) 19:59:29.27
起動時に落ちるんだったら、プロセスやCLR自体の起動に失敗してるか、
ウィンドウやコントロールをロードするときに失敗してるか、
起動時に呼ばれる自分のコードで逝ってるか、くらいだろ
呼び出し階層の上から絞ってけばprintfデバッグでも大した手間じゃないと思うけど

960 :デフォルトの名無しさん:2012/10/21(日) 20:35:41.32
Appのコンストラクタ→ログ出た
MainWindowのコンストラクタ→ログ出ない

961 :デフォルトの名無しさん:2012/10/21(日) 20:39:34.90
だったらまずはAppもMainWindowもリソースも難読化無効でやってみて
それで動いたら一つずつ難読化を戻してみれば原因分かるだろ
それくらいいちいち人に聞かなくても自分でいろいろ試せよ

962 :デフォルトの名無しさん:2012/10/21(日) 21:11:30.17
NanDokuでアセンブリのチェック全部外しても駄目だった
動作を停止しました
DLL使ってるから駄目なのかな?

963 :デフォルトの名無しさん:2012/10/21(日) 21:12:44.68
XAMLに書く事があるクラスを
[ObfuscationAttribute(Exclude = true)]
すればいい。

とりあえずVSについてくるやつ試せばいいだろ。

964 :デフォルトの名無しさん:2012/10/21(日) 21:24:20.65
Expressには無いんじゃなかったっけ?

965 :デフォルトの名無しさん:2012/10/22(月) 00:19:39.30
一番ちゃんと動くと思ったのはBabelだった。フリーじゃないけど。
http://www.babelfor.net/
他はどれもまともに動かない。

966 :デフォルトの名無しさん:2012/10/24(水) 12:03:34.31
難読化はいくつか試してみて商用レベルのソフトをまともに難読化、稼働できたのはdotfuscatorだけだった。ステマじゃないけど。
後のは起動しなかったり難読化途中で落ちたりとか。
WPFでは試してないけど。

967 :デフォルトの名無しさん:2012/10/25(木) 08:28:47.27
お前の糞コードなんか誰も読まないから安心しろ

968 :デフォルトの名無しさん:2012/10/25(木) 11:33:38.47
読まれると恥ずかしい糞コードだから隠したいんだよ
気持ちはわからんでもない


969 :デフォルトの名無しさん:2012/10/25(木) 11:40:01.81
いい加減、ほぼ100%戻せるのは勘弁して欲しい。なんなんだ中間言語って仕組みは

970 :デフォルトの名無しさん:2012/10/25(木) 12:13:20.55
中間言語であることとは本質的には無関係だよ低脳

971 :デフォルトの名無しさん:2012/10/25(木) 18:38:45.57
おまいらみたいな優秀な人間でも
中間言語からネイティブバイナリ吐く
コンパイラは作れないのか

972 :デフォルトの名無しさん:2012/10/25(木) 19:00:16.62
やろうとする人は皆無だろうね

973 :デフォルトの名無しさん:2012/10/25(木) 20:39:58.83
無駄な手間を掛けるのは優秀とは言わない
単なるオナニスト

974 :デフォルトの名無しさん:2012/10/25(木) 21:15:22.84
オナニー、気持ちいいじゃんw

975 :デフォルトの名無しさん:2012/10/25(木) 21:17:05.37
おめーだけがな

976 :デフォルトの名無しさん:2012/10/25(木) 21:23:20.91
ネイティブ&難読化てんこもりのウィルスですら解析されまくってるのに
ネイティブにした程度でどうにかなると思ってるってのも
ゆとりならではのお花畑妄想ですわ
時代を感じさせるね

977 :デフォルトの名無しさん:2012/10/25(木) 21:57:34.31
無駄な手間を掛けないとRailsみたいなのは生まれてこなかったと思うの

978 :デフォルトの名無しさん:2012/10/25(木) 21:59:54.68
javascript は中間言語(キリッ

979 :デフォルトの名無しさん:2012/10/25(木) 22:00:20.97
あっそ。で?

980 :デフォルトの名無しさん:2012/10/25(木) 22:02:27.70
無駄な手間を掛けるのが好きな人は
あえて.NET Frameworkの上に何かを作ろうとは思わないのでは。
どうせやるならJavaとかC/C++言語とか、
どのプラットフォームでも動いてそれなりに存続しそうな技術の上に組み立てると思うぞ

981 :デフォルトの名無しさん:2012/10/25(木) 22:07:34.00
どーでもええですよ
バイナリコンパイラ売ってたと思うよ
欲しけりゃ金出して買えば?

982 :デフォルトの名無しさん:2012/10/25(木) 22:08:14.79
きょうも無駄レス御苦労であった。

983 :デフォルトの名無しさん:2012/10/25(木) 23:40:11.28
Winformだとヘッダーとフッターがあるベースクラスを継承して各画面作ってたんだけど、WPFだとそういうのムリっぽい?

それかWPFでもMVCのレイアウトみたいなことできる?

984 :デフォルトの名無しさん:2012/10/26(金) 08:04:55.52
ControlTemplateだけで行けそう

985 :デフォルトの名無しさん:2012/10/26(金) 14:19:31.38
>>983
そもそもそういうのに継承使うのはどうかと。コンポジション使え。

220 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)