1read 100read
2013年01月プログラム141: WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part14 (715) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【統計分析】機械学習・データマイニング3 (203)
Jython、Groovy、JRuby - どれが一番効率的? (268)
くだすれPython(超初心者用) その15 (884)
正規表現 Part10 (494)
【最速へ】LowLevelVirtualMachine【LLVM】 (520)
TypeScript part1 (326)

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


1 :2012/10/27 〜 最終レス :2013/01/15
ユーザーインターフェースシステム、Windows Presentation Frameworkについて細々と語るスレ。
Visual Studio 2012 & 2010
http://www.microsoft.com/visualstudio/jpn/downloads
Microsoft .NET Framework 4 (Web インストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=9CFB2D51-5FF4-4491-B0E5-B386F32C0992&displaylang=ja
Microsoft .NET Framework 4 (スタンドアロンインストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&displaylang=ja
Microsoft .NET Framework 4.5
http://msdn.microsoft.com/ja-jp/library/vstudio/5a4x27ek.aspx
前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part13
http://toro.2ch.net/test/read.cgi/tech/1334300003/
関連スレ
Microsoft Silverlight その9
http://toro.2ch.net/test/read.cgi/tech/1321150267/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/

2 :
Part12 http://toro.2ch.net/test/read.cgi/tech/1324366825/
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 :
>>1-2乙。

4 :
片山ってWPFもやってんのかよ
手広いな

5 :
スレ立て乙

6 :
Windows8, VS2012で作成したWPFアプリケーションはXPでも動きますか?

7 :
1乙
前スレ落ちたの?

8 :
980越えて全然レス無いから落ちたよ

9 :
そうなんだ、ネタが無いね。
WindowsRTとか8とか出てきたけどWPFの未来はいかに

10 :
.NET4.5の新機能(WPF関係)
http://msdn.microsoft.com/ja-jp/library/vstudio/bb613588.aspx
普通に強化されて後は今まで通りで、これといってネタがないからなぁ

11 :
>出荷係クラスの新しい方法
w

12 :
>WPF は Ribbon の 4.5 隻の出荷制御します。
なにを言ってるか分からない

13 :
わろた

14 :
機械翻訳ネタかよw

15 :
しかし話題ないな

16 :
ボタンのコンテントにスタックパネルを入れて、
ラベルと子ボタンがあるようなコントロールテンプレートを含む
スタイルをリソースで定義して、コードでButtonオブジェクトを
生成してからStyleプロパティにいれても、
Styleプロパティに入れた段階ではContentの中身は空な様です。
親ボタンのClickイベントと子ボタンのクリックイベントに個別の
イベントを割り当てたいのですが、子供のボタンにイベントを
割り当てる為にインスタンスを取得できるタイミングが
良くわかりません。良い方法はあるでしょうか?


17 :
やったことないから知らないけど、動的だから論理ツリー内には居ないだろうし、
ビジュアルツリーはOnRender後じゃないと探せないんじゃないの?

18 :
>17
ありがとうございます。
ボタンの中の子ボタン自体はUIElementなので論理ツリーに
いると思ってるんですが、テンプレートで動的に生成された場合に
違うことはあるでしょうか?
今のところオブジェクトのStyleやTemplateプロパティに
入力すると.NETが全て上手くやってくれるくらいの認識しか
無いのですが、論理/ビジュアルツリー関係をもう少し
勉強してみます。

19 :
非同期での処理について質問があります。
ボタンをクリックするとexeもしくはbatを起動します。
起動前にボタンのisenabledをfalseにして
実行中になんども実行されないようにします。
ModelにCanExecuteというプロパティを用意し
バインドして実現しています。
ここまではよいのですが、exeが終了したら
CanExecuteをtrueにしてボタンをクリック可能に戻したいです。
ProcessクラスのWaiteForObjectを使えばできそうなのですが
画面が固まってしまいます。
画面を固めないで実現する方法はありませんでしょうか

20 :
知らんけどWaitForExit?は今のスレッド実行をブロックするメソッドなんだから、
UIスレッド以外で実行すればいいんじゃないの

21 :
>>20
メソッド名はWaitForExitです
UIスレッド以外で実行したいのですが
その実行が終わったらCanExecuteを変更しなければいけないため
結局は待ち合わせをしないといけなくはないのでしょうか?
非同期処理があまりわかっていないのかもしれないですが・・・

22 :
ggrksってことだ

23 :
>19
それ非同期じゃなくて同期って言わない?

24 :
async void button_Click() {
model.CanExecute = false;
await Task.Run(() => { /*別スレッド*/ 別プロセスを起動してWaitForExit(); });
model.CanExecute = true;
}
同期処理のように見えるのにUIが固まらない黒魔術

25 :
>>24
回答ありがとうございます。
教えていただいたように実装してみたのですが
エラーになってしまいました。
調べてみたところ、.NET4.5でないとだめのようでした。
現在のバージョンは4しか使えない状態です。
>>24のような処理を.NET4で実装するにはほかに方法はないでしょうか

26 :
アホなの?Taskクラスを教えて貰ったんだし調べればいいのに。
Task.Factory.StartNew() にCanExecuteも含めて全部ブチ込めばいいだけじゃね

27 :
Task.Factory.StartNew(() =>
{
(いろんな処理)
model.CanExecute = true;
});
じゃダメなの?
待ち合わせじゃなくて別スレッド内で
その最後にやらせる形だけど。

28 :
書いてるうちにかぶったw すまん

29 :
モデルがあるんだったらそういう処理や状態管理はモデルに投げるべきじゃね?
何のためのモデルだよ

30 :
model.CanExecute = false; 処理; model.CanExecute = true;
こういうのをビューに書いちゃうのはモデルを単なるデータの入れ物と勘違いしてる典型だろ
void button_Click() { model.処理開始(() => { 処理完了時の処理;/*イベントでも可*/ }); }
って感じにするのが妥当
CanExecuteはモデル自身が管理するべき
モデルと言ってもこの場合VMに近いけど

31 :
一体誰がMVVM的にどうの聞いてんだよw

32 :
質問の趣旨も理解せずに主義を語るのが病気持ちプログラマの特徴

33 :
>>26
>>27
無理
別スレッドからUI弄れないことも知らないの?
>>30
そんな実装クソだろ
void Execute()
{
this.CanExecute = false;
Task.Factory.StartNew(()=>{ /* 何か */ })
.ContinueWith(_=>this.CanExecute = true, UIで実行するためのTaskSchedule);
}
んでExecuteとCanExecuteをバインド

34 :
無理じゃねーだろ。CanExecuteはUIを直弄ってねーだろ。怒られるかやってみろよw

35 :
またアホなのが湧いてきたなw

36 :
>>34
ボタンにバインドしてるだろ?
怒られるからやってみろよw

37 :
>>34
Taskの処理が終わるまでCanExecute=trueが有効になんねーだろうな
どちらにしろCWメソッド呼ばないと無理じゃね?

38 :
>>36
まずお前がやれよ。直ぐだろw やってみたのか?

39 :
>>38
やってみたけどエラーにはならないが
処理前に非活性にならないね。
Taskだから?

40 :
>>39
言った手前やってみたけど、意図した動作になったけどなぁ。
無いとは思うが、INotifyPropertyChanged を実装してないってオチは…

41 :
>>40
実装してるんだけどね。
まぁ4なんてもう使わないからどうでもいいや。

42 :
VS2012を触ってみたら、デバッガでWPFビジュアライザなるものが出てきた
なにこれ便利

43 :
なぜXAMLは普及しないのか?

44 :
過去を捨てるほどメリットを提示できない故に

45 :
デザイン性が求められる分野はWebに行っちゃったしな
WinでもストアアプリはHTML5が主流になりそうな感じだし

46 :
とにかく無駄が多くてMSらしいと言えばらしいなw…って印象しかない

47 :
みんなコードは書きたいけど無駄に冗長なコードは書きたくないのです
MSの中の人は理解してない

48 :
>>47
逆だよ
みんな美しい理想の設計なんて求めていないのです
無駄な冗長な長いコードでも頭使わずに書けたらそれでいいんです
MSの中の人は理解してない

49 :
あれを美しいと感じる美観も勘弁して欲しい

50 :
そうでもないよ。基本的な設計は非常に筋がいい。
Androidとか今のJavaFXとかWPFの丸パクリだよ

51 :
>>43
WPFもSilverlightも出来上がったアプリ重くない?特にWPF、起動が劇遅。
XAMLのせいなのかは知らないけど。

52 :
書き方によるんじゃ無いかな?
自分は、最初WPF使ってとんでもなく遅くて後悔したけど、
できるだけ初期画面でインスタンス化されるコントロール減らしたり
デリゲートとかの非同期、マルチキャスト機能とか活用して
起動時のIO処理を見直すようにしたら、割と普通のソフトと変わらないんじゃね?
位の重さにはなった気がする。
そんなにデカイ規模のプログラムじゃ無いけど。
あと、コンパイルが掛かる、インストール後の本当の初期起動は
HDDの実行環境だとそれなりに重いかも

53 :
日本語のサンプルや解説がなさすぎる、MVVMを思想とか仕様じゃなくてわかりやすくサンプル載せてるサイトが日本に一つにもない、そんだけ使われてないってことじゃん。
そもそもBlendありきってのが一番わけわからん、VSで簡単にViewModel作れないんじゃみんなFormでいいじゃんってなるでしょ・・・。
だからMVVMをわかりやすく解説してるサンプル豊富なサイト教えてくださいm(_ _)m

54 :
かずきのところまとめ読みしてわからないならあきらめたほうがいい

55 :
あれMVVMのアーキについて語ってるわけじゃないだろ
どちらかと言えばどうやって使うかお部分だ
聞きたいのはそこじゃない

56 :
あきらめろん

57 :
>>55
MVVM のアーキテクチャって具体的に何が知りたいの?
UI とドメインのアンマッチを VM で吸収するってだけだよ。
それをどう実現するかってのは .NET でよければかずきって奴のブログ見ればいい。

58 :
うごやのサイトは見ない方がいい。
かなり宗教的で非現実的で自慰的。
自分も最近自覚してきたのか、言ってることがぶれまくってる。

59 :
かずきblog順を追って読んでいけばいい
学習しながら進んでったのがよくわかる
javaをやってたみたいで趣味グラマー中心の.net開発者より視野が若干広い
流行りものも積極的に勉強してるみたいだし

60 :
いや.NETのTipsとか書いてるのってみんな思いっきりドカタだろw

61 :
そのドカタより技術あるならてめぇが書けよカスwww
日本人って技術あるやつほど人に教えねーんだよな
日本のソフトウェアが糞なのは先人の残したそびえたつ糞のおかげですね^^

62 :
WPFはソフト開発の生産性がいいと思えない。
表現力はあるが、やってる中身は定型的でおもしろみがない。
Windows8のソフト開発はHTML5とJavascriptが主流になるだろう。

63 :
何やらドカタの琴線に触れたらしい
これだから嫌だねえ日本のIT業界って
スミからスミまで根暗卑屈

64 :
>>62
UI フレームワークなんてのは、昔から、面白味をなくしてドカタにでもできるようなものを目標にしている。
そういうつまらない仕事はWebデザイナみたいな一山いくらの連中に任せて、プログラマはもっと建設的な仕事をしろってことさ。
HTML5ベースになるとしたら、HTML5ベースのツールが流行ったというだけのこと。

65 :
wpfというかMVVMはなんかだるい。例えば、ちょっとなにか試そうってとき、
実際に使うときはMVVMなんだから、その流儀でやろうとするとコードビハインド比で
ちょっと時間食う。

66 :
>>65
まぁ、そういう間違った風潮、認識が蔓延ったのはすべて尾上が諸悪の根源だろうな
尾上ってMVVMの俺俺Rくを垂れることしか能がないというか
.NET Frameworkや言語(C#)に対する知識はかなり低い
++C++やneueに嫉妬メラメラだし
別にWPFだからと言ってMVVMでやんなきゃいけないわけではないし
WinFormsと同じようにコードビハインドで組んでUIの表現だけ恩恵を受けるのだってぜんぜん間違いじゃない
MVVMでやるとしてもコードビハインドを使っちゃだめというわけじゃない
コードビハインドは本当によくできた概念
無理に排除してもいいことない
MSも標準でメッセンジャーやイベントバインディングを用意しないと未来はないよな


67 :
まーたはじまった

68 :
土方が余計なこと考えなくても開発できるようにするためIDEがあんだろ
IDEが標準サポートしてないなら必須技術じゃないだろ

69 :
高野将ってうがやに何か弱みでも握られてるの?
へこへこびくびくしながら下僕ツイート垂れ流して何が楽しいの?
うがやも馬鹿にしてるのみえみえだし。
うがやの周りは変な奴多いよな。
技術に傾倒しすぎる奴らって本当に基地外しかいない。

70 :
自己紹介乙

71 :
>>70
おまえ、わかりやすいなwww

72 :
ここ定期的に私怨臭い流れになるな
隔離スレ作っても残るし

73 :
>>72
私怨というか、うがやが広めたMVVMに対する偏見は日本のMVVMを10年遅らせただろ?
まぁ10年はいいすぎだがw
しょぼくさいクラスライブラリを作っただけで図に乗りすぎたんだよ。

74 :
Livetがしょぼいのは同意だな
わざわざ理解するほどの価値は無いと思う
やっぱりMVVMは変なライブラリ使わないでコードビハインドを併用しながら
無理なくやれる範囲で適用するのが今のところはベスト

75 :
livetのページ404なんだけど

76 :
罵倒されてショック受けたんじゃねえの

77 :
>>74
>コードビハインドを併用しながら
>無理なくやれる範囲で適用するのが今のところはベスト
ここは激しく同意だわ
MVVMを正しく理解してない奴はクソ!文句垂れるな!
みたいな論調を垂れ流し続ける限りダメだ
その「正しく」ってのもugayaのオレ様理論だしw
>>69
ぐらばくって奴も完全な口だけ媚び下僕
いつもLivetまんせー的なこと言っておきながら
WeakReference<T>の存在、今日初めて知ってるしw
使ってないのバレバレじゃんかw

78 :
>>77
かわいそうなことしてやるなよ・・・
ああいうタイプの子は突っ込まれると
そんなこと気にしてないよ、と言わんばかりに
さらにドツボにはまることを言い出すんだよ・・・
2chなんか見てないよと言いたいんだろうね
「一方私はLivet.dllをmogmog」とか無理しちゃって・・・
ぐらばくちゃん惨めだね・・・
だせっw

79 :
u氏、私怨はないけど、モデルって言葉を都合良く使いすぎた所は悪影響があったと思う

80 :
ugaya40叩くだけに飽き足らず、その周辺まで叩きだしたか・・・
MVVMの採用はシーンによって導入の可否を判断すべきで
MVVMなきゃ絶対ダメってのも言い過ぎだが
MVVM絶対イラネーっていうおまいらも同類だと思うぞ

81 :
全員よそで頼む

82 :
モデルという言葉は視点によって意味が変わると思うぞ
MVVMとMVCでは問題領域が変わるので、「モデル」という言葉の意味が変わるのも当然
つか、これ以上突っ込んだ話はWPFから外れるから、俺がせっかく立ててやったMVVMスレでやれや
ttp://toro.2ch.net/test/read.cgi/tech/1338948213/

83 :
WPFから外れるから

84 :
>>82
視点によって変わる単語を俺様理論で展開してきたことが問題なんじゃね?
そもそもMVVM自体ugayaが考えたパターンじゃないのに
俺の思考がすべて正しい、ような論調で他人を否定し続けてきたくせに
いきなり真逆のこと言い出したのも問題だろうて。
コードビハインドの利用やモデルの責務あたりの件な。

85 :
>>84
ttp://toro.2ch.net/test/read.cgi/tech/1338948213/396

86 :
全部コマンドでやれれば、コードビハインドで書かなくて済むんだよ

87 :
例えばコマンドでフォーカス当てるとかってどうやってる?
メッセンジャーしかないと思うんだけど、なんてダルイんだ。
もうVの参照貰って、落ちないように直じゃなくて参照あるときに探すようにして当てる、で
いい気がするんだけど・・

88 :
>>87
> Vの参照貰って、落ちないように直じゃなくて参照あるときに探すようにして当てる、でいい気がするんだけど・・
それでいいんじゃね?俺もMVVM派だけど、そういう場合Vの参照VMに悩まず渡してる

89 :
俺様の言っていることが全て、違うこと言っている人間には喧嘩を売っていくという態度のせいで、
氏の発言を劣化コピーした、あるいみ自明な事をドヤ顔で言うような輩が出てくる一方で、
絡まれるのが面倒だからか、彼よりアプリケーションモデル・ドメインモデル・アプリケーションアーキテクチャに
知識も経験もあるであろう人達の発言が聞こえなくなったという弊害。

90 :
こんなマイナー技術好きにやったらいい

91 :
どこまでいってもMSプラットフォーム支配下という制限付きだからね。

92 :
windowsって結局MS-DOSを統合しただけだったな

93 :
        ____
        /     \
     /   ⌒  ⌒ \   何言ってんだこいつ
   /    (●)  (●) \
    |   、" ゙)(__人__)"  )    ___________
   \      。` ⌒゚:j´ ,/ j゙~~| | |             |
__/          \  |__| | |             |
| | /   ,              \n||  | |             |
| | /   /         r.  ( こ) | |             |
| | | ⌒ ーnnn        |\ (⊆ソ .|_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二  _|_|__|_

94 :
ちょっとむずかしかったかな?

95 :
MVVMスレでやれ
MVVMについて語ろう
http://toro.2ch.net/test/read.cgi/tech/1338948213/

96 :
雁屋哲レベルの知性の持ち主がいるな

97 :
VMの扱いがわかりにくすぎるし面倒すぎる
JavaFX2触ってるときと同じでイライラしてくるわ

98 :
コードビハインドでパネルのDataContextにモデルのインスタンスを代入して
その上のコントロールとモデルのプロパティをXAMLでバインドしろ。
VMなんか要らん。それがWPF本来の正しい使い方だ。

99 :
Vの仕事を奪うようなVMはMVVMじゃないと思うの
DataGridでソートボタン押されたら、押されたイベントをVMに送って
VMでソートしてそれをバインドで反映とか面倒臭くてやってられんぞ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
***Javaのオススメ入門書*** 『創るJava』 3.0 (566)
プログラミング言語 Scala 8冊目 (726)
Java系スクリプト言語Groovy (847)
NetBeans Part6 (882)
スレ立てるまでもない質問はここで 123匹目 (638)
クラス名・変数名に迷ったら書き込むスレ。Part22 (582)
--log9.info------------------
サジ (506)
         マジ         (483)
                 バーツ (311)
FRONT MISSION5 フロントミッション5 攻略 part.37 (303)
FE聖戦の系譜・マイナーカップリング友の会 12章 (933)
【PS3】 魔界戦記ディスガイア4=政拳交代163回目= (590)
FEの理不尽な点を強引に解釈するスレ その3 (622)
ファイアーエムブレム外伝 Part10 (542)
【PS2】NUGA-CEL!(ヌガセル!)総合 Part4【PSP】 (950)
【RONDE】ロンドも語ってみようか【輪舞曲】 (326)
伝説のオウガバトル Part7 (609)
【PS3】戦場のヴァルキュリア-第135陣- (932)
BLACK/MATRIX総合スレッド Chapter:15 (312)
FE聖戦の系譜第三世代以降、聖戦続編を構想スレ (283)
ファイアーエムブレム 封印の剣について語ろう 36章 (403)
       ビ ラ ク  第21部 (582)
--log55.com------------------
Smalltalk総合 Squeak Pharo
テストしにくいコードをテストする方法 その2
【.cmd】 バッチファイルスクリプト %12 【.bat】
自然言語処理スレッド その4
VBAなんでも質問スレ Part2
△△もっとStruts2の良さを教えてくださいSsssion6
【最強CUI】PowerShell -Part 2
ふらっと C#,C♯,C#(初心者用) Part127