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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
ユーザーインターフェースシステム、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デフォルトの名無しさん:2012/10/27(土) 16:19:15.15
3片山博文MZボット ◆0lBZNi.Q7evd :2012/10/27(土) 16:33:25.73
>>1-2乙。
4デフォルトの名無しさん:2012/10/27(土) 16:34:52.77
片山ってWPFもやってんのかよ
手広いな
5デフォルトの名無しさん:2012/10/27(土) 16:44:38.69
スレ立て乙
6デフォルトの名無しさん:2012/10/28(日) 10:22:10.26
Windows8, VS2012で作成したWPFアプリケーションはXPでも動きますか?
7デフォルトの名無しさん:2012/10/28(日) 11:23:06.63
1乙
前スレ落ちたの?
8デフォルトの名無しさん:2012/10/28(日) 11:25:00.88
980越えて全然レス無いから落ちたよ
9デフォルトの名無しさん:2012/10/28(日) 11:41:11.27
そうなんだ、ネタが無いね。
WindowsRTとか8とか出てきたけどWPFの未来はいかに
10デフォルトの名無しさん:2012/10/28(日) 12:36:15.23
.NET4.5の新機能(WPF関係)
http://msdn.microsoft.com/ja-jp/library/vstudio/bb613588.aspx

普通に強化されて後は今まで通りで、これといってネタがないからなぁ
11デフォルトの名無しさん:2012/10/28(日) 12:49:05.24
>出荷係クラスの新しい方法

w
12デフォルトの名無しさん:2012/10/28(日) 12:52:28.28
>WPF は Ribbon の 4.5 隻の出荷制御します。
なにを言ってるか分からない
13デフォルトの名無しさん:2012/10/28(日) 12:53:06.04
わろた
14デフォルトの名無しさん:2012/10/28(日) 13:00:11.53
機械翻訳ネタかよw
15デフォルトの名無しさん:2012/10/28(日) 13:06:53.93
しかし話題ないな
16デフォルトの名無しさん:2012/10/28(日) 13:48:54.58
ボタンのコンテントにスタックパネルを入れて、
ラベルと子ボタンがあるようなコントロールテンプレートを含む
スタイルをリソースで定義して、コードでButtonオブジェクトを
生成してからStyleプロパティにいれても、
Styleプロパティに入れた段階ではContentの中身は空な様です。
親ボタンのClickイベントと子ボタンのクリックイベントに個別の
イベントを割り当てたいのですが、子供のボタンにイベントを
割り当てる為にインスタンスを取得できるタイミングが
良くわかりません。良い方法はあるでしょうか?

17デフォルトの名無しさん:2012/10/28(日) 15:07:15.16
やったことないから知らないけど、動的だから論理ツリー内には居ないだろうし、
ビジュアルツリーはOnRender後じゃないと探せないんじゃないの?
18デフォルトの名無しさん:2012/10/28(日) 15:45:24.51
>17
ありがとうございます。
ボタンの中の子ボタン自体はUIElementなので論理ツリーに
いると思ってるんですが、テンプレートで動的に生成された場合に
違うことはあるでしょうか?
今のところオブジェクトのStyleやTemplateプロパティに
入力すると.NETが全て上手くやってくれるくらいの認識しか
無いのですが、論理/ビジュアルツリー関係をもう少し
勉強してみます。
19デフォルトの名無しさん:2012/10/31(水) 12:11:57.08
非同期での処理について質問があります。

ボタンをクリックするとexeもしくはbatを起動します。
起動前にボタンのisenabledをfalseにして
実行中になんども実行されないようにします。
ModelにCanExecuteというプロパティを用意し
バインドして実現しています。

ここまではよいのですが、exeが終了したら
CanExecuteをtrueにしてボタンをクリック可能に戻したいです。
ProcessクラスのWaiteForObjectを使えばできそうなのですが
画面が固まってしまいます。

画面を固めないで実現する方法はありませんでしょうか
20デフォルトの名無しさん:2012/10/31(水) 12:47:16.95
知らんけどWaitForExit?は今のスレッド実行をブロックするメソッドなんだから、
UIスレッド以外で実行すればいいんじゃないの
21デフォルトの名無しさん:2012/10/31(水) 13:24:04.67
>>20
メソッド名はWaitForExitです
UIスレッド以外で実行したいのですが
その実行が終わったらCanExecuteを変更しなければいけないため
結局は待ち合わせをしないといけなくはないのでしょうか?
非同期処理があまりわかっていないのかもしれないですが・・・
22デフォルトの名無しさん:2012/10/31(水) 13:27:27.89
ggrksってことだ
23デフォルトの名無しさん:2012/10/31(水) 13:28:14.80
>19
それ非同期じゃなくて同期って言わない?
24デフォルトの名無しさん:2012/10/31(水) 14:47:04.05
async void button_Click() {
model.CanExecute = false;
await Task.Run(() => { /*別スレッド*/ 別プロセスを起動してWaitForExit(); });
model.CanExecute = true;
}
同期処理のように見えるのにUIが固まらない黒魔術
25デフォルトの名無しさん:2012/10/31(水) 17:01:23.85
>>24
回答ありがとうございます。
教えていただいたように実装してみたのですが
エラーになってしまいました。
調べてみたところ、.NET4.5でないとだめのようでした。
現在のバージョンは4しか使えない状態です。
>>24のような処理を.NET4で実装するにはほかに方法はないでしょうか
26デフォルトの名無しさん:2012/10/31(水) 18:36:20.63
アホなの?Taskクラスを教えて貰ったんだし調べればいいのに。
Task.Factory.StartNew() にCanExecuteも含めて全部ブチ込めばいいだけじゃね
27デフォルトの名無しさん:2012/10/31(水) 18:36:40.62
Task.Factory.StartNew(() =>
{
(いろんな処理)
model.CanExecute = true;
});

じゃダメなの?
待ち合わせじゃなくて別スレッド内で
その最後にやらせる形だけど。
28デフォルトの名無しさん:2012/10/31(水) 18:37:09.96
書いてるうちにかぶったw すまん
29デフォルトの名無しさん:2012/10/31(水) 21:59:17.47
モデルがあるんだったらそういう処理や状態管理はモデルに投げるべきじゃね?
何のためのモデルだよ
30デフォルトの名無しさん:2012/10/31(水) 22:11:30.00
model.CanExecute = false; 処理; model.CanExecute = true;
こういうのをビューに書いちゃうのはモデルを単なるデータの入れ物と勘違いしてる典型だろ
void button_Click() { model.処理開始(() => { 処理完了時の処理;/*イベントでも可*/ }); }
って感じにするのが妥当
CanExecuteはモデル自身が管理するべき
モデルと言ってもこの場合VMに近いけど
31デフォルトの名無しさん:2012/10/31(水) 22:53:13.79
一体誰がMVVM的にどうの聞いてんだよw
32デフォルトの名無しさん:2012/10/31(水) 23:15:44.69
質問の趣旨も理解せずに主義を語るのが病気持ちプログラマの特徴
33デフォルトの名無しさん:2012/11/02(金) 10:59:04.64
>>26
>>27
無理
別スレッドからUI弄れないことも知らないの?

>>30
そんな実装クソだろ
void Execute()
{
this.CanExecute = false;
Task.Factory.StartNew(()=>{ /* 何か */ })
.ContinueWith(_=>this.CanExecute = true, UIで実行するためのTaskSchedule);
}
んでExecuteとCanExecuteをバインド
34デフォルトの名無しさん:2012/11/02(金) 11:08:27.55
無理じゃねーだろ。CanExecuteはUIを直弄ってねーだろ。怒られるかやってみろよw
35デフォルトの名無しさん:2012/11/02(金) 11:08:46.67
またアホなのが湧いてきたなw
36デフォルトの名無しさん:2012/11/02(金) 11:35:04.78
>>34
ボタンにバインドしてるだろ?
怒られるからやってみろよw
37デフォルトの名無しさん:2012/11/02(金) 11:37:10.07
>>34
Taskの処理が終わるまでCanExecute=trueが有効になんねーだろうな
どちらにしろCWメソッド呼ばないと無理じゃね?
38デフォルトの名無しさん:2012/11/02(金) 11:47:29.28
>>36
まずお前がやれよ。直ぐだろw やってみたのか?
39デフォルトの名無しさん:2012/11/02(金) 12:00:17.40
>>38
やってみたけどエラーにはならないが
処理前に非活性にならないね。
Taskだから?
40デフォルトの名無しさん:2012/11/02(金) 12:17:14.18
>>39
言った手前やってみたけど、意図した動作になったけどなぁ。
無いとは思うが、INotifyPropertyChanged を実装してないってオチは…
41デフォルトの名無しさん:2012/11/02(金) 21:34:48.31
>>40
実装してるんだけどね。
まぁ4なんてもう使わないからどうでもいいや。
42デフォルトの名無しさん:2012/11/03(土) 21:57:40.01
VS2012を触ってみたら、デバッガでWPFビジュアライザなるものが出てきた
なにこれ便利
43デフォルトの名無しさん:2012/11/03(土) 22:49:54.28
なぜXAMLは普及しないのか?
44デフォルトの名無しさん:2012/11/03(土) 23:08:17.54
過去を捨てるほどメリットを提示できない故に
45デフォルトの名無しさん:2012/11/03(土) 23:10:37.87
デザイン性が求められる分野はWebに行っちゃったしな
WinでもストアアプリはHTML5が主流になりそうな感じだし
46デフォルトの名無しさん:2012/11/03(土) 23:20:29.60
とにかく無駄が多くてMSらしいと言えばらしいなw…って印象しかない
47デフォルトの名無しさん:2012/11/03(土) 23:35:08.68
みんなコードは書きたいけど無駄に冗長なコードは書きたくないのです

MSの中の人は理解してない
48デフォルトの名無しさん:2012/11/03(土) 23:39:23.68
>>47
逆だよ
みんな美しい理想の設計なんて求めていないのです
無駄な冗長な長いコードでも頭使わずに書けたらそれでいいんです
MSの中の人は理解してない
49デフォルトの名無しさん:2012/11/03(土) 23:47:24.85
あれを美しいと感じる美観も勘弁して欲しい
50デフォルトの名無しさん:2012/11/03(土) 23:51:59.63
そうでもないよ。基本的な設計は非常に筋がいい。
Androidとか今のJavaFXとかWPFの丸パクリだよ
51デフォルトの名無しさん:2012/11/04(日) 06:38:22.55
>>43
WPFもSilverlightも出来上がったアプリ重くない?特にWPF、起動が劇遅。
XAMLのせいなのかは知らないけど。
52デフォルトの名無しさん:2012/11/04(日) 07:40:24.84
書き方によるんじゃ無いかな?
自分は、最初WPF使ってとんでもなく遅くて後悔したけど、
できるだけ初期画面でインスタンス化されるコントロール減らしたり
デリゲートとかの非同期、マルチキャスト機能とか活用して
起動時のIO処理を見直すようにしたら、割と普通のソフトと変わらないんじゃね?
位の重さにはなった気がする。
そんなにデカイ規模のプログラムじゃ無いけど。

あと、コンパイルが掛かる、インストール後の本当の初期起動は
HDDの実行環境だとそれなりに重いかも
53デフォルトの名無しさん:2012/11/04(日) 11:42:54.62
日本語のサンプルや解説がなさすぎる、MVVMを思想とか仕様じゃなくてわかりやすくサンプル載せてるサイトが日本に一つにもない、そんだけ使われてないってことじゃん。
そもそもBlendありきってのが一番わけわからん、VSで簡単にViewModel作れないんじゃみんなFormでいいじゃんってなるでしょ・・・。
だからMVVMをわかりやすく解説してるサンプル豊富なサイト教えてくださいm(_ _)m
54デフォルトの名無しさん:2012/11/04(日) 13:36:04.65
かずきのところまとめ読みしてわからないならあきらめたほうがいい
55デフォルトの名無しさん:2012/11/04(日) 13:38:36.00
あれMVVMのアーキについて語ってるわけじゃないだろ
どちらかと言えばどうやって使うかお部分だ
聞きたいのはそこじゃない
56デフォルトの名無しさん:2012/11/04(日) 13:41:59.27
あきらめろん
57デフォルトの名無しさん:2012/11/04(日) 22:28:12.90
>>55
MVVM のアーキテクチャって具体的に何が知りたいの?
UI とドメインのアンマッチを VM で吸収するってだけだよ。
それをどう実現するかってのは .NET でよければかずきって奴のブログ見ればいい。
58デフォルトの名無しさん:2012/11/04(日) 22:33:05.91
うごやのサイトは見ない方がいい。
かなり宗教的で非現実的で自慰的。
自分も最近自覚してきたのか、言ってることがぶれまくってる。
59デフォルトの名無しさん:2012/11/05(月) 00:58:58.91
かずきblog順を追って読んでいけばいい
学習しながら進んでったのがよくわかる

javaをやってたみたいで趣味グラマー中心の.net開発者より視野が若干広い
流行りものも積極的に勉強してるみたいだし
60デフォルトの名無しさん:2012/11/05(月) 01:07:49.15
いや.NETのTipsとか書いてるのってみんな思いっきりドカタだろw
61デフォルトの名無しさん:2012/11/05(月) 01:22:07.69
そのドカタより技術あるならてめぇが書けよカスwww
日本人って技術あるやつほど人に教えねーんだよな
日本のソフトウェアが糞なのは先人の残したそびえたつ糞のおかげですね^^
62デフォルトの名無しさん:2012/11/05(月) 02:44:59.68
WPFはソフト開発の生産性がいいと思えない。
表現力はあるが、やってる中身は定型的でおもしろみがない。
Windows8のソフト開発はHTML5とJavascriptが主流になるだろう。
63デフォルトの名無しさん:2012/11/05(月) 02:57:48.90
何やらドカタの琴線に触れたらしい
これだから嫌だねえ日本のIT業界って
スミからスミまで根暗卑屈
64デフォルトの名無しさん:2012/11/05(月) 03:32:10.19
>>62
UI フレームワークなんてのは、昔から、面白味をなくしてドカタにでもできるようなものを目標にしている。
そういうつまらない仕事はWebデザイナみたいな一山いくらの連中に任せて、プログラマはもっと建設的な仕事をしろってことさ。
HTML5ベースになるとしたら、HTML5ベースのツールが流行ったというだけのこと。
65デフォルトの名無しさん:2012/11/05(月) 03:42:09.60
wpfというかMVVMはなんかだるい。例えば、ちょっとなにか試そうってとき、
実際に使うときはMVVMなんだから、その流儀でやろうとするとコードビハインド比で
ちょっと時間食う。
66デフォルトの名無しさん:2012/11/05(月) 09:05:16.06
>>65
まぁ、そういう間違った風潮、認識が蔓延ったのはすべて尾上が諸悪の根源だろうな
尾上ってMVVMの俺俺うんちくを垂れることしか能がないというか
.NET Frameworkや言語(C#)に対する知識はかなり低い
++C++やneueに嫉妬メラメラだし

別にWPFだからと言ってMVVMでやんなきゃいけないわけではないし
WinFormsと同じようにコードビハインドで組んでUIの表現だけ恩恵を受けるのだってぜんぜん間違いじゃない
MVVMでやるとしてもコードビハインドを使っちゃだめというわけじゃない
コードビハインドは本当によくできた概念
無理に排除してもいいことない

MSも標準でメッセンジャーやイベントバインディングを用意しないと未来はないよな


67デフォルトの名無しさん:2012/11/05(月) 10:05:31.88
まーたはじまった
68デフォルトの名無しさん:2012/11/05(月) 11:55:57.32
土方が余計なこと考えなくても開発できるようにするためIDEがあんだろ
IDEが標準サポートしてないなら必須技術じゃないだろ
69デフォルトの名無しさん:2012/11/05(月) 16:00:02.83
高野将ってうがやに何か弱みでも握られてるの?
へこへこびくびくしながら下僕ツイート垂れ流して何が楽しいの?
うがやも馬鹿にしてるのみえみえだし。
うがやの周りは変な奴多いよな。
技術に傾倒しすぎる奴らって本当に基地外しかいない。
70デフォルトの名無しさん:2012/11/05(月) 16:17:34.87
自己紹介乙
71デフォルトの名無しさん:2012/11/05(月) 16:21:12.92
>>70
おまえ、わかりやすいなwww
72デフォルトの名無しさん:2012/11/05(月) 16:29:49.47
ここ定期的に私怨臭い流れになるな
隔離スレ作っても残るし
73デフォルトの名無しさん:2012/11/05(月) 16:50:50.35
>>72
私怨というか、うがやが広めたMVVMに対する偏見は日本のMVVMを10年遅らせただろ?
まぁ10年はいいすぎだがw
しょぼくさいクラスライブラリを作っただけで図に乗りすぎたんだよ。
74デフォルトの名無しさん:2012/11/05(月) 19:25:31.24
Livetがしょぼいのは同意だな
わざわざ理解するほどの価値は無いと思う
やっぱりMVVMは変なライブラリ使わないでコードビハインドを併用しながら
無理なくやれる範囲で適用するのが今のところはベスト
75デフォルトの名無しさん:2012/11/05(月) 22:47:21.06
livetのページ404なんだけど
76デフォルトの名無しさん:2012/11/05(月) 22:48:15.79
罵倒されてショック受けたんじゃねえの
77デフォルトの名無しさん:2012/11/05(月) 23:35:11.49
>>74
>コードビハインドを併用しながら
>無理なくやれる範囲で適用するのが今のところはベスト
ここは激しく同意だわ
MVVMを正しく理解してない奴はクソ!文句垂れるな!
みたいな論調を垂れ流し続ける限りダメだ
その「正しく」ってのもugayaのオレ様理論だしw

>>69
ぐらばくって奴も完全な口だけ媚び下僕
いつもLivetまんせー的なこと言っておきながら
WeakReference<T>の存在、今日初めて知ってるしw
使ってないのバレバレじゃんかw
78デフォルトの名無しさん:2012/11/06(火) 02:25:18.42
>>77
かわいそうなことしてやるなよ・・・
ああいうタイプの子は突っ込まれると
そんなこと気にしてないよ、と言わんばかりに
さらにドツボにはまることを言い出すんだよ・・・
2chなんか見てないよと言いたいんだろうね
「一方私はLivet.dllをmogmog」とか無理しちゃって・・・
ぐらばくちゃん惨めだね・・・

だせっw
79デフォルトの名無しさん:2012/11/06(火) 10:44:15.78
u氏、私怨はないけど、モデルって言葉を都合良く使いすぎた所は悪影響があったと思う
80デフォルトの名無しさん:2012/11/06(火) 10:52:11.88
ugaya40叩くだけに飽き足らず、その周辺まで叩きだしたか・・・

MVVMの採用はシーンによって導入の可否を判断すべきで
MVVMなきゃ絶対ダメってのも言い過ぎだが
MVVM絶対イラネーっていうおまいらも同類だと思うぞ
81デフォルトの名無しさん:2012/11/06(火) 10:53:15.08
全員よそで頼む
8280:2012/11/06(火) 10:57:45.55
モデルという言葉は視点によって意味が変わると思うぞ
MVVMとMVCでは問題領域が変わるので、「モデル」という言葉の意味が変わるのも当然

つか、これ以上突っ込んだ話はWPFから外れるから、俺がせっかく立ててやったMVVMスレでやれや
ttp://toro.2ch.net/test/read.cgi/tech/1338948213/
83デフォルトの名無しさん:2012/11/06(火) 11:20:50.38
WPFから外れるから
84デフォルトの名無しさん:2012/11/06(火) 15:03:24.23
>>82
視点によって変わる単語を俺様理論で展開してきたことが問題なんじゃね?
そもそもMVVM自体ugayaが考えたパターンじゃないのに
俺の思考がすべて正しい、ような論調で他人を否定し続けてきたくせに
いきなり真逆のこと言い出したのも問題だろうて。
コードビハインドの利用やモデルの責務あたりの件な。
8580:2012/11/06(火) 15:17:20.42
86デフォルトの名無しさん:2012/11/06(火) 16:59:26.20
全部コマンドでやれれば、コードビハインドで書かなくて済むんだよ
87デフォルトの名無しさん:2012/11/06(火) 17:28:45.47
例えばコマンドでフォーカス当てるとかってどうやってる?
メッセンジャーしかないと思うんだけど、なんてダルイんだ。
もうVの参照貰って、落ちないように直じゃなくて参照あるときに探すようにして当てる、で
いい気がするんだけど・・
88デフォルトの名無しさん:2012/11/06(火) 18:14:51.09
>>87
> Vの参照貰って、落ちないように直じゃなくて参照あるときに探すようにして当てる、でいい気がするんだけど・・

それでいいんじゃね?俺もMVVM派だけど、そういう場合Vの参照VMに悩まず渡してる
89デフォルトの名無しさん:2012/11/06(火) 19:15:21.50
俺様の言っていることが全て、違うこと言っている人間には喧嘩を売っていくという態度のせいで、
氏の発言を劣化コピーした、あるいみ自明な事をドヤ顔で言うような輩が出てくる一方で、
絡まれるのが面倒だからか、彼よりアプリケーションモデル・ドメインモデル・アプリケーションアーキテクチャに
知識も経験もあるであろう人達の発言が聞こえなくなったという弊害。
90デフォルトの名無しさん:2012/11/06(火) 19:54:01.58
こんなマイナー技術好きにやったらいい
91デフォルトの名無しさん:2012/11/06(火) 19:55:44.72
どこまでいってもMSプラットフォーム支配下という制限付きだからね。
92デフォルトの名無しさん:2012/11/06(火) 19:57:30.75
windowsって結局MS-DOSを統合しただけだったな
93デフォルトの名無しさん:2012/11/06(火) 20:04:30.33
        ____
        /     \
     /   ⌒  ⌒ \   何言ってんだこいつ
   /    (●)  (●) \
    |   、" ゙)(__人__)"  )    ___________
   \      。` ⌒゚:j´ ,/ j゙~~| | |             |
__/          \  |__| | |             |
| | /   ,              \n||  | |             |
| | /   /         r.  ( こ) | |             |
| | | ⌒ ーnnn        |\ (⊆ソ .|_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二  _|_|__|_
94デフォルトの名無しさん:2012/11/06(火) 20:06:18.70
ちょっとむずかしかったかな?
95デフォルトの名無しさん:2012/11/06(火) 20:16:03.05
MVVMスレでやれ

MVVMについて語ろう
http://toro.2ch.net/test/read.cgi/tech/1338948213/
96デフォルトの名無しさん:2012/11/06(火) 21:14:47.90
雁屋哲レベルの知性の持ち主がいるな
97デフォルトの名無しさん:2012/11/07(水) 00:48:14.02
VMの扱いがわかりにくすぎるし面倒すぎる
JavaFX2触ってるときと同じでイライラしてくるわ
98デフォルトの名無しさん:2012/11/07(水) 00:51:46.40
コードビハインドでパネルのDataContextにモデルのインスタンスを代入して
その上のコントロールとモデルのプロパティをXAMLでバインドしろ。
VMなんか要らん。それがWPF本来の正しい使い方だ。
99デフォルトの名無しさん:2012/11/07(水) 01:20:27.08
Vの仕事を奪うようなVMはMVVMじゃないと思うの

DataGridでソートボタン押されたら、押されたイベントをVMに送って
VMでソートしてそれをバインドで反映とか面倒臭くてやってられんぞ
100デフォルトの名無しさん:2012/11/07(水) 02:14:44.12
うるせーんだよ
カスどものVM論なんて聞き飽きたわ
引っ込んでろ
101デフォルトの名無しさん:2012/11/07(水) 05:53:01.87
>>99

CollectionViewSource.SortDescriptions
102デフォルトの名無しさん:2012/11/08(木) 01:50:29.98
>>89
まさにそれだな。
尾上に絡まれるのが嫌だからという理由でMVVMを論じる人が全く居なくなった。
おかげでja-JPのMVVMは間違った方向を向いたまま停滞しまくり。
まだそれが正論であればマシだったんだが、完全に歪んだ俺様理論だったってのが最悪。
マジで死ねばいいのにと思ってる人たくさんいるだろう。
103デフォルトの名無しさん:2012/11/08(木) 11:35:16.86
WindowsFormsHostのIsRedirectedはどうしたら使えるの?
環境はWindows 7+Visual Studio 2012
104デフォルトの名無しさん:2012/11/08(木) 11:46:04.52
>>102
パターン界の小林よしのりかよwww
105デフォルトの名無しさん:2012/11/08(木) 11:58:11.72
>>103
やっぱやめたってconnectにあがってた
106103:2012/11/08(木) 12:48:46.62
>>105
そうだったんですか、どうも有難うございます。
107デフォルトの名無しさん:2012/11/08(木) 19:03:32.16
なんか結局MVVMって自己満足みたいね。
画面定義とロジックは分けましょう→コードビハインド
みたいに開発環境・言語の中に組み込んで
意識せずに自然とMVVMになるようにしないと駄目だね。
108デフォルトの名無しさん:2012/11/08(木) 21:58:46.66
面倒な技術はたとえ便利でも全部ジコマン。

VとVMの名前を合わせとけばあとは全部勝手にやってくれるくらいにならないと、絶対流行らない。
109デフォルトの名無しさん:2012/11/08(木) 22:13:14.06
かずきのサイト見てMVVMので一番めんどい系のTriggerとActionとMessengerはなんとなくわかった
ただCommand、おめぇはわかんねぇ・・・
・Trigger = Viewに対するなんらかのイベント
・Action = Triggerから呼ばれてVMのメソッドを呼び出す
・Messenger = VMからViewへ指示

だいたいこんな感じだよな?
Commandってなんのためにあんの?しかもすげぇイミフでわけわかんない記述だし・・・
110デフォルトの名無しさん:2012/11/08(木) 22:28:41.59
なんの為とか言われてもなぁ…。実行可否も持てるわけだから、
複数個所で同一の処理する場合に、状態も含めて一元化できる・・とか?
メニューとボタンとかで。XAML的にもトリガーアクションよりは簡潔だし。

イミフってのは多分RelayCommandかDelegateCommandのことなんだろうが、
あれの実装は気にしなくていいと思う。ただ使えばいい。
でもコマンドが何者かすら勉強してなさそうだから、それもできなそうだが。

あとActionはVMとは限らんけどな。それもできるけど。
111デフォルトの名無しさん:2012/11/08(木) 22:32:12.06
CommandはCallMethodActionと一緒だよ。単にVMに定義されたパブリックメソッドと考えていい。
Vとバインドしやすいように特殊な形で公開しているだけ。
Commandの方がCallMethodActionよりもXAMLが簡潔に書けるが
VMのインターフェイスが汚れる。完全に好みの問題なので一方だけ好きな方を使えばいい。
CommandはCanExecuteでコントロールを無効にできたりするが、IsEnabledと
VMのプロパティをバインドしたほうが簡単で綺麗なので使う必要はない。
112デフォルトの名無しさん:2012/11/08(木) 23:33:51.98
CommandってF12押しても参照飛ばないからなー
113デフォルトの名無しさん:2012/11/08(木) 23:36:17.05
一つ一つのクラスとしてコマンドを実装して拡張性を持たせるような設計なら
CanExecuteは役立つのかもしれないけど、少なくともDelegateCommandに
CanExecuteは要らん
114デフォルトの名無しさん:2012/11/09(金) 06:49:52.32
信号が青に変わったら、アクセル踏め

(Command)
何らかの「進行許可」があったら「前進」しろ

進行許可の内容は、信号でも、警官の指示でも何でもいい
とにかく進めというサインが出たら行動しろ

前進の仕方も、車ならアクセル踏め、自転車ならペダルこげ、
徒歩なら歩け、その他何でも内容は問わない
とにかく前へ進め

かなりテキトーな比喩でいうと、こんな感じかな

「進行許可」が常に信号が青になる場合だけで
「前進」も常にアクセル踏むだけの1対1の組み合わせしかないなら、
冗長になるだけであまり意味はないけど
115デフォルトの名無しさん:2012/11/09(金) 07:01:45.14
最近の若いもんはON_COMMAND/ON_UPDATE_COMMAND_UIやDelphiのActionListを知らんからの〜。
まあ、今時の若ものはCallMethodActionやVM直接バインドで良いと思う。
116デフォルトの名無しさん:2012/11/09(金) 12:49:03.96
尾上のサイト読んだら、標準ライブラリだけだと
>DelegateCommand/RelayCommand、Messengerやビヘイビア・トリガー・アクションという用語は全て無視してください。
これらをゼロから実装するにはMVVMパターンの概念・目的・各種MVVMライブラリの実装・WeakEventパターンに精通している必要があります。
標準ライブラリだけでMVVMパターンを実現しようとしたら、これらの物は含まれていないのです。無理に実現しようとしてもコストが割に合いません。
117デフォルトの名無しさん:2012/11/09(金) 12:52:26.99
っつーことはPrism/Livetがない環境だと、そもそもMVVMで設計・実装することが間違いって話になるんよな
M$は本当にWPFにおいてMVVMを推奨してるん?VS2012でも相変わらずみたいだし、M$的にMVVMってなんなの?
118デフォルトの名無しさん:2012/11/09(金) 13:04:24.63
MVVMという言葉だけが先走りすぎて
WPF自体が新参に敬遠されてしまっている
どこのサンプルもWinFormの頃のようなコーディングをしているのに
実際そのほうが作るのが早くてわかりやすい
ノートを写すのに綺麗に書くか、わかれば良い程度で書くかと一緒
119デフォルトの名無しさん:2012/11/09(金) 13:10:43.53
確かに。会社でしかやらないような連中に教えるのは困難。
なんでこんなことしなきゃならんの?って思うわな普通。コードビハインド極力禁止ってw
Vとの結合弱くしてんでどこで使うのソレ・・的な。
120デフォルトの名無しさん:2012/11/09(金) 13:29:22.43
話を纏めると

「WPFおもしろそう!今度のプロジェクトはこれにしよう!」

「WPFにはMVVMというパターンが必要なのか・・・」

「MVVMはかなり複雑なパターンのようだし、うちのPGで理解できる奴いねーな」

「納期短いからやはりFormsにしよう!」

という流れが多そうだな
121デフォルトの名無しさん:2012/11/09(金) 15:24:34.04
土方には一生Forms使わせておけば良いんでは。

コードビハインド禁止だとかの冗談はともかく、
WPF(XAML)使うんだったらVM作ってバインディングした方がよほど簡単じゃね?
単純にプレゼンテーションモデルを作るだけではすまない所はコード書けば良いし。
122デフォルトの名無しさん:2012/11/09(金) 16:14:40.54
別にコードビハインドでもバインディングできるし
VM作ったほうが簡単ってことはない
123デフォルトの名無しさん:2012/11/09(金) 16:31:53.16
うん
コードビハインドでモデルをDataContextに突っ込んだ方が簡単
VMが欲しくなるほど複雑な状態管理が必要なビューなんてそう無い
124デフォルトの名無しさん:2012/11/09(金) 17:09:40.46
DataContextってビューのルートだけ設定して終わりじゃなくて、
たとえばあるモデルに関連したグループボックスがあったら
そのグループボックスのDataContextにはそのモデルを入れて、
グループボックスの子のコントロールをバインドするという風に使うもんなんだが
最初からWPF開発=MVVM開発と刷り込まれて学習したような連中は
その辺の考え方をよく分かってなさそうだな
125デフォルトの名無しさん:2012/11/09(金) 17:46:47.65
中途半端なVM作るぐらいならコードビハインドに書いたほうがいいな
一番良くないのはVMで実現が難しいのでコードビハインドも使ったりすること
VMの役割が曖昧になってしまって可読性が落ちる
だったらビューとモデルだけにすればいい。これでもWinFormよりはシンプルに書ける
126デフォルトの名無しさん:2012/11/09(金) 19:26:09.90
>WPF開発=MVVM開発

これをWPFの本質のように主張してくる奴がウザイ
殺害したい
127デフォルトの名無しさん:2012/11/09(金) 23:58:17.53
windowsformからwpfに移行しようと思うんだけど、いまいちやる気がでない
何か、windowsformではできなかったけど、wpfだとこんなことができる。みたいなことってありますか?
128デフォルトの名無しさん:2012/11/10(土) 00:11:03.72
WinFormsでは面倒臭すぎてよほどのことでないとやる気がしなかった
オーナードローが、WPFならほとんどの場合ノンコーディングで楽勝でできる。
基本的に見た目だけ。バインディングが便利っつっても
自由度が大幅に増して複雑になってしまった分を補ってるだけで、
特にWinFormsより楽ってわけでもない。
129デフォルトの名無しさん:2012/11/10(土) 00:38:51.22
WPFの便利さがわかりやすい実用的な例だと、複雑なリスト表示かな。
Twitterのタイムラインとかヤフオクの商品一覧みたいなのをイメージしてくれ。
あれHTMLならテンプレートエンジンとCSSで簡単に作れるんだけど
WinFormsでは結構大変。細かいデザイン性まで真似しようと思ったら途方もない手間だけど
そこまでしなくてもレイアウト自体難しい。WPFならノンコーディング。
130デフォルトの名無しさん:2012/11/10(土) 01:52:09.60
トランザクションスクリプトで組んでるような奴はWinFormsやっとけ
131デフォルトの名無しさん:2012/11/10(土) 07:41:39.52
トランザクションスクリプト vs ドメインモデルみたいな話がでちゃうのもu氏の弊害だな。
132デフォルトの名無しさん:2012/11/10(土) 07:49:43.19
ドメインロジックを、スクリプトで書くかドメインモデルを使って書くかという話でしょ?

MVVMのMはアプリケーションモデルの話で、そこがステートレスかステートフルかという話を
トランザクションスクリプト vs ドメインモデルの話だと捕らえちゃっている所がなんとも。
133デフォルトの名無しさん:2012/11/10(土) 12:36:42.73
アプリによってはMがちゃんとしてれば十分なケースで、
無意味に面倒なだけのVMを作って、それでMVVM糞とか言ってる奴も多そうだな。
134デフォルトの名無しさん:2012/11/10(土) 12:43:36.53
VMに本質的なロジックをだらだらと書いて、これがMVVMだと信じてる奴も多そうだな
135デフォルトの名無しさん:2012/11/10(土) 13:44:28.67
Viewにはこれ
ViewModelにはこれ
Modelにはこれ
Project全体ではこれ
環境はこのフレームワーク
みたいな、これとこれとがあればMVVMで、作れますよって定義が抽象的っつーか複雑すぎるんですよ
とっかかりから色々な概念や専門的な知識が必要だったら学習コストが高すぎるし、難しすぎなんですよ
尾上にしても、そういうPGのレベルに応じた実例サンプルなんてぜんぜん提示・解説してないわけで
MVVMとフレームワーク(ライブラリ)の両方の使い方を同時に説明してくれてる人って日本だとかずきくらいなんですよね
それも詳細ってわけじゃないし・・・
136デフォルトの名無しさん:2012/11/10(土) 13:48:11.98
win32API使った姑息な手とか出来ないのがちょっと最初は戸惑う
137デフォルトの名無しさん:2012/11/10(土) 13:58:51.02
>>135
Web MVCをやってみればいい。MVVMや本来のMVCと違って超スタンダードだから
ノウハウも初心者向けのガイドも腐るほどある。
MVVMはどっちかというと本来のMVCよりもWeb MVCに似た感じなので
なんでMVVMがそういう構造になってるのかわかるよ。
138デフォルトの名無しさん:2012/11/10(土) 14:27:47.34
Web MVCってVとC-Mが物理的に分断されてるから、直接データベースを弄ったりしてる
長大なコントローラーだらけの糞コード(WinFormsやWPFでイベントハンドラに全部書くのに相当)
でも比較的テストしやすいんだよ
MVVMの場合は通信回線の代わりにバインディングだけでやれという縛りプレイで分離してるわけだ
そう考えるとMがちゃんとしてればVMはそれほど重要なものじゃないし、
VMにたくさんコード書くのも間違いなのは明らか
139デフォルトの名無しさん:2012/11/10(土) 14:36:01.32
なるほどな例えだ。確かにwebでajax的に非同期通信やりまくる時の感じに似てるかも試練。
不自由感?がw
140デフォルトの名無しさん:2012/11/10(土) 17:34:11.77
もうWPFとかMSがどれくらい力入れるか怪しいものを薦めようと思わない
141デフォルトの名無しさん:2012/11/10(土) 18:00:26.27
バインディングはいいけど、F12でソースの方に飛んでくれよって思うわ
このコマンドのコードどこに書いたっけって毎回検索するのが面倒
142デフォルトの名無しさん:2012/11/10(土) 19:27:25.48
>>141

バインドはダイナミック
プロパティもコマンドもダックタイピング
実行時までバインド先はわからない
143デフォルトの名無しさん:2012/11/10(土) 19:29:03.44
マジ使えねーな
お洒落なVSのサイトこさえてる場合ではなかろうに
144デフォルトの名無しさん:2012/11/10(土) 19:57:07.16
>>142
わからないのはわからないようにしているだけ
コマンド名は同じなんだから
そのコマンドに関連付けられたメソッドまで飛んでくれって思う
145デフォルトの名無しさん:2012/11/10(土) 21:13:05.97
>>144

わからないっていうより、実行時まで確定しないんだよ
XAMLで指定するのはあくまでコマンドなりプロパティの"名前"だけ

たとえばViewModelAとViewModelBに、それぞれSampleDataっプロパティあるとして
片方はstring、片方はintでも、同じ{Binding SampleData}でバインドできる。
そしてDoSomethingCommandって同じ名前のCommandがあるとして、
片方はExcel出力、片方は印刷だったりしても、両方ともXAMLは共通で
{Binding DoSomehintgCommand} だけで行ける。

どちらのViewModelをバインドするかを条件によってif文で分岐したりすると
ViewModelAとBとどちらなのか、Excel出力と印刷とどっちのメソッドなのか
実行時までどちらかは確定しないでしょ
146デフォルトの名無しさん:2012/11/10(土) 22:18:11.00
>>145
じゃあ、どんどんロジック分離していったら
最終的に宣言に移動も参照に移動も何もかもできなくなるってことじゃない?
一体このメソッドやプロパティは何に使われるのかわからないようなゴミが大量に増えていきそう
MODELとVMもそんな感じで分離したらもうわけがわからない
147デフォルトの名無しさん:2012/11/10(土) 22:20:12.55
>>145
確定しなくてもいいから、同じプロパティ名に飛べよってことだよ
律儀にIDEもその仕様に合わせることないでしょ
148デフォルトの名無しさん:2012/11/10(土) 22:39:24.54
VMのデザイン時インスタンスってのもあるしな。
それが設定されてれば飛んでくれたっていいと思う。論理的にどうかじゃなくて利便性だわな。
149デフォルトの名無しさん:2012/11/10(土) 22:56:58.64
Ugayaが余計なことをしなければ、MVVMもここまで誤解されなかっただろうな。今からでもいいから余計なことを言うのを止めて欲しいわ。
150デフォルトの名無しさん:2012/11/10(土) 23:02:06.81
コマンドを使わずVMのメソッドにしておいて
イベントハンドラからVMのメソッドを呼び出すようにすればいいんじゃね?
VM省きたくなりそうだが
151デフォルトの名無しさん:2012/11/10(土) 23:07:32.39
>139
お前の頭が不自由なだけだろ。
152デフォルトの名無しさん:2012/11/10(土) 23:17:54.05
>>151
ほぅ。お前は動的ページと静的ページとで工数が変わらんってことか。流石だなw
153デフォルトの名無しさん:2012/11/10(土) 23:20:34.72
コードビハインドと比較すれば間違いなく不自由でしょ
あえてやりとりの自由度を下げることで部品の再利用性や保守性を上げるんだよ
カプセル化ってそういうもん
154デフォルトの名無しさん:2012/11/10(土) 23:39:37.87
実際GUIを頻繁に作り変えたりするのかって話
ほとんどないだろそんなの
155デフォルトの名無しさん:2012/11/10(土) 23:42:14.16
そもそも論で、新規プロジェクトでWPF作った時にXamlとcsしかないんだからコードビハインドでゴリゴリ書くやつを下等PGとか酷いと思います・・・><
156デフォルトの名無しさん:2012/11/10(土) 23:49:38.52
新たにGUIを書きなおそうとした時
プロパティ名をVMと同じにしないと当然動かないわけで
じゃあ、どんなプロパティが用意されているのかと探すための補助機能がないから面倒過ぎる
例えばイベントハンドラなら、デザインプロパティから選んだりできるので楽だけど
そういう機能がコマンドやバインディングに用意されていない
分離することで作業効率が落ちているとしか思えないんだが
イベントだと対応するイベントハンドラがないとコンパイラエラーが出るので
そこは確かに煩わしく感じるけど

結局GUI有りきでコーディングしていかなきゃいけないんだよな
157デフォルトの名無しさん:2012/11/10(土) 23:51:17.54
>>155
MSが用意してくれているMVVMテンプレートだとVMにコード書くようになってるぞ
158デフォルトの名無しさん:2012/11/11(日) 00:03:07.94
>>157
マジっすか?
だったらRouting Eventとかなくしてコードビハインド禁止にすれば下等とか争わなくて済むのに!
そしてXamlにポトペタしたら自動的にコマンド作ってくれてバインドしてくれればいいのに!
159デフォルトの名無しさん:2012/11/11(日) 00:07:18.36
そして当のMS自身はVisualStudioやBlend作るのにコードビハインド全開という事実
160デフォルトの名無しさん:2012/11/11(日) 00:17:42.46
ブラック企業であればあるほどMVVMは無理ゲー。
作りながら設計みたいなのには向かないw モデルの変更入りまくりでふぇぇぇ・・ってなる
161デフォルトの名無しさん:2012/11/11(日) 00:37:10.92
要するにユーザーには幻想を見せておいて自分は実利に走っとるんや
さすがまやかし企業なだけあるで
162デフォルトの名無しさん:2012/11/11(日) 01:06:20.51
つーか、マイクロソフトが公開してるサンプルだって、コードビハインド
使っとるだろ?
勝手に幻想抱いて、勝手に振り回されてるのは、愚かなオタクプログラマー
だけってこと
163デフォルトの名無しさん:2012/11/11(日) 01:10:12.23
MVVMが適してるのってデータベースの行弄ってアップデートするだけの
しょーもない画面がたくさんあるアプリだよ
VisualStudioみたいに一つの複雑な画面で拡張性持たせるようなのには向いてない
趣味で作るようなツール系のアプリにもね
164デフォルトの名無しさん:2012/11/11(日) 02:19:59.99
C#自体があるソフトの外部ツールとして動作させるのに向いてない
ちょっとした処理をさせたいだけなのに処理よりも起動の方に時間がかかる
WPFが必要な場面ってなに?
PC自体が下火で、やっているのはエロゲーマーかアングラなP2P利用者ぐらい
より多機能で重くなっていくOSなんて誰も求めていなかったんだなとつくづく思う
165デフォルトの名無しさん:2012/11/11(日) 03:27:56.00
業務アプリ向けなんだが
業務向けマは勉強嫌いだからな
166デフォルトの名無しさん:2012/11/11(日) 03:38:38.74
確かにプログラミング好きってPGに会ったことないな
家でプログラミングしてるやつなんて10人に1人もいないよね
167デフォルトの名無しさん:2012/11/11(日) 04:02:51.13
小学生の時からプログラミングやっているおれ
もちろんプログラマなんかにはならない
趣味だからね
168デフォルトの名無しさん:2012/11/11(日) 04:50:03.50
てか、便利なとこだけ使えばいいんじゃないの?

名前が同じだけで別々のプロパティ・コマンドにバインドさせたい時は
敢えて同名で統一しとけば楽勝で簡単ってだけ。

名前も違うし機能も違うけど、共通のViewを使いまわしたいっていうなら
ViewでDependencyProperty定義して、
そこからコードでバインドさせるようにしてやればいい。

別にコードビハインド否定する必要はないよ。俺も使いまくってる。
169デフォルトの名無しさん:2012/11/11(日) 15:41:08.46
UIが見えないhidden的なコントロールにした方が便利そう
170デフォルトの名無しさん:2012/11/12(月) 00:29:21.72
>>156>>168
プロパティ名とVMが同じじゃないと動かないってどういうこと?
違ってもバインドできるよね?
171デフォルトの名無しさん:2012/11/12(月) 03:56:42.42
MVVMで作ってみたんだけど
複数のコントロールがあるタブをコメントアウトして削除しても
エラーなくコンパイルできるな
これはすごいや
WinFormだとイベントの宣言削除しなきゃいけないのですごく便利
172デフォルトの名無しさん:2012/11/12(月) 05:56:21.60
>>170

なんか単純にアンカー先混乱してるだけの気がするけど
145=168=俺で、
156は赤の他人で、言ってる内容も立場も全く逆だよ

プロパティ名とVMが同じじゃないと動かない云々ってのは
156の言ってることで
それに対してのレスも含んだのが168だったけど。

XAMLで直接{Binding 〇〇} って指定する場合は
同じ〇〇って名前のプロパティなりコマンドにしかパインディングできない

動的に△△や××って名前のプロパティやコマンドに
実行中にバインド先を変えたいなら168のように
コードビハインドからバインドさせるしか思い浮かばないけど
173デフォルトの名無しさん:2012/11/12(月) 10:49:24.98
>>171
そんなもnMVVMじゃなくてコードビハインド+イベントハンドラでも同じだぞ
174デフォルトの名無しさん:2012/11/12(月) 15:14:38.62
>>165
業務アプリというのは、システムを開発して業務を効率化するためでなく
企業ごとに存在する奇妙なルールをシステム化してるだけの仕事だからな
しかもシステムの仕様を決定するのは、現場ではなくあくまでお偉方

当然業務内容の改善なんか提案できるはずもなく
エンドユーザーも使いたくないようなシステム作らされる
しかもその理解しがたいルールを成文化し設計・コーディングするので偉く骨が折れる
モチベーション下がるし学習意欲も失って当然だろう
175デフォルトの名無しさん:2012/11/12(月) 15:42:16.14
実際に作るのは下請けだし、給料安いしな。使い捨てだし。
176デフォルトの名無しさん:2012/11/12(月) 16:06:56.07
> しかもその理解しがたいルールを成文化し設計・コーディングするので偉く骨が折れる

修正↓

しかもその理解しがたいルールを成文化するだけで偉く骨が折れる
さらに営業が理解し切れてない仕様から設計しコーディングするので苦労は筆舌に尽くしがたい
しかも顧客へのヒアリングに必ず問題があって、毎回開発途中で劇的な仕様変更が発生する
177デフォルトの名無しさん:2012/11/12(月) 16:54:09.53
納品=プロトタイプのリリースか?ってくらい変更入るのもあるぜ。契約どうなってんだw
178デフォルトの名無しさん:2012/11/12(月) 17:08:14.89
179デフォルトの名無しさん:2012/11/12(月) 18:51:42.99
規模が大きくなってくると相手の会社にも業務ルール把握してる奴がいないという
ナンセンスなギャグを披露される
180デフォルトの名無しさん:2012/11/12(月) 19:00:31.89
仕事の話をしているひとってC#で仕事しているってこと?
181デフォルトの名無しさん:2012/11/12(月) 19:18:29.36
C#・VBどちらでも実装できるよ
くだらない仕様に振りまわされるだけでも疲れてるのにWPFへの移行が加わりチームが限界に近づきつつある
そこにMVVM習得しなければWPFは使えないという空気が蔓延すると、チームがトドメ刺されてしまう
これだけは回避したいです
182デフォルトの名無しさん:2012/11/12(月) 19:39:38.95
WPFするにはPrism,Livet必須です
183デフォルトの名無しさん:2012/11/12(月) 19:40:10.46
ステマってんじゃねーよ死ね
184デフォルトの名無しさん:2012/11/12(月) 19:42:09.15
MVVMしなければWPFやる意味が無いです
185デフォルトの名無しさん:2012/11/12(月) 19:43:03.90
ステマってんじゃねーよ死ね
186デフォルトの名無しさん:2012/11/12(月) 20:23:15.03
WinFomsの苦しみから解脱したいからWPFするのに
さらに苦しみたくないです
187デフォルトの名無しさん:2012/11/12(月) 20:44:55.52
そしてVMのコマンドハンドラでSQL発行するクソの山ができあがるんだろうな
VMを必要以上に有難がる奴ってMのなんたるかを理解してないと思う
188デフォルトの名無しさん:2012/11/12(月) 20:46:32.16
sucks so much
189デフォルトの名無しさん:2012/11/12(月) 23:29:51.90
MVVMはじめてから女の子にモテるようになった気がする
190デフォルトの名無しさん:2012/11/12(月) 23:34:59.24
fuckness
191デフォルトの名無しさん:2012/11/12(月) 23:44:17.61
MVVMで腰痛治りました
192デフォルトの名無しさん:2012/11/12(月) 23:47:26.50
僕はMVVM使い始めて一週間で彼女が出来ました
193デフォルトの名無しさん:2012/11/13(火) 00:11:35.14
kick you butt
194デフォルトの名無しさん:2012/11/13(火) 01:39:27.85
WPFで文字に影つけて
背景をグラデーションにしとけば
現場しらないおっさんたちは喜ぶんだから
MVVMとか別にいらない。
195デフォルトの名無しさん:2012/11/13(火) 04:19:16.13
WPF技術者が増えないわけだ。
196デフォルトの名無しさん:2012/11/13(火) 04:58:27.20
とりあえず、別にMVVM使わなくてもWPFは使えるからね
変にハードル上げる必要ない

『Pro WPF in C#』とか、予備知識ゼロから勉強できていい本だけど
厚さ6〜7cmある分厚い本だけど全部コードビハインドでやってる
MVVMとか全く出てこないよ

(別に、MVVM否定してるわけじゃない。俺はMVVM使ってるしw
ただ、MVVMを一切使わないWPFもそれはそれで別に間違ってないってこと)

あとBlendとかも別に要らない
複雑なアニメーション作る場面とかしか使ったことないや
197デフォルトの名無しさん:2012/11/13(火) 05:05:02.00
コードビハインドに書くとメモリリーク起こすからなぁ
198デフォルトの名無しさん:2012/11/13(火) 09:55:54.92
XDesProc.exeがやたら固まるんだけど
記述がクソなせいですかね
199デフォルトの名無しさん:2012/11/13(火) 10:04:41.58
>>197
書き方による
うまく書けばリークしないよ
200デフォルトの名無しさん:2012/11/13(火) 10:21:50.30
なぜどういうときにメモリリークするのか理解せず、
ただUの言うことを鵜呑みにしてコードビハインド書くとメモリリークと唱和してるような
レベルで無理してMVVMなんて使ったところでメリットは得られないだろうし
ほかのところでメモリリーク起こすよ
201デフォルトの名無しさん:2012/11/13(火) 11:25:38.84
Microsoft.Expression.Interactionsってなんで標準じゃないの?
202デフォルトの名無しさん:2012/11/13(火) 11:30:24.50
Blendのための機能だから
VSのデザイナだけじゃビヘイビアなんかはっきり言って使い物にならん
203デフォルトの名無しさん:2012/11/13(火) 11:33:56.62
>>200の言うとおり。
204デフォルトの名無しさん:2012/11/13(火) 12:29:41.93
シノフスキー退職でまた混迷しそうだな
205デフォルトの名無しさん:2012/11/13(火) 12:39:38.61
今更メトロsageでWPF推しになっても手遅れ
206デフォルトの名無しさん:2012/11/13(火) 13:00:32.09
c#はメモリリークしないっ言ってたじゃないか。
207デフォルトの名無しさん:2012/11/13(火) 13:09:00.67
だれが
208デフォルトの名無しさん:2012/11/13(火) 13:15:53.67
フレームワーク的にはしないとも言えるんじゃないか。参照があるから掴んでるんであってw
209デフォルトの名無しさん:2012/11/13(火) 13:39:32.51
WPFのtoolkitのChartでSilverlightのtoolkitのChartのStackedColumnSeriesの様な表現がしたいです
グラフ上で凡例ごとの値を縦積み表示にするやつ
■←こんなの
□←こんなの
■←こんなの
WPFのtoolkitに同様のChartはあるんですがStackedColumnSeriesはありません
同様の表現をしたい場合、代替のクラス、プロパティ等はありますか?
210デフォルトの名無しさん:2012/11/13(火) 15:55:31.39
CallMethodActionにパラメータ渡したかったら
Command要る?
211デフォルトの名無しさん:2012/11/13(火) 16:57:31.31
Command全廃でおk
212デフォルトの名無しさん:2012/11/13(火) 19:26:33.93
>>209
WindowsFormsHostでMicrosoft Chart Controlsを使えばおk
XAMLのChartとかウンコだしこんなもんWPFにこだわる意味ない
213デフォルトの名無しさん:2012/11/13(火) 21:02:10.57
>>212
ありがとうございます
糞なのか・・・Silverlightでは長く採用してきただけに残念
でも、せっかくなのでその方法でやってみます
WindowsFormsHostは既にWPFから帳票.NET呼ぶ段で使ってるからなんとかなりそう
214デフォルトの名無しさん:2012/11/13(火) 21:43:23.74
市販コンポーネント買っちまえ
215デフォルトの名無しさん:2012/11/13(火) 22:59:29.71
Infragisticsのコンポーネントはいいぞ
216デフォルトの名無しさん:2012/11/14(水) 02:54:23.56
すべてのコントロールがWinForm以上にならないとやる気がしない
劣化するとかありえんわ
217デフォルトの名無しさん:2012/11/14(水) 03:01:08.10
同じことするのにコーディング量が増えるなんて論外。それならMFCのほうがマシ。
218デフォルトの名無しさん:2012/11/14(水) 10:42:58.17
なになにの責務とか考えてると禿げる。コードビハインドが全責務を負いますよ!
219デフォルトの名無しさん:2012/11/14(水) 19:55:52.33
可能かどうか教えてください。

ListBoxの各1行に画像とテキストを配置するように、バインドします。
この状態でListBoxのアイテムをクリックすると、画像とテキストを含めた1行全体が選択されます。
そうではなく、1行内の画像、テキストの各項目をクリックできるようにしたいのですが
可能でしょうか?
220デフォルトの名無しさん:2012/11/14(水) 20:07:22.62
可能
221デフォルトの名無しさん:2012/11/15(木) 11:30:23.67
Window表示して閉じたらただちにGC.Collect実行してるのだけど
GC.GetTotalMemory(True)で調べたら、Window起動するたび使用領域増えてくるが、これは仕様なの?
222デフォルトの名無しさん:2012/11/15(木) 11:44:43.59
まずパフォーマンスモニターでどのヒープが増えてるのか調べるんだ
223デフォルトの名無しさん:2012/11/15(木) 11:56:12.09
.NETってクライアントの応答性を重視しすぎてGCのメモリ管理に問題があったりするんだよな
WPFで画像のバッチ処理とかやろうとすると素直に書いたらほぼ確実にOutOfMemoryで逝く
224デフォルトの名無しさん:2012/11/15(木) 11:58:07.27
見方よく判らないけどメモり見るとWindow起動するたびワーキングセットが一番増えてる
それに引きずられる感じでコミットとプライベートが増えてる感じかな
225デフォルトの名無しさん:2012/11/15(木) 12:07:56.51
タスクマネージャーじゃなくてパフォーマンスモニターだぞ
でグラフにCLRのメモリ系全部追加する
特に注目するのはGen0Heap,Gen1Heap,Gen2Heap,Large Object Heapやハンドルの数など
226デフォルトの名無しさん:2012/11/15(木) 12:47:36.93
thx、調べてみました。
Gen0Heap
単位0.000001で22くらいを維持してる。起動する瞬間だけ増える
Gen1Heap
単位0.000001でWindow起動する瞬間増えるけど、その後減ったり増えたり
Gen2Heap
単位0.0000001でWindow起動するたび1〜2増加。GC.Collect実行しても減らない
Large Object Heap
単位0.000001でずっと8くらいを維持してる
227デフォルトの名無しさん:2012/11/15(木) 12:49:29.63
Gen0とかGen1ってヒープ世代という理解でいい?
228デフォルトの名無しさん:2012/11/15(木) 13:08:24.58
Gen0最初に割り当てたとき
Gen1 GCで生き残ったGen0が昇格
Gen2 GCで生き残ったGen1が昇格
だっけ?
Gen0から優先的に開放されて、Gen2はよっぽど逼迫しないと
開放されないとか
229デフォルトの名無しさん:2012/11/15(木) 15:11:10.39
>>226
レポート表示に切り替えてみて、Gen2ヒープの増える量と問題の数値のオーダーが一致するなら
たぶん参照リークしてるんだろうな
よく知られたGCの問題でLarge Object Heapの断片化というのがあるけどそれではなさそう
CLR Profilerの出番。実際にGen2ヒープの状況を覗いてみて、どの型のオブジェクトがメモリを
占有しててどこで割り当てられてて誰に参照を掴まれてるのか調べる。
230デフォルトの名無しさん:2012/11/15(木) 16:19:42.15
>>229
スゲェ!マジありがとーです!!!
CLR Profilerの使い方やっと判ってきたので今調べてます!!!!
231デフォルトの名無しさん:2012/11/15(木) 17:35:33.90
終了した筈のWindowが起動した数だけヒープに残ってて、

System.Windows.EffectiveValueEntry []→
System.Windows.Automation.Peers.WindowAutomationPeer→
System.Collections.Generic.List<T>→・・・

と追ってったらサードパーティ製グリッドの参照が出てきました
まだグリッドにソース設定してないのに起動・終了繰り返しただけでこれって・・・(`д´;)
232デフォルトの名無しさん:2012/11/16(金) 19:52:08.62
WPF、C#でウィンドウを作っています。

タブキーで画面を移動していると、コンボボックスにフォーカスが当たったとき、勝手にコンボボックスが展開されてしまいます。
どうしたら、勝手にコンボボックスが展開されないように出来るでしょうか?
233デフォルトの名無しさん:2012/11/16(金) 19:55:59.11
>>232
普通はそんなこと起きないんだが
まず環境を教えろ
234デフォルトの名無しさん:2012/11/16(金) 19:59:20.59
>>233
開発環境は、VS2010、.NET3.5、C#です。
動作環境はWin7です。
235デフォルトの名無しさん:2012/11/16(金) 20:12:01.02
>>234
VS2010と7で.NET3.5?
236デフォルトの名無しさん:2012/11/16(金) 20:18:53.26
>>235
いえっさー
237デフォルトの名無しさん:2012/11/16(金) 20:59:39.02
どうXAML記述してるか判らんから回答しようがないな
238デフォルトの名無しさん:2012/11/16(金) 22:13:10.33
>>232
コンボボックスの選択リストがドロップダウン表示されるって事?
フォーカスで選択リストが出るって事はキーボードオペレーション対応の為にフォーカス時展開みたいな事してんじゃないの?
F4押せば出る事しらない人もいるだろうし
それは仕様なのか否か確認するべき
239デフォルトの名無しさん:2012/11/16(金) 22:54:44.44
>>238
仕様ではないです。

>フォーカス時展開みたいな事してんじゃないの?
探してみたら、やってました。

ありがとうございます。
240デフォルトの名無しさん:2012/11/16(金) 22:56:02.51
痴呆か
241デフォルトの名無しさん:2012/11/17(土) 00:16:53.21
Expression Studio 4 UltimateってのはVisual Studio 2010を持っていたらアップグレード版を購入できるんですかい?
242デフォルトの名無しさん:2012/11/17(土) 02:41:27.90
タブを多段表示にするとタブをクリックするごとに
上と下の順番が変わるのですが変わらないようにする方法はありますか?
FlowLayoutなどにボタンを追加してタブ代わりにするか思いつきません
243デフォルトの名無しさん:2012/11/17(土) 03:28:41.57
244デフォルトの名無しさん:2012/11/17(土) 04:19:58.08
すごいコピペでできちゃった
ありがとう
245デフォルトの名無しさん:2012/11/18(日) 09:51:25.36
可能か不可能かで教えてくだしあ
WPFとXNAの共存は可能?
(要はXAMLUIの中に一部XNAの描画領域を埋め込み)
それぐらいしなきゃ描画不可能なレベルの要求があるんだが
246デフォルトの名無しさん:2012/11/18(日) 10:20:14.98
できる
ちなみにWinFormにXNAで描画もできる
サンプルもいくつかあったと思う
247デフォルトの名無しさん:2012/11/18(日) 11:51:40.63
WPFやWinFormsと一緒に使うなら融通の利かないXNAよりも
SharpDXなどのラッパーかC++で生のDirect3Dを使ったほうがいいと思うよ
SilverlightならXNAベースのインターフェイスがあるんだけど
WPFの場合、まったく別個に動かしてサーフェスをコピーする形になる
248デフォルトの名無しさん:2012/11/18(日) 11:53:41.34
>>246
ありがとう
WinFormが使えるのはうれしいな
早速確認してみる
249デフォルトの名無しさん:2012/11/18(日) 11:59:29.56
>>247
DirectXを使ったほうがよいのね
だけどそっちで見積もれる人間がいないんだよな・・・開発は人を入れるにしても
ひとまず使うかどうかはさておき、確認してみます
具体的な事までありがとう
250デフォルトの名無しさん:2012/11/21(水) 11:09:46.48
>>196
> あとBlendとかも別に要らない
> 複雑なアニメーション作る場面とかしか使ったことないや
そう思ってた時期が俺にもあったがこの間勉強会でBlendの話聞いて便利だと思ったよ。
うまく使うと手でしこしこあっちこっちいじらなきゃいけんのを一発でやってくれる。
実際にはBlendとXAML手書きをうまく併用するのが生産性最も高そう。
251デフォルトの名無しさん:2012/11/21(水) 23:52:56.12
Blend2012はよでてにゃ!
252デフォルトの名無しさん:2012/11/22(木) 14:57:56.45
Blend さんはこの中の人だったはず
http://www.microsoft.com/ja-jp/download/details.aspx?id=12187
253デフォルトの名無しさん:2012/11/23(金) 02:06:39.10
会社でMSDNの購買担当だったんで2012 Proでいいだろうと思って契約したらBlendがWindows Storeアプリしか作れないんですが・・・?
Blend 4買えとか詐欺だろ糞
254デフォルトの名無しさん:2012/11/23(金) 02:54:02.21
blendは甘え
255デフォルトの名無しさん:2012/11/23(金) 02:54:17.95
ちょっと検索すりゃすぐ分かるんだから、そのくらいの下調べはやっとけよ…
256デフォルトの名無しさん:2012/11/23(金) 06:38:02.72
>>253
その辺業務で絡むんなら無能乙としか言いようがない。
釣り針で有ることを望む。
257デフォルトの名無しさん:2012/11/23(金) 14:01:23.15
検索できる、試用版がある
>>253 が悪い
>>253 減給w
258デフォルトの名無しさん:2012/11/24(土) 12:39:52.30
WPFで作ると苦労して作ったコントロールのデザインを
簡単にそっくりそのままパクられるから嫌だな
259デフォルトの名無しさん:2012/11/24(土) 12:42:03.28
エスペラント語で頼む
260デフォルトの名無しさん:2012/11/24(土) 16:09:03.49
La dezajno de la komando kiu estis farita kun malfacila?o kaj faris en WPF
Ne malamu ?ar estas facile totalo Parko.
261デフォルトの名無しさん:2012/11/24(土) 16:17:33.27
パクられるのがイヤなら全部自力でDirect2Dでも使って描くか
いちいちデザインで特許申請して通るまで公開しないか
そもそも人に見せる物なんか作るな
262デフォルトの名無しさん:2012/11/24(土) 16:26:14.03
ページめくりエフェクトや角を落としたタブレットのデザインで意匠取れるみたいだから行けるだろうな
まあアメリカの特許がポンチなだけかもしんないけど
263デフォルトの名無しさん:2012/11/25(日) 00:11:39.89
リストボックスのあのクリックのやりにくさをどうにかなりませんか?
文字が書いてあるところをクリックしないと反応しない
264デフォルトの名無しさん:2012/11/25(日) 04:25:17.81
普通はどこクリックしても反応するけどね
265デフォルトの名無しさん:2012/11/25(日) 11:14:32.22
勉強かねて2chブラウザを作ってるんですが、レスを表示するコンポーネント
をどう作るか悩んでます
・リンク混じりのテキストを表示
・リンクも含めて選択、コピー可能
・もちろん編集不可
・レスを跨って選択はできなくてもいい
・サムネイル表示もしたいけど、それは別枠でOK

自分で調べたところ、RichTextBoxを使うのが良いのかな?と思っているのですが他にいい方法ありますでしょうか?
266デフォルトの名無しさん:2012/11/25(日) 11:17:48.57
練習ならListView+ItemTemplateで作れ。WPFの基本だ。
実用ならHTML使うかDrawingレイヤで自作
267デフォルトの名無しさん:2012/11/25(日) 11:48:46.06
>265
自分はフロードキュメントで作ってます。
すごく汚いですが、表示部分はソースを公開してます。
ttp://neetchan.on.arena.ne.jp/
お互い頑張りましょう。
268デフォルトの名無しさん:2012/11/25(日) 11:57:10.29
えー
FlowDocument(≒RichTextBox)だと手で要素並べるんだよね?
どうせそれやるんだったら俺ならDrawing(WPFの方な)でやるかDirectWriteでも使うかなあ
手軽にWPFらしい作り方で作るんだったらItemTemplate使う方のアプローチになるだろうし
269デフォルトの名無しさん:2012/11/25(日) 12:37:50.66
>>266
Drawingレイヤでってのはパフォーマンスのため?
WinRTだとDrawing無いよね?どしよう。
270デフォルトの名無しさん:2012/11/25(日) 12:39:36.12
HTMLでいいじゃないか
271265:2012/11/25(日) 14:46:37.55
一応今のところListView + ItemTemplate使ってはいます
で、中身をどうしようかなということでRichTextBox使おうかと思っていました

>>267
お〜参考にさせていただきます

レス跨ってコピーとか考えるとHTMLが良いようにも思うんですが・・・
Drawingは知らなかったので調べてみつつ、基本はRichTextBoxでとりあえず
いってみようと思いましたが・・・もしかして素直にFlowDocumentにバインディング
できないんですかね?これ

もうちょっと悩んでみます
272デフォルトの名無しさん:2012/11/25(日) 17:09:40.96
>>271
今ニコ生のコメントビューア作ってるんだが、コメント表示機能で同じようなこと悩んでるわ

私見を述べれば、RichTextBoxが無難なところかなと思う。
Drawingだと文字列のドラッグコピー機能とかかなり鬼門になるだろうし、
HtmlだとWebブラウザ貼り付けになると思うが、
WPFのWebブラウザはDocumentがなぜかobject型になっていてどうやって編集すればいいのかわからんかったわ
消去法でRichTextBoxかという感じだ
273デフォルトの名無しさん:2012/11/25(日) 20:00:40.27
IEコンポでいいやん。
274デフォルトの名無しさん:2012/11/25(日) 23:23:23.62
WPFのコントロールは2chブラウザを作れないほど糞なんだよ
しかも遅い
275デフォルトの名無しさん:2012/11/26(月) 12:30:38.59
背景画像をタイル設定してるのにタイリングにならない・・・
まさかCみたいにコーディングが必要とか言わないよね・・・?
276デフォルトの名無しさん:2012/11/26(月) 15:12:35.42
夢は終わったんだよ。
277デフォルトの名無しさん:2012/11/26(月) 17:54:02.87
>>274
え、WinFormsでやってても普通ブラウザコントロール使うだろ?
278デフォルトの名無しさん:2012/11/26(月) 23:20:46.70
今日1日Xaml触ってたけどExpression Studio使いこなすの大変すぎるね
使い慣れたVSでちまちまいじる方が理解しやすいけど、インテリセンスきかなさすぎてWPFのXamlつら過ぎるわ・・・
何か試すたびにググらないといけないから、Formに逃げそうになる
ViewだけでこれじゃViewModelとか嫌になるな・・・
279デフォルトの名無しさん:2012/11/27(火) 00:18:42.03
単純なVMだったらラップして渡すだけだよ。

それですら面倒なら
ストアアプリのサンプルみたいにDefaultViewModelに突っ込む設計でもいい。
http://msdn.microsoft.com/ja-jp/magazine/ff798279.aspx
こんな感じで動的に解決してくれる手抜きクラス用意してもいい。
280デフォルトの名無しさん:2012/11/27(火) 00:37:06.04
VS2010、C#、XAMLです。


ListBoxとか、ListViewとか、TreeViewに少しずつアイテムを足していきたいと思っています。
別スレッドで一個ずつ足していき、ゆっくり画面に表示されるようにしたいと思ってます。

とりあえず、以下のようにサンプルコードを作ったんですが、
一個ずつ表示されず、まとめて全部表示されてしまいます。
どうしたら一個ずつ表示されるようになるでしょうか?


サンプルコード
MainWindow.xaml.cs
http://ideone.com/uYLLMg

MainWindow.xaml
http://ideone.com/zrojUI
281デフォルトの名無しさん:2012/11/27(火) 00:58:17.41
>>280
ボタンを押すとUIが止まってしまう
Thread.Sleepは別スレッドで実行しないと
282デフォルトの名無しさん:2012/11/27(火) 01:09:17.89
要はBeginInvokeの中じゃUIスレッドだからforの中にsleepを書けばいんじゃね。
283デフォルトの名無しさん:2012/11/27(火) 01:11:05.51
>>281
ありがとうございます。なおりました
284デフォルトの名無しさん:2012/11/27(火) 01:12:07.55
>>282
こちらの方も、ありがとうございます。
おっしゃるとおりでした。
285デフォルトの名無しさん:2012/11/27(火) 04:00:42.29
>>277
webbrowserなんて使うわけ無いだろ
286デフォルトの名無しさん:2012/11/27(火) 21:53:44.63
.NETのツイッターアプリそこそこあるし
もう2chブラウザ制作に魅力ないんだろう
287デフォルトの名無しさん:2012/11/27(火) 22:59:31.36
windowstyle = noneでカスタムウィンドウ作るとマジで処理がめんどい・・・
確かにFormよりは楽だけど、WPFだからってそんなに楽か?って感じなんだが・・・
あとなにげにAero Snapがうざい、これあるから画面上まで持ってったときの処理も必要だし、なんかもう美しいUI目指すとWindowsが糞って結論に達するよな・・・
288デフォルトの名無しさん:2012/11/27(火) 23:18:46.75
そのうち無機質が美しいとか言い出すから注意しろよ
289デフォルトの名無しさん:2012/11/28(水) 01:47:03.91
来年の1月に2ch閉鎖らしいから今から2chブラウザー作るなんて無駄☆
290デフォルトの名無しさん:2012/11/29(木) 16:12:26.78
デザイナ(IDEじゃなく人)が作ったxamlがグッチャグチャなんだけど、整形したりしてる?
普段デザインモードでバインド書いたりとかしないんだよなぁ。見づれぇ…
291デフォルトの名無しさん:2012/11/29(木) 17:41:56.60
xamlって見ちゃいけないものだろ。
292デフォルトの名無しさん:2012/11/29(木) 18:13:21.94
てか、むしろ、Visual Studioでなら、XAMLしか見ないw
デザインモード使い物にならないし
293デフォルトの名無しさん:2012/11/30(金) 02:50:17.59
Blend出るの遅すぎてここんとこ手書きしかしてない
294デフォルトの名無しさん:2012/11/30(金) 03:30:14.73
VS2012ならデザイン自体はBlendと大差はないだろ
BlendなしでビヘイビアとかVSMとかStoryboardとか使おうとするのは阿呆としか言いようがないが
295デフォルトの名無しさん:2012/11/30(金) 11:30:47.14
>>294
ビヘイビア程度ならVSで充分
Storyboardもケースバイケース
似たような挙動をする大量のコントロールがあるなら、秀丸使った方がより早く実装できるケースもある
296デフォルトの名無しさん:2012/11/30(金) 16:03:59.29
Blend出る前にwinBlueが出そうだ
297デフォルトの名無しさん:2012/11/30(金) 21:32:30.74
とりあえずPreview使ってるよ
298デフォルトの名無しさん:2012/12/01(土) 09:17:10.18
VS2012RTMの後そんなにかからない思ってたから放置してたけど
もうPreviewあったの忘れてたな、入れとこう
299デフォルトの名無しさん:2012/12/01(土) 09:39:37.92
LICENSE TERMS になんか書いてあるよね
http://expression.microsoft.com/en-us/jj618396

>4.PRE-RELEASE SOFTWARE.
> This software is a pre-release version. It may not work the way a final version of the software will.
> We may change it for the final, commercial version. We also may not release a commercial version.

> We also may not release a commercial version.

> We also may not release a commercial version.
300デフォルトの名無しさん:2012/12/01(土) 11:35:57.24
ええwwww
301デフォルトの名無しさん:2012/12/01(土) 12:36:28.97
反故反故っ・・・・!
302デフォルトの名無しさん:2012/12/01(土) 13:07:39.60
どういうことだってばよ!
303デフォルトの名無しさん:2012/12/01(土) 13:46:45.49
リボンを使いたいんだけど、あれって色を自由に変えられるの?
304デフォルトの名無しさん:2012/12/01(土) 17:47:13.93
当然テンプレいじったら変えられる
305デフォルトの名無しさん:2012/12/02(日) 21:26:19.02
ふと思ったんだけど、WPFアプリケーションで
ユーザーコントロールを別アッセンブリって組み込むと
UIスレッドは別になったりする?
メインの画面がハング気味なのに、内側のコントロールは
普通に動いてた事があったんだけど、そういう物なのかな?
dllといってもcomコンポーネントみたいな扱いになるのかな?
306デフォルトの名無しさん:2012/12/02(日) 21:38:15.00
そんなことはない
307305:2012/12/02(日) 21:45:48.38
thx
思い過ごしですか。
308103:2012/12/02(日) 21:54:21.62
Windowのフェードイン,フェードアウトってどうしてますか?
コードビハインドからBeginAnimationでやるのは正解かな
309デフォルトの名無しさん:2012/12/02(日) 21:56:53.29
コードビハインドからVSMで操作するのが正解でしょ
Blendないならやめたほうがいいけど
310デフォルトの名無しさん:2012/12/02(日) 23:36:31.27
>>305
別スレッドでコントロール作ったら、そっちのスレッドでもループ作られて動くようになると思うよ。
両方とも別スレッドから触ったらアウトだけど。
311デフォルトの名無しさん:2012/12/03(月) 00:04:40.17
>>310
メッセージループは自動じゃ発動しないよ
あとSTAスレッドにしないといけない
312デフォルトの名無しさん:2012/12/03(月) 04:10:52.77
でもアニメーションて、結局嬉しいの、(あるとしても)最初だけなんだよな
見慣れると0.1秒とかの短い時間の動きでも邪魔なだけになる

Windows95の時代から、
わざわざウィンドウの最小化/最大化のアニメ無効にするための
レジストリいじるTipsや、それを自動でやるフリーウェアあったりしたくらいで。
313デフォルトの名無しさん:2012/12/03(月) 04:16:53.69
ないないw
その発言はセンスねぇわw
iOSやOS Xのアニメーションがうざいとか聞いた事ないぞ
一つ言える事は、日本国内で業務システム作ってるPG/SEでまともな美的感覚持ってるやつは一人もいないwww
うんこUI量産し続けるおまえらがUIとか語るなやwww
314デフォルトの名無しさん:2012/12/03(月) 09:18:39.41
せやな
315デフォルトの名無しさん:2012/12/03(月) 09:29:17.22
おう、すまんな。どっから沸いてきたんだw
316デフォルトの名無しさん:2012/12/03(月) 15:01:17.29
WPFの標準コントロールってTemplateのせいで
プロパティ反映されないこと多すぎ
317デフォルトの名無しさん:2012/12/03(月) 15:54:01.92
TemplateBinding使ってないからじゃね?
普通は要素に直書いてある属性(プロパティ)が最優先になってるよな。
318デフォルトの名無しさん:2012/12/03(月) 19:24:13.01
ComboBoxの時点でウンコだよな
319デフォルトの名無しさん:2012/12/04(火) 00:00:34.62
DataGridでヘッダーの文字列を一部右寄せにしたいです。


http://ideone.com/BmHpEa



のソースコードにあるように一部を左、一部を右寄にするにはどうしたらいいでしょうか?
320デフォルトの名無しさん:2012/12/04(火) 00:12:26.18
Gridにつっこみゃいいって話じゃねーの? 何が問題なのか分からん
321デフォルトの名無しさん:2012/12/04(火) 00:24:28.43
Grid に突っ込んでるつもりなんですが、できないんです。

↓ やりたいことと現状の比較。
http://www1.axfc.net/uploader/so/2701320.png
322デフォルトの名無しさん:2012/12/04(火) 00:40:40.36
<DataGridTemplateColumn.HeaderStyle>
&nbsp; <Style TargetType="{x:Type DataGridColumnHeader}">
&nbsp; &nbsp; <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
&nbsp; </Style>
</DataGridTemplateColumn.HeaderStyle>
これで
323デフォルトの名無しさん:2012/12/04(火) 00:46:51.53
>>322
ありがとうございます。
ぶじ解決しましたです。
324デフォルトの名無しさん:2012/12/04(火) 09:11:16.48
達者でな
325デフォルトの名無しさん:2012/12/04(火) 14:48:45.80
WPF WindowのAllowsTransparency = TrueにするとWindowsFormsHostが表示されない・・・
ググるとバグらしいんだが.NET 4.5でもなおってないし、誰か詳しい人助けて・・・
326デフォルトの名無しさん:2012/12/04(火) 22:32:14.08
ie9みたく左上にテキスト入力欄があって、
その右にタブアイテムをズラーっとならべたいのにできない・・・
コードビハインドでごりごりやらないと無理なのかな
327デフォルトの名無しさん:2012/12/04(火) 23:00:27.79
タブを右にずらすのはテンプレートを使えばできるけど
そういう凝ったGUI作るんならコードで細かく制御するのはどうせいずれ必要だろうから
もっと低レベルな実装をしたほうがいいかもね
328デフォルトの名無しさん:2012/12/04(火) 23:13:01.57
winformから移行しようと思うんだけどつらいかね?
329デフォルトの名無しさん:2012/12/04(火) 23:13:53.80
ツライ
330デフォルトの名無しさん:2012/12/04(火) 23:15:42.40
>>327
テンプレートですか、調べてみます。
ご指摘の通り、低レベルな実装になりそうな気がしますが
331デフォルトの名無しさん:2012/12/04(火) 23:15:54.60
移行に苦労するならWinFormsでも糞コード書いてた証拠だろうな
たかが上面
332デフォルトの名無しさん:2012/12/04(火) 23:19:53.40
ググって期待する答えが出てくるとは思わないことだ
幸運を
333デフォルトの名無しさん:2012/12/04(火) 23:26:58.32
MVVMの為のような機能を一切使わなきゃそうでもないんじゃね。
Vのみでやって、コマンド、トリガーアクション、メッセンジャーこのあたりを使わなきゃ。
直でformを触れない縛りを課すと勉強せんと絶対詰む。
334103:2012/12/05(水) 16:00:23.60
335デフォルトの名無しさん:2012/12/05(水) 16:28:46.82
VisualStateManagerの内部的な挙動を知りたいんですが、あるStateの時にStoryBoardであるプロパティに値をセットするといったような動作の時、
その他のStateの際は元のXAMLに書かれていた値がセットされるんでしょうか?
たとえば、あるStateになった際に値がセットされた後、ボタンクリックなどでそのプロパティに違う値を入れた場合、別のStateになった際にXAMLに書かれていた値が上書きされると考えればいいんでしょうか?
336デフォルトの名無しさん:2012/12/05(水) 16:42:41.25
そんなに詳しくないけど、XAMLで書いたデフォルト値は上書きされることは無いけど
StoryBoardで更新した値が何もしないで戻ることはないんじゃ無いの?
ただDoubleAnimationで言うと、別のStateでキックした
StoryBoardの初期値(Fromを省略した場合)は最後に設定した値で、
デフォルト値(Toを省略した場合)は元のXMALの値のままって事じゃ無いの?

間違ってたらごめん
337デフォルトの名無しさん:2012/12/06(木) 00:12:49.28
StoryBoardどTemplateの使い分けってなに?
例えばボタンならどっちもそのときの状態でプロパティ変更するじゃん
Blendないとコスト高すぎて採用に足踏みするような機能は使いたくないんだが、おまらがStoryBoardいうから
338デフォルトの名無しさん:2012/12/06(木) 00:40:11.06
要素ツリーの構造自体に影響するような変化はTemplate
見た目に関するプロパティを変更するだけならStoryboard
339デフォルトの名無しさん:2012/12/06(木) 11:37:20.26
俺の場合
単一コントロールの見た目に関するプロパティを変更するだけならTrigger
複数コントロールの見た目に関するプロパティを変更するだけならStoryboard
340デフォルトの名無しさん:2012/12/06(木) 11:40:04.14
いやTriggerってStoryboardを開始するもんだろ
341デフォルトの名無しさん:2012/12/06(木) 11:47:33.79
とも限らんだろ。アクションはだいたいなんでもできる
342デフォルトの名無しさん:2012/12/06(木) 11:52:43.33
そうじゃなくてTriggerとStoryboardの使い分けって意味不明
343デフォルトの名無しさん:2012/12/06(木) 13:24:28.93
Trrigerだと複数のエレメント制御しづらいじゃん
StoryboardはXAMLがひどく冗長になるのでTriggerで済むものはTriggerで対応するよん♪
344デフォルトの名無しさん:2012/12/06(木) 23:48:33.98
だからStoryboardを起動するのにTriggerを使うだろうと言っている
役割の被るものではない
345デフォルトの名無しさん:2012/12/07(金) 00:02:42.29
Storyboardと比較するってことはTriggerじゃなくてTriggerActionのことを言いたいのか?
でも公式のTriggerActionってWPF標準の方にもBlendの方もStoryboard起動したり音鳴らしたりするだけで
プロパティ直接を設定するアクションってあえて用意されてないよね
トリガでプロパティを直接変更するなんてXAMLの役割を完全に逸脱してるからな
346デフォルトの名無しさん:2012/12/07(金) 08:33:51.53
> トリガでプロパティを直接変更するなんてXAMLの役割を完全に逸脱してるからな
長さ0のアニメーションと考えればXAMLの役割のうちの気がする
347デフォルトの名無しさん:2012/12/07(金) 09:40:12.14
xamlの役割とかいう縛りまで課すのか。ご苦労なことだなw
Vの責務かと聞かれればそうだろうし、なにやってもいいと思うんだが
348デフォルトの名無しさん:2012/12/07(金) 12:19:21.84
ユーザーの頭が固い(もしくは固くなる)のが最大の欠陥じゃねーの
349デフォルトの名無しさん:2012/12/07(金) 12:24:45.73
もともとWPFってXAMLで外観書いてコードビハインドで振る舞い書くのを
ビューとロジックの分離って言ってたんだぜ
ビヘイビアあたりからおかしくなった
350デフォルトの名無しさん:2012/12/07(金) 13:10:49.94
ユーザの頭が柔らかくないと使えないツールは欠陥品だろ。
351デフォルトの名無しさん:2012/12/07(金) 13:31:00.78
ホントに意味不明だな
なんでちょっとプロパティ変更するのにわざわざStoryboardとアニメーション用意する必要あるのよ
Triggerで充分じゃん
なんか宗教になってるようでちと怖い
352デフォルトの名無しさん:2012/12/07(金) 13:32:34.31
>>349
ソースきぼんぬ
353デフォルトの名無しさん:2012/12/07(金) 16:20:57.67
金科玉条ってまさにそういうこと
354デフォルトの名無しさん:2012/12/07(金) 16:48:30.63
Blend絶対主義者も宗教だよな
別にBlendあってもいいし俺も稀に使うことあるが、BlendなくてもXAML書けるしVSだけで事が済むならBlend使わなくていいと思う
355デフォルトの名無しさん:2012/12/07(金) 19:24:35.00
Blendに傾倒するならExpress版を出せっ!
356デフォルトの名無しさん:2012/12/07(金) 20:08:39.25
MVVMだとかWPFの
表示系と処理系の分離とかは、良いんだけど、如何せん、フォームに比べて面倒だと思う。
フォームでも設計によっては、データバインディングとかで表示系と処理系を分離させることはできるし、
なんだかかっこいいグラデーションとかそういうのを気にしないようなアプリ作ったりするのに
WPFとかXAMLとかBlendとかどうにも手を出しにくい感があるわ。
357デフォルトの名無しさん:2012/12/07(金) 20:10:31.69
WinFormのデータバインディングはListViewが出てきた途端にどうにもならなくなるのが…
358デフォルトの名無しさん:2012/12/07(金) 20:45:44.24
データバインディングは甘え
359デフォルトの名無しさん:2012/12/07(金) 20:56:49.11
XULみたいに楽なのがいい
360デフォルトの名無しさん:2012/12/07(金) 21:01:13.61
なんて読むの?クシュル?
361デフォルトの名無しさん:2012/12/07(金) 21:02:08.29
ずーる
ゴーストバスターズの悪い神様から取ったみたい
362デフォルトの名無しさん:2012/12/09(日) 17:28:59.80
無料版ではほとんど何もできないことがわかり即時撤退しますた
363デフォルトの名無しさん:2012/12/09(日) 17:36:50.49
複数人での大規模な開発じゃなければ無料版で困ることはない。
364デフォルトの名無しさん:2012/12/09(日) 20:58:43.18
FlowDocumentScrollViewerのスクロールっていじれないのでしょうか
365デフォルトの名無しさん:2012/12/10(月) 08:31:11.43
html5 > flash > silverlight > WPF
366デフォルトの名無しさん:2012/12/10(月) 19:58:46.36
flashは最下位だろ
あれは子供のオモチャ
367デフォルトの名無しさん:2012/12/10(月) 19:59:46.33
HTML5以外のRIAプラットフォームに将来はない
368デフォルトの名無しさん:2012/12/11(火) 00:24:05.02
HTML5で全て解決できるようになるの?
369デフォルトの名無しさん:2012/12/11(火) 00:27:52.42
ActionScript3のWinAPIへの食い込み方見てると、
C#を超えてる部分もあるんだよな
特にマルチメディア関連

以下、股間に食い込み禁止
370デフォルトの名無しさん:2012/12/11(火) 00:47:09.82
おっぱいにならいいんですね?
371デフォルトの名無しさん:2012/12/11(火) 01:28:42.44
元祖ボンテージかぁ
胸熱だな
372デフォルトの名無しさん:2012/12/11(火) 02:01:20.84
HTML5もまだ話半分って感じだよなあ
一蓮托生という気にはとてもなれない
373デフォルトの名無しさん:2012/12/11(火) 02:16:41.58
JSはもう少しカッチリさせて欲しい。変態杉
374デフォルトの名無しさん:2012/12/11(火) 02:17:28.43
変態JS…(ゴクリ
375デフォルトの名無しさん:2012/12/11(火) 02:24:18.52
TypeScript使え
言語自体はC#より綺麗だぞ
376デフォルトの名無しさん:2012/12/11(火) 04:21:09.22
Xamlのどこがスマートなん?
VMSもTriggerもビヘイビアもぜんぜんスマートちゃうやん・・・
もっとこうHTML+CSS+JSみたいにでけへんのん?なんでボタンやイメージの状態遷移だけでこんなめんどいねん、アホちゃうのM$?
Formのカスタマイズを100倍簡単にするか、WPFをもっとプッシュしろやボケェ!!
377デフォルトの名無しさん:2012/12/11(火) 06:21:12.08
あんたかてアホや
378デフォルトの名無しさん:2012/12/11(火) 09:10:01.16
HTML+CSS+JSがスマートだというのか???
379デフォルトの名無しさん:2012/12/11(火) 09:14:08.11
HTML+CSS+JSばかり書かされて麻痺してるコーダーだろ
JQueryすげぇとか言っちゃうタイプ
380デフォルトの名無しさん:2012/12/11(火) 09:58:26.00
タグ打ち込むのが既に面倒
*application1
*button1

button1*
application1*
みたいに書けへんやろか
381デフォルトの名無しさん:2012/12/11(火) 11:57:30.89
HTML+CSS+JSは10人居たら10通りの実装になるからなぁ。アプローチ自体が違ったりとか。
XAMLは少なくともだいたいみんな同じになる。だりーけどな
382デフォルトの名無しさん:2012/12/11(火) 12:29:58.62
よっぽど単純なものじゃないと同じにはならないと思うよw
stack使わない人もいるし
383デフォルトの名無しさん:2012/12/11(火) 12:40:31.20
言葉が悪かった。xamlじゃなくてwpf。xaml自体のツリー構造はまぁ違うだろうけど・・w
384デフォルトの名無しさん:2012/12/12(水) 00:28:10.94
リッチテキストボックスのスクロールって無効にできますか
385デフォルトの名無しさん:2012/12/12(水) 17:38:13.86
ちょっと言葉足らずじゃない?
386デフォルトの名無しさん:2012/12/13(木) 05:15:44.44
GUIだけWPFで作って中身C++とかもできんの?
387デフォルトの名無しさん:2012/12/13(木) 08:59:03.67
直接C++(C++/CLIでない)からWPFを使うのは不可能。
C#やC++/CLIで橋渡しをすれば可能。C++/CLIはWPFのVSサポートが無いので本当にやるならC#。
コード量が倍増しメモリ破壊に悩まされることに見合う効果があるかといえばまず無いけどね。
長時間にわたってCPUフルにぶん回すタスクがあるならそこだけC++にするのはアリ。
388デフォルトの名無しさん:2012/12/15(土) 07:58:50.46
今度もしかしたら、業務でWPFを使うかもしれないんですが、
Gridで千行とか二千行(もしかしたら万まで行くかも)を表示した場合、
IvyBridgeの内蔵GPUでは表示に耐えられない可能性とかってあるでしょうか?
WPFは表示はGPU依存だと聞いたので、CPUではなくGPUが足かせになるのかもと思っているのですが、
現状のGPUだと表示は気にしなくていいレベルなのでしょうか?
(3Dは使わないので、Grid以外、そこまでGPUにシビアな処理はする予定はありません)
389388:2012/12/15(土) 07:59:34.01
すみません、sage忘れました。
390デフォルトの名無しさん:2012/12/15(土) 08:15:33.49
Gridって多分DataGridのことだよね?

文字通りのGridというのはWPFではレイアウトに使うパネルの1つのことで
そのRowDefinitionが1000も2000も並ぶXAMLとか、まずあり得ないよね
多くても2ケタ程度だと思うし

DataGridとかListBoxとかの各行は、
画面に実際に映っていない部分は実体が作られていない
スクロールして画面に入ったところでその部分だけが実体が作られて
スクロールして画面からはみ出たら勝手に破棄される
(これがあるから逆に、消えてしまうものの状態を管理するのに、そこをMVVMで処理しようって話にもなる)

GPUの性能は、その部分に関してはほとんど関係ないと思う
391デフォルトの名無しさん:2012/12/15(土) 08:16:08.04
数万行あったとしてそれをGPUで常に処理すると思ってんの?
392デフォルトの名無しさん:2012/12/15(土) 08:38:18.71
>>390
普通に考えたらそうなるのかなと思うんですが、
今同じようなプログラムがRiaのFlexであるんですが、
(こちらに関しては開発をしているわけではないので中身はわかりません)
これが行数が増えるとすごく重くなるので、
WPFで作っても同じようなことにならないか不安で聞いてみました。
393デフォルトの名無しさん:2012/12/15(土) 08:49:36.07
WPF期待してたのに全然盛りあがんねー
394デフォルトの名無しさん:2012/12/15(土) 09:27:49.94
WPFにWinFormsのコントロールを貼ることができるから、
WinFormsのDataGridViewを使えば爆速だよ
まずはとりあえずデータグリッド貼っとけみたいなクソUIを何とかすることを考えるべきだろ
395デフォルトの名無しさん:2012/12/15(土) 09:31:13.68
WinForm(笑)
396デフォルトの名無しさん:2012/12/15(土) 09:33:06.96
データグリッドなんて使う時点でWPFのメリットなんかどうせ無いんだから
使うんならWinFormsのを使えばいいよ
397デフォルトの名無しさん:2012/12/15(土) 09:40:14.02
なんかレベルの低い人みたいで嫌だよ
398デフォルトの名無しさん:2012/12/15(土) 12:41:42.68
WinForm最強は同意。
399デフォルトの名無しさん:2012/12/15(土) 13:03:48.94
みたいとか何とか
イメージで判断するなら全部そうしろよ
中途半端に他人に意見もとめんな
400デフォルトの名無しさん:2012/12/15(土) 13:19:49.92
データグリッドなんかに頼ること自体がレベル低いだろ
こんなもんUIの敗北だ
WPFならItemTemplateでオサレに作れ
401デフォルトの名無しさん:2012/12/15(土) 13:29:22.58
ダサくて使いにくくて評判悪いよ
402デフォルトの名無しさん:2012/12/15(土) 18:17:15.33
WinFormダサイ
403デフォルトの名無しさん:2012/12/15(土) 18:42:33.07
WinFormのねずみ色がもう恥ずかしいレベル
404デフォルトの名無しさん:2012/12/15(土) 19:09:43.89
色に拘るようになったPGは用済み。
405デフォルトの名無しさん:2012/12/15(土) 20:26:21.25
WinFormでも背景色ぐらい変えれるだろw
無意味に変えてもださいけどw
406デフォルトの名無しさん:2012/12/15(土) 20:34:58.39
>>400は晒しあげる価値がある
407デフォルトの名無しさん:2012/12/15(土) 20:52:38.44
大体において、OS標準から無意味にデザインやUIを変えてあるソフトは
嫌いだな。よほどセンスと使い勝手がいいか、変えてある事になんらかの
意味を見いだせるようなものであれば、受け入れるけど
408デフォルトの名無しさん:2012/12/15(土) 21:22:53.58
いまやOSが勝手に変える時代だしな
e糞plorerにリボンとかあほちゃうかと
409デフォルトの名無しさん:2012/12/15(土) 21:27:16.91
いまだにリボンに馴染めない老害w
410デフォルトの名無しさん:2012/12/15(土) 21:29:09.54
Explorerのリボンは控え目で使いやすいだろ
ただのアイコンがでかいメニューじゃん
411デフォルトの名無しさん:2012/12/15(土) 21:51:39.47
確かにデフォルトの設定だと本当に見やすくなったメニューそのものだね。
縦にべろんって出るんじゃなくて横に出るんだからね。
地味に「コマンドプロンプトを開く」や「PowerShellを開く」の項目がありがたい。
っていうかエクスプローラーにもクイックアクセスツールバー付いてたんだな。
今気付いた。ここまで強力になってれば別途ファイラー入れる必要ないな。
412デフォルトの名無しさん:2012/12/15(土) 22:00:17.34
Explorerのメニューは非常に見やすくて旧来のメインメニューよりずっと良い
全部このスタイルになればいいと思う
413デフォルトの名無しさん:2012/12/16(日) 00:27:36.97
一覧性のないリボンが使いやすいってどんだけw
狭い画面であんなに場所とりやがって。
414デフォルトの名無しさん:2012/12/16(日) 00:30:15.98
Explorerのリボンは折りたたんでおくのが前提で作られてるから
本当にただの視認性の良いメニュー
415デフォルトの名無しさん:2012/12/16(日) 00:36:21.49
いや視認性が悪いんだが、あれ。人間工学無視しすぎ。
416デフォルトの名無しさん:2012/12/16(日) 01:56:41.22
リボンは倉庫で例えると、目録を取り上げられて、
倉庫からなんか取ってこい的な無茶な仕様。バカかと。どこにあるかわかんねーよ
417デフォルトの名無しさん:2012/12/16(日) 02:05:33.40
お前のたとえの方が無茶だよ
418デフォルトの名無しさん:2012/12/16(日) 02:09:15.93
お前には難しかったようだな。もはや哀れだな
419デフォルトの名無しさん:2012/12/16(日) 02:14:47.06
そうそう。項目探すの頭を必要以上に使わないといけない。
420デフォルトの名無しさん:2012/12/16(日) 06:46:25.41
>>415
人間工学考えたらリボンに行き着くよ
421デフォルトの名無しさん:2012/12/16(日) 07:04:07.62
>>413
リボンはプルダウンのメニューよりも格段に一覧性は上がってるぞ
ワイド画面を活用して狭い画面を有効活用している
422デフォルトの名無しさん:2012/12/16(日) 07:06:52.61
そんなトンデモ誰が信じるんだよw
423デフォルトの名無しさん:2012/12/16(日) 07:45:40.85
トンデモって・・・事実やん
お前リボン使った事ないだろ
424デフォルトの名無しさん:2012/12/16(日) 08:04:55.47
ribbon で reborn した interface
425デフォルトの名無しさん:2012/12/16(日) 08:14:56.20
OpenOfficeがリボンの真似したときは総スカンだったけどね。
http://japan.zdnet.com/cio/sp_07microsoft/20398096/
426デフォルトの名無しさん:2012/12/16(日) 08:22:23.15
リボンの良さが理解されてからはMSOffice以外でもリボン採用が進んでるね
Mac版MSOfficeのリボンUIも絶賛されてるし
427デフォルトの名無しさん:2012/12/16(日) 08:25:27.43
2009年www
428デフォルトの名無しさん:2012/12/16(日) 09:23:52.88
シンプルな疑問だけど自作アプリにリボン実装する場合
アイコンはどうしてるんだ?
429デフォルトの名無しさん:2012/12/16(日) 09:25:26.94
リボンでもなんてもいいから消せるオプションだけはつけてくれ
430デフォルトの名無しさん:2012/12/16(日) 09:29:01.76
じじぃは最小化して使えば良いと思うの


























Vistaの罪は重い
431デフォルトの名無しさん:2012/12/16(日) 09:55:33.88
ノートでwin7上でofficeだと縦が限りなく狭い
432デフォルトの名無しさん:2012/12/16(日) 10:02:08.82
なんでノートはあの横長のサイズが流行ってるんだろうね
最近は縦1024以上の探すのが大変
433デフォルトの名無しさん:2012/12/16(日) 10:25:36.73
地デジ化に伴う一般人の大量のテレビの買い替えで、
一般人の画面に対する感覚が、
それまで4:3が標準だったところから16:9が標準に変わってしまった
それが一番の原因かな…?

で、持ち運べる14型15型くらいでフルHDの1920×1080とかそれ以上とかにすると
ドットが細かすぎて見づらかったりするんでドットサイズ的には1366×768くらい
でもこれだと画面狭すぎるんだよな。特に縦。
特にあれでリボン仕様のOffice使えとか拷問に近いぞw

まぁOfficeワークはデスクトップ機で、でかい画面でフルHDでやってくれってことかな
434デフォルトの名無しさん:2012/12/16(日) 10:30:50.62
高DPIが普及するとか言ってたのはどうなったんだ
435デフォルトの名無しさん:2012/12/16(日) 10:31:00.57
血出痔化って日本しかやってないのに
世界中のモニタが影響受けるんだな
436デフォルトの名無しさん:2012/12/16(日) 10:33:30.95
> 血出痔化って日本しかやってないのに
えっ
437デフォルトの名無しさん:2012/12/16(日) 11:03:14.38
>>428
自分で作ったよ
438デフォルトの名無しさん:2012/12/16(日) 13:39:49.71
>リボンの良さが理解されてからはMSOffice以外でもリボン採用が進んでるね

うそつけ
439デフォルトの名無しさん:2012/12/16(日) 13:54:11.23
どんだけ世間知らずなんだ
他のOfficeでもOffice以外のソフトでも、
フリーソフトでも市販ソフトでもリボン見かけること多くなったぞ
440デフォルトの名無しさん:2012/12/16(日) 14:02:43.91
3DCGソフトでもリボンUI使われてるね
441デフォルトの名無しさん:2012/12/16(日) 14:03:04.75
そういや何気に4.5から標準でWPFにリボンコントロール入ったんだよね
442デフォルトの名無しさん:2012/12/16(日) 14:05:25.76
4.5採用するとXP切ることになっちゃうんだよなー
早くXP氏んでくれないかな
443デフォルトの名無しさん:2012/12/16(日) 14:15:42.08
どうせXP切るならD3D1xベースにならねえかなぁ
D3D9だとCanvasライクな重描画をDirect2Dに逃がすことすら辛い…
444デフォルトの名無しさん:2012/12/16(日) 16:03:27.75
XP切ったら仕事がなくなるわw
445デフォルトの名無しさん:2012/12/16(日) 18:34:07.35
俺の周辺だとやっとXPは終焉に向かってるけどなあ
業務アプリメインでコンシューマはあまりやらないからかもしれないけど
446デフォルトの名無しさん:2012/12/16(日) 18:42:24.14
ソフトウェアはともかく誰がOSのサポートすんだろ
447デフォルトの名無しさん:2012/12/16(日) 19:27:43.12
終わったOS使っちゃ駄目だろ
448デフォルトの名無しさん:2012/12/16(日) 20:01:23.36
XPはこれから始まるんだよ。アクチがなくなるからな。
449デフォルトの名無しさん:2012/12/16(日) 21:14:44.18
8使っちゃうと7やxpには戻りたくないわ
マウスでもこれだけ快適ならタッチだともっといいんだろうな
450デフォルトの名無しさん:2012/12/16(日) 21:16:38.64
流れぶった切ってすいません

ListViewでスクロースされてどのItemまで表示されたか知りたいのですが
そういったことは可能でしょうか?
Itemのプロパティのセッター監視して・・・とやってみたら、実際に表示される
少し前に値を取りに来て(あたり前ですが・・・)意図した形になりません
何かいい方法あればアドバイスいただけると助かります
451デフォルトの名無しさん:2012/12/16(日) 21:26:16.55
アクチがなくなった所で著作権は消えないしプロプラでなくなるわけでもない
第三者がサポート会社立ち上げるのは無理があり、フォローもなし
1年も経てば30分で色々なウンコに感染するゴミ箱と化す
452デフォルトの名無しさん:2012/12/16(日) 21:51:03.80
>>443
そのD3D1xも切られるんですがwww

VSのスレ読んで来いよ
453デフォルトの名無しさん:2012/12/16(日) 21:55:02.29
D3DXは廃止
454デフォルトの名無しさん:2012/12/16(日) 21:55:32.83
の間違いだった
455デフォルトの名無しさん:2012/12/16(日) 21:57:31.16
おまえらにFairiesの秘密を教えてやろう。

デブが4人いる。
456デフォルトの名無しさん:2012/12/16(日) 22:03:07.95
>>450
坊やがあと1週間いい子にしてたら、きっと願いが叶うじゃろうて
Ho Ho Ho
457デフォルトの名無しさん:2012/12/16(日) 22:20:58.52
>>450
グーニーズだっけ?
458デフォルトの名無しさん:2012/12/16(日) 22:34:19.85
>>450
基本的に無理そうだけど、ListViewItemのOnRenderをオーバーライドしたら、
どうにかできないかね。itemでどう発生するのか知らないけど・・
459450:2012/12/16(日) 23:15:00.02
>>456-457
ごめん、なんかのネタなのかも知れんけど、全然わからん
ちなみにもう1週間以上悩んでますw

>>458
やっぱ直接は無理なんかね?
もしくは表示されているItemを取得するとかでもいいんだけども
指定Itemまでスクロールすることはできるんだけどなぁ・・・

OnRenderか
ちょっと試してみます
アドヴァイスありがとう
460デフォルトの名無しさん:2012/12/16(日) 23:25:59.65
ListViewItemの側から確認するとか
461デフォルトの名無しさん:2012/12/16(日) 23:35:31.35
>>460
ごめんなさい、分かりません
「ListViewItemの側から確認する」とは具体的にどういうアプローチですか?
ListView内でのItemの位置が取れたりするということでしょうか?
462デフォルトの名無しさん:2012/12/17(月) 00:39:23.80
ごめんそっちは勘違い
ttp://social.msdn.microsoft.com/forums/en-US/wpf/thread/2d527831-43aa-4fd5-8b7b-08cb5c4ed1db/
最初のアイテムはVirtualizingStackPanel.VerticalOffsetで
表示できるアイテム数はVirtualizingStackPanel.ViewportHeightで取れるね
463デフォルトの名無しさん:2012/12/17(月) 15:47:31.46
http://www.microsoft.com/en-us/download/details.aspx?id=11877
これってWindows8だとおかしくなったりしません?
464デフォルトの名無しさん:2012/12/17(月) 18:26:50.40
昔2chブラウザもどきつくってたとき
どのItemが表示されてるかいろいろやったけど
簡単にできるのはなかった
難しいアプローチはあるけど実用的じゃなかった
465デフォルトの名無しさん:2012/12/17(月) 18:53:11.33
>>463
タイトルバーがクラシックになるから.NET 4.5付属の使え
466デフォルトの名無しさん:2012/12/17(月) 22:34:03.36
>>464
>>462はうまく動かんの?
467450:2012/12/17(月) 22:43:48.02
>>462
で、できたよ!ママン!!
ありがとうございます
助かりました

>>464
私も実は2chブラウザもどきつくってました・・・^^;
上のやり方簡単でしたよ
ただ、明示的に取に行かないといけないので、いつとるかがちょっと考える必要ありますけど
表示切り替え時とかにとりに行くと、下まで一度いった後戻ると、一番下が既読にマークできませんしね
468デフォルトの名無しさん:2012/12/17(月) 22:50:28.81
VirtualizingStackPanel内蔵じゃなかったんだよね
469450:2012/12/17(月) 23:02:23.67
>>468
それは何か理由があってですか?
470デフォルトの名無しさん:2012/12/17(月) 23:58:19.15
flowdocument内の一部RunやSpan要素を右寄せにすることってできますか?
471デフォルトの名無しさん:2012/12/18(火) 02:38:12.78
>>467
その調子でVirtual...になんかいべんとないかね?
472450:2012/12/19(水) 22:09:35.56
>>471
返事遅くなりすいません

一応調べてみましたが、スクロールが止まった時のような都合のいいイベントは
なさそうですね
とりあえず、スクロール後に戻したときの対応は放置してまた後で考えようと思います

ありがとうございました
473デフォルトの名無しさん:2012/12/20(木) 19:58:08.51
WPFで2ちゃんブラウザーを作っているんですが
一人で作るのも大変なので、部分的に外部アッセンブリーにして
公開してみました。
興味のある方っているでしょうか?
この辺が駄目って意見も含めてコメント貰えるとうれしいです。

開発仕様書
ttp://neetchan.on.arena.ne.jp/develop/userctrl/docs/userctrl-develop-manual.pdf

ソース配布場所
ttp://neetchan.on.arena.ne.jp/develop/userctrl/index.html
474デフォルトの名無しさん:2012/12/20(木) 20:10:06.38
協力して欲しけりゃリポジトリーでも作った方がええんでわ
俺は興味ないからやらんけど
475デフォルトの名無しさん:2012/12/20(木) 20:24:35.66
せめてGitHubとか使えよ
476デフォルトの名無しさん:2012/12/20(木) 20:26:29.85
ありがとうございます。
リポジトリーですか...
あまり良く理解してないんですが、githubみたいなのを
使うんでしょうか?ちょっと調べてみます。
477デフォルトの名無しさん:2012/12/20(木) 20:50:37.69
>>473
中身詳しく見ないで質問するけど、WPFの2ちゃんブラウザーでAAをずれずに表示はできるのかい?
この前>>473さんのブラウザを試したときは無理だったんだが、設定次第ではずれずに表示できたりするのかい?」
478473:2012/12/20(木) 20:58:31.65
>>477
こちらではフロードキュメントで表示してますけど
ipagp-mona.ttfというフォントが公開されているので
それを指定すると程度の問題はありますが
一応ずれないで表示されると思います。
AA判定文字列を指定して、それにマッチしたレスは
そのフォント(ユーザーが設定)で表示みたいな流れにしてます。
インストールした状態ではずれます。
479デフォルトの名無しさん:2012/12/20(木) 21:02:42.38
>>478
ありがとう、試してみるよ
480デフォルトの名無しさん:2012/12/20(木) 21:58:08.15
>>478
java畑の人?
前にもソースちょっとだけ見させてもらったけどC#の標準的なコーディング規約くらいは守った方がいいと思うよ
メソッドが小文字始まりだったりプロパティ使うべきところでgetter使ってたりね

意欲は非常に素晴らしいと思うけど、何をしたいのかよく分からない
PDFの中もちょっと見たけどこれらC#始める人にいっしょに2chブラウザで勉強しましょうってはなし?
それならコンポーネントの再利用どうこうって話は早すぎると思う
ガチで共有コンポーネント作ろうってなら、何を共有化してどこをで差別化するのか、イメージが固まってないと。。。
少なくともPDFからはそういうビジョンは見て取れない

後者ならちょっと興味ある
ちなみに自分は>>450なんで、たいした事できるレベルじゃないんだけどね
きついこと言ってごめんよ
481478:2012/12/20(木) 22:54:07.15
ありがとうございます。
ちょっと、長文ですが...すみません。

やりたいことというのは単純に高機能な2chブラウザーを
作りたいということになります。

コンポーネント化については、2chブラウザーに必要な機能が
最初に想定していたときよりも多かったので、誰か作ってくれる人がいるかも
と思って、外部DLLアッセンブリを選んだ次第です。
便利な物があったから利用したという目線であって、
なにかこの部分で特別なことをしたいという気持ちはないです。
とりあえずレス一覧部分を部品化して、この方向で発展するような感じがあれば、
残りのGUIの多く部分を同じ様なレベルでコンポーネント化して見たいなぁくらいの気持ちです。

コーディング方法に関しては稚拙な点も多々あると思いますが、
完全な物を作るよりも、まず動く物が無いと始まらないので
スクラップビルドになったとしてもかまわない気持ちで作っています。
こんなレベルじゃ駄目だなぁと思われればそれはそれで仕方ないことですので
あきらめてほかの方向で行こう!となると思います。
バックグランドはしいて言えばC/C++ Windows系みたいな感じです
C#は5月くらいから解説書を読み始めたレベルなので、コーディング規約とか
おかしいところが多いかもしれません...ご指摘いただくのはありがたいです。
482デフォルトの名無しさん:2012/12/20(木) 23:43:42.34
2chサーバとのやり取りとか共有出来るならいいかなー。コンポーネントとしてでなくやり方だけででも。
UIコンポーネントとしての共有は難しそうだけど。まぁそうするとこのスレでやる意義がなくなっちゃうのかな
483デフォルトの名無しさん:2012/12/20(木) 23:57:24.62
既に高機能な2chブラウザあるのに、WPFで新たに作る意義ってなんだろう。
484デフォルトの名無しさん:2012/12/21(金) 00:01:49.34
コードの大部分はWPFと全く関係ない処理だろうしな
485デフォルトの名無しさん:2012/12/21(金) 00:15:59.65
janeは低性能で拡張性がない
486デフォルトの名無しさん:2012/12/21(金) 01:02:25.90
WPFで作り直す意味は薄いと思うが
Delphi以外の言語で作り直す意味はあると思うな

シェアの大きいブラウザが先の無いDelphiで書かれたものが
ほとんどだし
487デフォルトの名無しさん:2012/12/21(金) 01:11:28.39
でもWPFってグラフィックリッチなGUI作れるんじゃ無いの?
3Dとは言わないけど、海外の格好いいフラッシュ多用した
WEBページみたいなの出来たら意外と良いと思うけどな
488デフォルトの名無しさん:2012/12/21(金) 01:49:04.67
フラッシュ多用はめちゃくちゃ嫌われてるのにカッコイイってどういうことだよ?
489デフォルトの名無しさん:2012/12/21(金) 04:39:47.53
2chブラウザって基本テキスト表示するだけなのに
一体どうグラフィックリッチにしたいのか
490デフォルトの名無しさん:2012/12/21(金) 09:58:43.00
今のとこGDIだけを使った奴しかないんじゃないの?
それとWPFならRTに移行出来るかもしれないし
今更というより今からという意味で意味ありそうだけど
491デフォルトの名無しさん:2012/12/21(金) 10:16:53.85
移行の容易さはGUIフレームワークがちょっと似てるから移行しやすいなんてことではなくて
ビューとロジックの分離がきちんとできてるかどうかだろ
その点twinは酷かったからなあ
492480:2012/12/21(金) 11:14:51.77
>>481
ここくらいは目を通しておいた方がいいかも
http://msdn.microsoft.com/ja-jp/library/ms229042(v=vs.100).aspx

個人的な意見だけど、一緒に同じブラウザを開発しようっていうんじゃなければ
共有したいのはUIよりそれ以外のとこだと思うんだよね
異なるブラウザを作成してる人がいたとして、確かにすべてを一人で作るのは
大変だと思う
だから共通化できるところは共通化したいと思うのもわかる
でも、作る以上は他人のブラウザと差別化できないと作る意味ないよね?
そうなると差別化するところって主にUIとかUIに関連する機能の部分だと思うので
そこを共有化しようってのは、ちょっと抵抗がある

それより例えば、2chや外部板や●に対応した通信モジュールとか、datをパースして
オブジェクト化するところとか、そういうところなら共有するメリットは多いと思う
特にレスの解析ロジックとか大変だし・・・

それと他の人もいってるけど、再利用するレベルも考えた方が良いかと
今の段階で漠然とコンポーネント化といっても難しいと思うよ
コンポーネントとして再利用するのではなくて、コードを再利用するレベルから始めた方が良いかもしれない

とりあえずそんなとこ
長文失礼しました
493デフォルトの名無しさん:2012/12/21(金) 11:21:44.21
>>483
> 既に高機能な2chブラウザあるのに、WPFで新たに作る意義ってなんだろう。

iPadのアプリ使ったらJaneとか使いにくかったりこなれてない事が分かった。
機能は多いかもだけどね。
494450:2012/12/21(金) 11:41:52.10
これを言うかちょっと悩んだんだけど、私の場合>>481の人とちょっと似てる
クラウド的な2chブラウザが欲しかったから
あと実際のところはWPFじゃなくてWinRTで作ってる
Metroスレがあまりに過疎ってるのでこっちにお邪魔してます・・・ゴメン

そのうちWPF版にも移植したいので、WPFも並行で調べながらベースを作ってる
のもあるんですけど
非同期実装の差異をどう吸収するか悩み中
.NET4.0以降にしちゃおうかと思ってるけどw
495デフォルトの名無しさん:2012/12/21(金) 11:57:41.62
>>494
C#の非同期って.NET4.5以上じゃないと使えないんだっけ?
F#なら2.0相手でも使えるよ?
496デフォルトの名無しさん:2012/12/21(金) 12:02:59.87
asyncはTargeting Pack入れれば.NET4でも使えるしそもそもTaskで十分だと思うけど
WinRTのAPIは非同期のみだからAPIがかなり違う
497デフォルトの名無しさん:2012/12/21(金) 12:09:12.97
>>493
ほうほうなるほど。是非493の考えるUIを見てみたいもんだ。頑張ってくれ
俺はvb戦士だから参加できんけど・・w
498450:2012/12/21(金) 12:10:46.09
>>495

>>496さんもおっしゃっていますが、非同期処理自体は昔からあります
ただ、新しく追加されたasync、await構文が.NET4.0以降じゃないと対応していません
https://nuget.org/packages/Microsoft.Bcl.Async/1.0.12-beta

それに対してWinRT側は同期的な通信ライブラリがそもそも存在しません
なので、.NET3.5以前の環境とはそもそも通信ライブラリのインターフェースが共通化する
こと自体が難しいです

まぁ、通信処理そのものは大したことないので、datファイルとかをパースするロジックだけ
共通かしてもいいんですけどね・・・
499495:2012/12/21(金) 12:23:39.45
>>498
ごめん、async/awaitの話ね。
通信ライブラリの差異は同じシグネチャーのをインジェクトすればいいと思うけどね。
通信含めた処理をモデル化出来ると良いんだろうけどね( ´Д`)y━・~~
500450:2012/12/21(金) 12:30:46.66
>>499
そうなんですよねぇ
ただそうすると、それらをカプセル化してるインターフェースにはasync/await構文が使えないわけで・・・

どうせ万人に使ってもらおうって代物ではないので、.NET4.0縛りでもいいかなとw
501デフォルトの名無しさん:2012/12/22(土) 15:40:05.92
>>489
まあ、1レススライド方式とか、5レススライド方式とか、
タグクラウドみたいにキーワード抽出とかの可視化とかはWinformとかよりやりやすいんじゃない?
502デフォルトの名無しさん:2012/12/22(土) 16:13:08.10
>>473
開発仕様書を読んでみたが、もともとコード派でXAMLにこだわらない私には
非常に参考になった。WPFにこんな使い方があったのか感心した。
このような自由な発想は素晴らしい。
503デフォルトの名無しさん:2012/12/22(土) 16:24:56.22
WinFormsと同じ、伝統的な普通のコンポーネント指向だろ
MVVMの方が本来イレギュラーで、こういうのがWPFの正しい使い方だよ
504デフォルトの名無しさん:2012/12/22(土) 16:38:47.13
>>503
WPFでMVVMをイレギュラーと言っちゃうのはどうかと思うけれどw
一応、Blend売りたいからか、MS押しだからなぁw

分離に拘る価値があるかは現時点で微妙だが。
505デフォルトの名無しさん:2012/12/22(土) 16:41:02.95
>>504
BlendやVS自身は437みたいな設計だよ
.MVVMはあくまで業務向け
506デフォルトの名無しさん:2012/12/22(土) 16:49:27.65
>>505
既存のリソースの流用だからだろうな。
507デフォルトの名無しさん:2012/12/22(土) 17:01:52.90
>>505
業務用かどうかは知らんが、ユニットテストしたかったら必然的にMVVMにならざるを得ないからな。
WPなどほかのプラットフォームに移植するのを考えてもMVVMにして色々と分離しとかないときつい。

関係ないがRichTextBox、複雑なやつにしてもSurfaceでそれなりに動くな。
美麗なグラフィックというのではないが、タイポグラフィとか使ったナイスな画面を作るのにXAMLで作ったほうが作りやすいだろ。
508495:2012/12/23(日) 07:07:37.72
>>500
async/await使えないってのは4.0縛りなら関係ないんだっけ?
509デフォルトの名無しさん:2012/12/23(日) 10:09:46.55
BindingGroup.BeginEdit()やCancelEditとかってどこにかいてます?
ぐぐってみたらWindowのコードビハインドにかいてるようだけど・・・なんか違うきもする。
510デフォルトの名無しさん:2012/12/23(日) 10:49:06.74
っ コンポーネント化
511450:2012/12/23(日) 17:39:57.67
>>508
遅レスすいません

async/await構文の標準サポートは.NET5.0からになります
ただ4.0移行であればMicrosoft.Bcl.Asyncを導入することでサポート可能です
https://nuget.org/packages/Microsoft.Bcl.Async/1.0.12-beta

ただまだベータなんですけどね
512デフォルトの名無しさん:2012/12/24(月) 02:37:05.45
>>467
ScrollViewer.ScrollChangedってWinRTにはないんですね。
VerticalOffsetPropertyにアタッチしたらどうでしょう?
http://shinichiaoyagi.blogspot.jp/2011/05/wp7-scrollviewer.html

自分も2chブラウザ作ってるので物理スクロールの場合も調べてみましたが、既に書いてる方がいました。
https://mvvmhelpers.codeplex.com/SourceControl/changeset/view/80255#1288897 のUpdateItemメソッド
ちなみに、VirtualizingStackPanel.ComputeIndexOfFirstVisibleItem メソッドでも
コンテナのサイズから計算しているようなので、簡単な方法はなさそうです。
513デフォルトの名無しさん:2012/12/24(月) 08:56:18.62
どぼん!の.NET Tips
514デフォルトの名無しさん:2012/12/24(月) 12:30:05.74
どぼんのサイトって.NET1.1〜2.0時代のWinFormの情報しかないと思うんだが
515デフォルトの名無しさん:2012/12/24(月) 12:32:07.73
あそこWPFはともかくASP.NETくらいはやればいいのにな
516デフォルトの名無しさん:2012/12/27(木) 20:03:55.75
Win32APIを呼び出す関係でWM_APP〜0xBFFFのメッセージをWPFのWindowで受け取る必要があるのですが
この範囲のメッセージをWPFが使ってたりしますか?
517デフォルトの名無しさん:2012/12/27(木) 20:49:56.59
俺らMSの社員か?
518デフォルトの名無しさん:2012/12/27(木) 21:14:28.95
WM_APP以上を使うWin32APIってあったっけ?
RegisterWindowMessageつかって登録するとかでいけないの?
519デフォルトの名無しさん:2012/12/27(木) 21:16:33.00
あーコモンコントロールが使うのかな?
WPFとか関係ないやん
520デフォルトの名無しさん:2012/12/27(木) 21:19:48.90
WM_APP以降はアプリケーション用
ライブラリは使っちゃ駄目な領域だから気にしないで良し
521デフォルトの名無しさん:2012/12/29(土) 16:46:25.46
Windowを非表示状態でShowするにはどうすればいいのでしょうか?
VisibilityをHideにしてからShowしても、一瞬表示されてしまいます。
522デフォルトの名無しさん:2012/12/29(土) 17:57:49.55
なんでshowしなきゃないの?ソッチを書いた方が・・・無理っぽいし。だってshowしてるんだしw
523デフォルトの名無しさん:2012/12/29(土) 19:39:20.20
また2chブラウザネタ入りました〜

経験者談
524デフォルトの名無しさん:2012/12/29(土) 19:42:30.21
事前にレイアウトやサイズが欲しい

showしないと実際のサイズなどを得られない

困る
525デフォルトの名無しさん:2012/12/29(土) 19:45:30.19
次は影のエフェクトつけたポップアップで
ポップアップ間を移動したときに表示を維持する方法あたりか?
526デフォルトの名無しさん:2012/12/29(土) 19:46:20.66
確認する気はないんだけど
表示前にVisualBrushにしてレンダリングするとどうなるの?
527デフォルトの名無しさん:2012/12/29(土) 19:53:45.89
憶測だけど

アンカーの上にポップアップ表示したい場合
表示位置を得るために事前にサイズを知りたい
リッチテキストに内容流し込んだだけなので
表示しないとサイズがわからない
528デフォルトの名無しさん:2012/12/29(土) 19:56:10.62
>>522
PInvokeでウィンドウハンドルが必要なんです
529デフォルトの名無しさん:2012/12/29(土) 19:56:42.51
俺はrenderで縦横0倍にしたり透明にしたりいろいろ試したけど単体で有効な方法はなかった
複合技だね
530デフォルトの名無しさん:2012/12/29(土) 19:57:25.48
はずした><
531デフォルトの名無しさん:2012/12/29(土) 19:57:55.25
>>528
おめでとう
低能力者の想像を全てぶち抜いたぞ
532デフォルトの名無しさん:2012/12/29(土) 19:58:35.09
ポップアップなんてPlacementTargetに丸投げで問題ないだろ
533521:2012/12/29(土) 20:42:32.81
スマートじゃないですが、LeftやTopを画面に映らない位置にすることで解決しました。
534デフォルトの名無しさん:2012/12/29(土) 22:18:11.65
マルチディスプレー環境で問題ないのか?
535デフォルトの名無しさん:2012/12/30(日) 00:49:41.58
labelのcontentにExtended wingdingsを入れたいのですが、どうやって入力すればいいのでしょうか?
http://fay.iniminimo.com/wingdings_extended.html
536デフォルトの名無しさん:2012/12/30(日) 00:52:49.26
質問です。VS2012 WPF4.0 で作成しています。
DateTime型のプロパティ値の時刻部分だけを表示させてその値を編集できるようにするため次のように書きました。

<TextBox Text="{Binding HogeDate,StringFormat=HH:mm}"/>

これで時刻だけ表示することはできたのですが、これを打ちかえると日付部分が今日の日付になってしまいます。

具体的に書くと
1) WindowのコンストラクタでHogeクラスのHogeDateプロパティに 2013/01/01 0:00:00 を設定。
2) 上記のxamlでテキストボックスにバインド。00:00 と表示される。ここまではOK。
3) テキストボックスのTextを 15:00 に打ち変えると
  HogeDateが 2012/12/30 15:00:00 になってしまう。2013/01/01 15:00:00 にしたい。

UI → HogeDate のときに時刻情報しかないのでこうなるのは当然なのですが、
こういうことを実現したい場合、日付と時刻を別々のプロパティに持たなければならないのでしょうか?
(できればHogeDateプロパティだけで日付と時刻を持ちたい。)
537デフォルトの名無しさん:2012/12/30(日) 01:54:51.43
>>536
コンバーター書けばいいんじゃないかな
538デフォルトの名無しさん:2012/12/30(日) 01:58:48.47
だな。wpfは整形の為にバインドソース側で弄るって発想はあんまり良くないと思う。
539デフォルトの名無しさん:2012/12/30(日) 06:37:05.17
HogeDateを自動実装の{ get; set; }にしないで
自前で作ればそのsetter内で処理すればいいだけ
これが一番コードの文字数も少なくて簡単じゃないか
540デフォルトの名無しさん:2012/12/30(日) 11:12:16.99
>>528
WindowInteropHelper.EnsureHandle() でいいんじゃない?
541デフォルトの名無しさん:2012/12/30(日) 15:06:37.03
あるGUI要素について、表示できない領域に移動したりすることをイベントなどで知ることは出来ますか?
スクロールバーでスクロールしたりして、子要素が親コントロールの表示領域から外へ出てしまうようなタイミングが知りたいです。
目的は、外へ出た要素を重要ではないものとしてマークし、最終的にリソースの解放や処理の優先度を下げることができるようにするためです。
よろしくお願いします。
542デフォルトの名無しさん:2012/12/30(日) 16:32:36.86
>>541
>>450 からの流れを追えば応用できるんじゃね。
543デフォルトの名無しさん:2012/12/30(日) 17:08:09.63
なんでわざわざ自前のコントロール作るんだろ
544495:2012/12/30(日) 22:08:17.24
>>543
Virtualization panelとかの応用でいけるん?
545デフォルトの名無しさん:2012/12/31(月) 10:43:54.49
>>540
それを使ったら、何も設定しなくても非表示でウィンドウハンドルが得られました。
ありがとうございました。
546536:2012/12/31(月) 12:06:48.63
>>537,538,539
みなさん回答有り難うございます。

今回の仕様では時刻しか表示/修正しないので >>539 で行けそうです。
後学のためConverterを使った方法にも挑戦してみたのですが、できませんでした。

ttp://ideone.com/TE28Yw

ConvertBackの仮引数valueの値はテキストボックスで入力したHH:mm形式で日付部分がありません。
これをDateTime型にすると結局日付部分がTodayになってしまいます。
ConvertBack内でさらにHogeDateを取得できればいいのですが、そういう方法はあるのでしょうか?
547デフォルトの名無しさん:2012/12/31(月) 12:38:38.32
>>546
ConverterParameter使えばいいんじゃない
548デフォルトの名無しさん:2012/12/31(月) 12:49:06.49
WPF的に正しいのかは知らないけど、public staticな変数作っちゃうのも手っ取り早いかも
549デフォルトの名無しさん:2012/12/31(月) 17:23:52.82
>>546
IMultiValueConverterってので複数渡せる。valueは配列で入って来るし、backは配列で返せばok。
XAML側はMultiBindingで複数書ける。だるいけどな。
550デフォルトの名無しさん:2012/12/31(月) 18:14:34.79
VM用意するのが正解だね
551546:2013/01/02(水) 01:08:26.75
>>547
ConverterParameterを使ってみましたが、
<TextBox Text="{Binding HogeDate,Converter={StaticResource converter1},ConverterParameter=HogeDate}"/>
だと文字列で"HogeDate"と渡されるようで、別の書き方でもどうやって日付型のまま渡せるのかわかりませんでした。
ttp://ideone.com/2mshOj

>>548
・・・どうなんでしょう。できればWPF的に正しい方法が知りたいです。

>>549
IMultiValueConverterでもBackするときは時刻情報しかないのでIValueConverterと同じ状態になってしまいました。

>>550
ViewModelに(ModelのHogeDateを分解して)日付と時刻を別々に持つということでしょうか?


いろいろやってみたのですが、ViewModelを使う方法以外では実現できなかったので、
こういうケース(ソースの一部だけ表示してそれを変更できるケース)ではViewModel使うという結論に至りました。

みなさん回答有り難うございました。
552デフォルトの名無しさん:2013/01/02(水) 01:13:16.15
VMがビューの詳細に依存してるのでほんとは良くないけどね
553デフォルトの名無しさん:2013/01/02(水) 01:30:02.22
あくまで責務とかにこだわるなら、日付型の依存関係プロパティを持った
TextBox?のカスタムコントロールを作るのも手だな。
これならなにも考えずにバインドするだけで良くなる。簡単に使いまわせるし。

俺はどーでもいんじゃねって派だけどw
WPFとMVVMが関連してるのかMSの公式見解がほしいな。
MVVM的に正しいことがWPFとして正しいと言い切れるかどうかってあたりで
554デフォルトの名無しさん:2013/01/02(水) 04:53:10.32
てか、バインド使ってる時点で
VMあることは当然の前提として、539,548と答えてたんだけど
VMない場合ってHogeDateは一体誰が持ってるプロパティなんだろう
555デフォルトの名無しさん:2013/01/02(水) 12:07:18.37
>>551
コンバータをDependencyObject派生にして、依存関係プロパティにHogeDateをBindingしようといろいろしたけど
リソースのオブジェクトにBindingって出来ないのかな。
どうやってもHogeDateの値が入ってくれない。
556デフォルトの名無しさん:2013/01/02(水) 13:09:32.56
つーかさ、コンバータのパラメータは使ったことないけど、
普通に考えて、Bindingに入れ子されてるからってBindingは省略できないんじゃね?
マークアップ拡張で書けないならパラメータは要素構文で書けばバインドできるだろうし。
557デフォルトの名無しさん:2013/01/02(水) 15:04:47.98
>>551
ttp://ideone.com/mpynMZ
これで行けたわ。

基本クラスをDependencyObjectにすると、Bindinの値が反映されないんだね。
半日悩んだわ…
558デフォルトの名無しさん:2013/01/02(水) 18:11:16.15
これもWPFの弱点だね…

認めようとしない人もいるけど
559デフォルトの名無しさん:2013/01/02(水) 20:56:02.03
>>558
普通にコード書けばできるし、もともとWPF以外なら普通にコード書くしかないんだから弱点でも何でもないだろう
WPF特有の+αがあまり有効に使えないだけじゃん
560デフォルトの名無しさん:2013/01/04(金) 15:31:26.91
winformからWPFに移行組なのですが、
基本的にコントロールはコードビハインドで操作しない感じなのでしょうか?

モデル:データを取得、操作
ビューモデル:バインドできるように加工
ビュー:画面コントロール
こんな認識でいいのでしょうか?
561デフォルトの名無しさん:2013/01/04(金) 15:54:05.00
>>560
モデル:基本的に処理はすべてここに書く。
ビュー:GUIを定義する。GUIとモデルの橋渡しをする。
重要なのはこれだけ。WinFormsでも同じ。
WPFではバインドをより有効活用するために特定のビューと一対一で対応するモデル(VM)を設けることがある。
不要だと思われるならVMは省略してもいい。難しく考える必要はない。
562デフォルトの名無しさん:2013/01/04(金) 16:14:30.19
>>561
メッセージボックス出してOKなら処理をするとかのインタラクションやある画面へ遷移するなどのナビゲーションは何処に書く?
563デフォルトの名無しさん:2013/01/04(金) 16:38:14.05
VMありならVMかV、ないならV
VMでやるんならVMが直接GUIに依存しないように
サービスクラスにGUI操作を詰め込んでインターフェイス経由で呼ぶ
メッセージを使う方法もあるがお勧めしないな
564デフォルトの名無しさん:2013/01/04(金) 17:02:57.76
だったらコードビハインドに書いて、インターフェースで限定して渡せばいいような気がするw
565デフォルトの名無しさん:2013/01/04(金) 17:20:45.65
>>564
メッセージの代わりならそれでいい
コモンダイアログ類は独立したクラスの方が共通化できて便利
画面遷移もPrismみたいに遷移先のビュー名をサービスに渡す形で共通化できるよ
566デフォルトの名無しさん:2013/01/05(土) 13:40:35.18
MFC、ATLが捨てられたようにWinformが捨てられたようにねWPFも捨てられる。
保守性なんか気にするな。適当に設計して書けばよい。
567デフォルトの名無しさん:2013/01/05(土) 21:17:26.81
テンプレートの適用の仕方について質問です。

テンプレートをリソースとして以下のように定義して
<Window.Resources>
  <DataTemplate x:Key="MyTemplate">
    <!-- 略 -->
  </DataTemplate>
</Window.Resources>

これを適用する場合、

<ListView ItemTemplate="{StaticResource MyTemplate}"/>

としますが、以下のようなプロパティ要素を使用した書き方で適用させるにはどうしたらいいのでしょう?

<ListView>
  <ListView.ItemTemplate>
    <DataTemplate>
      <!-- MyTemplate を適用させたい -->
    </DataTemplate>
  </ListView.ItemTemplate>
</ListView>
568デフォルトの名無しさん:2013/01/05(土) 21:22:27.07
<StaticResource ResourceKey="MyTemplate" />じゃないの
569デフォルトの名無しさん:2013/01/05(土) 23:32:05.74
>>568
Template コンテンツ セクションのルートに型 'System.Windows.StaticResourceExtension' の要素を含めることはできません。
FrameworkElement および FrameworkContentElement 型のみが有効です。

と怒られてしまいました。
570デフォルトの名無しさん:2013/01/06(日) 00:07:09.83
じゃぁできないんじゃないの。
要は外観を持ってる要素を直接でしか入れ子できないと言ってるんだし。
571デフォルトの名無しさん:2013/01/06(日) 00:28:05.99
そうですか。ありがとうございました。
572デフォルトの名無しさん:2013/01/06(日) 07:54:05.66
DataTemplateが2重になってる
StaticResourceだけでいい
573デフォルトの名無しさん:2013/01/06(日) 17:45:06.94
結局、無駄だらけで遅くなるのか。
574デフォルトの名無しさん:2013/01/07(月) 15:51:37.86
いつの間にかBlend終わってるじゃん
望んでた方向だけど
http://www.forest.impress.co.jp/docs/news/20121221_579871.html
575デフォルトの名無しさん:2013/01/07(月) 16:57:51.90
Blend代返せよクソが!反発大きかったか、普及の妨げになると判断したんだろうな…
MSのくせにGUIビルダは別途金払えはナイわ
576デフォルトの名無しさん:2013/01/07(月) 18:58:48.36
Blend無料化なんだろうな
いつになったら製品版がでるんだろうか・・・
577デフォルトの名無しさん:2013/01/07(月) 19:52:11.23
デザインをダウンロードしてみたけど
なんとなくフリーウェアレベルだよな

図形揃えたりするのってどこでできるんだろ…
578デフォルトの名無しさん:2013/01/07(月) 20:08:16.03
jojoに使い方が解ってきた
形式変換やペンパターンはフリーウェアじゃここまで充実してないけど
チョイつらい
カスタマイズできないのかなあ
579デフォルトの名無しさん:2013/01/07(月) 20:09:23.35
Binding以外WPFに興味ないし無料でもいらねー
580デフォルトの名無しさん:2013/01/07(月) 20:12:26.25
今のpreviewでも十分すぐる
581デフォルトの名無しさん:2013/01/07(月) 20:40:50.28
Microsoft Expression Design
色のスライダー激しく動かしたら落ちた
582デフォルトの名無しさん:2013/01/07(月) 20:55:46.02
やさしく、やさしく、ね
583デフォルトの名無しさん:2013/01/07(月) 21:13:24.46
去年Open Value3年分割で買ったBlend4どうしてくれんだよ
584デフォルトの名無しさん:2013/01/07(月) 21:20:58.98
大事につかいーや
585デフォルトの名無しさん:2013/01/07(月) 21:30:46.89
I recently purchased Expression Studio 4 Ultimate or Expression Studio 4 Web Professional and would like a refund.
1.Contact the retailer you purchased it from to see if your purchase is within their return policy
2.If your purchase is not within the retailer return policy: ?North America: submit your refund request through the Microsoft Money Back Guarantee program
?Outside of North America: contact the nearest Microsoft subsidiary for assistance
586デフォルトの名無しさん:2013/01/07(月) 21:34:28.95
あっ、Blendは違うのか
587デフォルトの名無しさん:2013/01/07(月) 21:35:06.94
捨てられる技術だとは分かってたことだろ。
588デフォルトの名無しさん:2013/01/07(月) 21:49:24.80
捨てられたのはDesignerとWebで
BlendはVSと統合だぞ

統合するならショートカットをVS基準にしてほしいわ
589デフォルトの名無しさん:2013/01/07(月) 22:27:59.15
Livetを使って開発しようと思うんだけど、何か注意する点とかってありますか?
590デフォルトの名無しさん:2013/01/07(月) 22:36:16.91
あまり有難がって使うなよ
新興宗教の信者みたいになるぞ
591デフォルトの名無しさん:2013/01/07(月) 23:18:18.60
あなたのおすすめを教えて下さい。

あと、コマンドにCanメソッドがあると思うんですが、それだとEnableしか切り替えられませんよね
それをVisibleも切り替えられるようにするにはコマンドとは別にプロパティを用意するしかないのですか?
592デフォルトの名無しさん:2013/01/08(火) 00:39:18.68
VMを定義して専用にプロパティを設けるしかなかろう。
593デフォルトの名無しさん:2013/01/08(火) 00:47:52.15
>>591
MVVMか?
DelegateCommand使うスタイルではCanExecuteは使うな。煩雑になるだけ。
>>592が言ってるようにプロパティとバインドすればいい。
594デフォルトの名無しさん:2013/01/08(火) 02:14:06.63
>>589
-作者の言うことを真に受けない
-あくまでサンプルコードの一つとして考える。MVVMはアプリの用件に応じて個別に設計するもの。
-その際にはPrismなど他のも参考にすること。
595デフォルトの名無しさん:2013/01/08(火) 06:47:06.89
>>591
スタイルで自要素のIsEnabledにトリガーを設定したら
596デフォルトの名無しさん:2013/01/08(火) 18:59:58.22
>>593-595
無事できました。
有難うございます。

もうコマンドをやめて、直でメソッドを紐付けようと思います。
それでEnableとVisibleを別プロパティで持たせれば、統一感が取れますし、分かりやす行くなるかなぁと。
597デフォルトの名無しさん:2013/01/08(火) 19:59:08.37
ReacticeaPropertyとか使ってる人おる?
598デフォルトの名無しさん:2013/01/09(水) 21:25:14.22
トリガーで別のコントロールのプロパティを変えることって出来ますか?
例えば、チェックボックスのTrue、Falseでテキストボックスの背景を赤、青に変えたりです
599デフォルトの名無しさん:2013/01/09(水) 21:36:53.09
>>598
一瞬で終わるStoryboardを使う
600デフォルトの名無しさん:2013/01/09(水) 21:43:23.46
テキストボックス側のDataTriggerのBindingでElementNameを指定したら?
601デフォルトの名無しさん:2013/01/09(水) 22:45:18.70
プロパティを作るのが一番簡単でわかりやすいような気もするが
602デフォルトの名無しさん:2013/01/09(水) 22:49:58.94
見た目だけの問題ならStoryboard推奨。MSも多用してる一般的な方法。
論理的な意味があるんならVMのプロパティを経由するのがいいと思う。
603デフォルトの名無しさん:2013/01/09(水) 23:57:28.25
TabControlのTabItemをUserContorolで動的に作成してて(ViewModel にViewを適用するやり方っていえばいいのかな?)
UserControlにはFrameを貼り付けてFrame.Sourceに各ViewModelのURIをバインドしてるんですが
Tabを変えるごとにFramの中身が再読み込みされてこまっています。(FrameのNavigateイベントが起こっている)
再読み込みされないようにするにはどうすればよろしいでしょうか。
604デフォルトの名無しさん:2013/01/10(木) 13:09:12.42
自前でコントロールするしかないと思う

TabControl.ContentTemplateを使ったものを
作ってみたけど同じ挙動になった

FrameでNavigationUIVisibility="Visible"にすると
タブ切り替えるたびに戻るボタンで戻れるページが増えていくのがわかる
UserControl_Loadedにブレークポイントを置くと初回に一回だけ呼ばれて後は呼ばれない
UserControlを1個作ってページ間共用してるようだ
605デフォルトの名無しさん:2013/01/11(金) 11:39:45.99
WPFって流行ってる?
VB6アプリの移行先を検討してるんだけど、
WindowsFormはオワコンだよね?
606デフォルトの名無しさん:2013/01/11(金) 11:44:32.10
クライアントアプリ自体オワコンだよ
ASP.NETでやれ
607デフォルトの名無しさん:2013/01/11(金) 11:58:33.83
求人みたらわかるよな
608デフォルトの名無しさん:2013/01/11(金) 12:02:40.64
ツール的なアプリ(VSとか2chブラウザとか画像編集ソフトとか)にはWPFみたいなものはまだまだ必要だろうけど
MVVMを適用するようなタイプのクライアントアプリは死滅するだろうな
609デフォルトの名無しさん:2013/01/11(金) 12:26:30.99
>>608
良くわからん
ツール的なアプリをMVVMで作っちゃダメと読めるけど、そんな事も無いだろ
610デフォルトの名無しさん:2013/01/11(金) 12:33:17.38
VB6の移行先ならいかにオワコンでもFormsの方がいいぞ
なぜなら開発者の頭が確実についていかない(いけない)から
611デフォルトの名無しさん:2013/01/11(金) 12:33:52.00
典型的なMVVMをそのまま適用するのは難しいんじゃない?
Livetみたいなのは業務向けだと思う
コマンドを動的に増やせるMVVMのバリエーションとかあってもいいと思うけどな
612デフォルトの名無しさん:2013/01/11(金) 12:59:49.75
業務システムのVB6アプリなんですが、
MVVMの説明とか読んでみてもいまひとつピンと来なかったので、
やっぱりWindows Formsの方が良さそうですね。
613デフォルトの名無しさん:2013/01/11(金) 13:08:16.35
>>612
ならASP.NET(WebForms)にしとけ
614デフォルトの名無しさん:2013/01/11(金) 13:09:44.12
古い分枯れてるから、Windows Formsが一番無難だよなあ
見栄えで凝らなくちゃいけないとか、WPFの開発スタイルに魅力
を感じるとか、あえて選ぶ理由があるならWPF選んでもいいだろうけど
615デフォルトの名無しさん:2013/01/11(金) 13:12:35.93
MVVMの考え方自体は、良いと思うがXAMLがなんとも面倒すぎるのがな。
616609:2013/01/11(金) 13:43:18.17
>>611
いや、だからなんでかなと
Livetは使ってないけど2chブラウザをMVVMの勉強がてらつくってるけどMVVMだからやり難いってのはないと思うけど

使い捨てするレベルのツールなら確かにMVVMは不要だと思うけど
617デフォルトの名無しさん:2013/01/11(金) 13:54:03.24
>608-609
GoogleDriveが使いやすいと思ってるひとには医院で内科医
618デフォルトの名無しさん:2013/01/11(金) 13:59:17.63
ちょっと言ってることがわからない
619デフォルトの名無しさん:2013/01/11(金) 15:14:12.82
WPFはツール類に向いてない
richtextboxに7000行程度のLOG表示してサイズ変えただけでガクガクする
620デフォルトの名無しさん:2013/01/11(金) 15:43:57.15
>>616
MVVMの基本的な構造じゃなくて、今の典型的な実装には問題があるってこと。
直接VMのメンバとしてDelegateCommandを並べるスタイルには拡張性がない。
Janeなんかメイン画面に膨大な数のコマンドがあるけど、
それ全部一つのVMクラスに置くことになってしまう。プラグインのような仕組みも作りにくい。
VSがやってるみたいに(GoFの)Commandパターンで柔軟に拡張できる仕組みが必要。
621デフォルトの名無しさん:2013/01/11(金) 16:02:39.21
WPFのイメージって、お天気とか、株価。トランプゲーム等、ちょっとした小物を
一般受けしやすそうに見栄え兼ねて作る感じだと思う。あれこれ機能があるものに関しては、作りにくそうだし重くなりそう。
622デフォルトの名無しさん:2013/01/11(金) 18:24:53.23
PrismもLivetに代表されるような典型的なMVVMでは、拡張性といえば画面を増やせることなんだよ
コマンドを増やしていくことは考慮されてない
業務アプリはそれでいいんだけどツール系は大抵コマンドしか増やさないからな
623デフォルトの名無しさん:2013/01/11(金) 19:06:51.82
つまり窓口受付とか帳簿入力みたいなフロー中心の業務システムにはまぁ向いてるけど、
1画面でデータ分析したり、EclipseやVisualStudioみたいなツール作るには向いてない、と。
624デフォルトの名無しさん:2013/01/11(金) 19:29:09.43
それは気のせい
625デフォルトの名無しさん:2013/01/11(金) 20:29:07.44
まぁ知っておいて損はないだろうな
うちの新人がどうせプログラムなんてすぐにバージョンアップかなんかで変わるから、そこまで覚えなくていいんですよとか言ってたわ
そいつはコピペばっかりやって、周りに迷惑かけまくってるけどね・・・
626デフォルトの名無しさん:2013/01/11(金) 20:55:34.40
MSに関して深入りするだけ無駄だってのは同意するぜ
QtかGTKでも使ってた方がマシ
627デフォルトの名無しさん:2013/01/11(金) 21:18:58.09
Qtは息が長いけど進んで覚えたいとは思わんね
628デフォルトの名無しさん:2013/01/11(金) 21:21:01.29
ちょこちょこ更新されていくのとアーキテクチャが一新されるのとどっちがいいかって
629デフォルトの名無しさん:2013/01/11(金) 21:36:04.89
プログラムなんてちょこちょこ出来ればそれでいいわ
全く別の業界に転職したい
630デフォルトの名無しさん:2013/01/11(金) 21:43:26.09
一気に取り替えようとするから大抵詰まるのにな
暗黒大陸に放り込むようなもんだ
631デフォルトの名無しさん:2013/01/11(金) 21:55:34.39
今日逃げたら、明日はもっと大きな労力が必要になるぞ(脅し)
632デフォルトの名無しさん:2013/01/11(金) 22:14:31.15
次が出たらWPFほっといて次行けってことだな
633デフォルトの名無しさん:2013/01/11(金) 23:00:55.82
MSがXAMLファミリ全部捨てたら電凸する
うぉぉぉおおい!ってなるわw
634デフォルトの名無しさん:2013/01/11(金) 23:12:10.66
XAMLは亡くならないだろ
635デフォルトの名無しさん:2013/01/12(土) 01:26:12.69
WPFでタスクトレイ関係は結局実装されないのか
どうしてそこまで頑なに拒否するのか・・・・
636デフォルトの名無しさん:2013/01/12(土) 01:28:05.91
WPFと関係ないし普通WinFormsと併用するもんだろ
637デフォルトの名無しさん:2013/01/12(土) 01:54:07.73
WPFの案件ってブラックでデスマーチばかりだし。
638デフォルトの名無しさん:2013/01/12(土) 02:05:43.23
WPFの案件なんて都市伝説でしょ?
639デフォルトの名無しさん:2013/01/12(土) 02:51:44.07
WPFの案件ってPC知らないおっさんが、見栄えだけで
なんだかかっこいい、だけのイメージで発注するようなそんな感じだよな。
640デフォルトの名無しさん:2013/01/12(土) 04:20:53.34
タスクトレイ今更WPFに入れるよりWindows 7 API Code Packみたいにしてほしいな
641デフォルトの名無しさん:2013/01/12(土) 07:13:06.53
タスクトレイってWin7や8ではあんまり使わないよね
642デフォルトの名無しさん:2013/01/12(土) 10:35:31.32
<Window.Resources>
<DataTemplate x:Key="DataTemplate1">
<Label Name="label" Content="Label"/>
</DataTemplate>
</Window.Resources>

<Button Name="button" ContentTemplate="{DynamicResource DataTemplate1}"/>

とやったときにバインドを使わずにC#からDataTemplate1のlabelを得るにはどうしたらいいのでしょうか。

button.ContentTemplate.FindNameを使用すればいいのかと思いましたが
第二引数のtemplatedParentが分かりませんでした。
643642:2013/01/12(土) 10:51:50.82
>>642
FindNameのtemplatedParent引数にはContentPresenterを渡したらとってこれました。
644デフォルトの名無しさん:2013/01/12(土) 10:55:41.06
なんでName?
一意ならテンプレート使う必要ないだろ
645デフォルトの名無しさん:2013/01/12(土) 11:08:24.38
ダイナミックに名前を変えたいんです




以上
なりすましでした…
646デフォルトの名無しさん:2013/01/12(土) 15:48:01.43
ドラッグ&ドロップってUI層だしコードビハインドで処理すると思うんですが、
その結果VMのDelegateCommand(よくあるプロパティになってる実装)を
実行する場合って、どうしたらいいんでしょうか。

とりあえず検索しまくってみたら、海外のサイトで
DataContextにVM入れてたら
それをVMの型にキャストして参照を取得すれば?ってあったので
その方向で考えているんだけど、
バインドとかの仕組みではできないのかな。

# レスにお礼を言おうと思ったら規制されてるかもしれません。
# 今はたまたま解除されてるけど。
# 前もって「回答ありがとう」って書いておきますね。
# スレは見てますんで。
647デフォルトの名無しさん:2013/01/12(土) 16:07:13.45
さようなら。挫折しました。
648デフォルトの名無しさん:2013/01/12(土) 16:23:10.59
その選択はおそらく正しい
649デフォルトの名無しさん:2013/01/12(土) 18:42:22.21
MVVM厨は責任を取らなきゃならないな。俺も自分が正しいと思うのを確立するのに
ずいぶん振り回された。いろんなサイトで
650デフォルトの名無しさん:2013/01/12(土) 19:01:03.95
どうでもいいけど次はD&Dが楽だといいね
651デフォルトの名無しさん:2013/01/12(土) 19:53:43.09
さっさとXAMLを隠蔽してください。
652デフォルトの名無しさん:2013/01/12(土) 20:52:42.13
主体性のない自らをまず省みたらどうか
653デフォルトの名無しさん:2013/01/13(日) 00:23:57.16
AVG2013のUIが糞なんだけど、これがWPFというやつ?
654デフォルトの名無しさん:2013/01/13(日) 02:51:02.00
見てみたけどUIはノートンのパクリだな。
見ただけでWPFだって分かるような特徴はないぜ。デザイン次第。
グラフィカルだからってWPFとは限らん。
655デフォルトの名無しさん:2013/01/13(日) 11:13:35.25
動かせばわかるだろ
656デフォルトの名無しさん:2013/01/13(日) 13:20:34.96
ListBoxのItemをダブルクリックしたらそのItemの背景色が白、青に変わるようにするにはどうしたらいいですか?
657デフォルトの名無しさん:2013/01/13(日) 13:32:13.93
マルチしね
658デフォルトの名無しさん:2013/01/13(日) 18:24:06.01
普通のWinFormsで作っているアプリがあるのですが
そこにWPFのウィンドウを追加することって可能でしょうか?
659デフォルトの名無しさん:2013/01/13(日) 18:47:41.29
当然可能。WinFormsのフォームにWPFのコントロールを貼ったりその逆も可能。
WPFで作ってても、どうでもいいちょっとしたダイアログなんかは
WinFormsを使ってもいいと思う。デザイナ軽いし。
660デフォルトの名無しさん:2013/01/13(日) 19:04:22.04
>>659
あざーす。
早速本屋にいってWPFの本買ってきます。
661デフォルトの名無しさん:2013/01/13(日) 21:59:56.31
Welcome to WPF hell !
662デフォルトの名無しさん:2013/01/13(日) 22:02:20.81
本買うのか。how to本的なのは勿体ない気がするなぁ。応用的なのならいいかもだが。
基本なら@ITあたり見れば分かるだろうし。
663デフォルトの名無しさん:2013/01/14(月) 01:23:58.64
何がHowToで何が応用と言ってるのかわからんけど、一度体系だってきちんと勉強するには本読むのはいいんじゃないの?
Webでやってると知識が興味あるところに偏って、全体を把握できなくなりがちだし

まぁ俺がアホだから必要なだけかも知らんけどw
664デフォルトの名無しさん:2013/01/14(月) 01:36:10.03
まぁそのへんは好きにしたらいい
665663:2013/01/14(月) 01:45:14.30
あ〜一応念のため、俺は>>660じゃないっす
666デフォルトの名無しさん:2013/01/14(月) 04:36:16.88
てか、日本でまともなWPFの本って売ってる?
本でいいなと思ったのは洋書(Pro WPF in C#)だけど、
分厚くて重すぎて、とても本屋から持って帰る気がしないw
667デフォルトの名無しさん:2013/01/14(月) 10:19:16.10
今後はWPFが標準になるんだよね?
668デフォルトの名無しさん:2013/01/14(月) 11:04:03.63
HTMLでしょ
WPFの有効な使い道はVSみたいなタイプのアプリだけなんだから、
MVVVとか言ってないでVSシェルのライブラリ化はよ
669デフォルトの名無しさん:2013/01/14(月) 12:29:53.57
マイクロソフトはWin Formからの移行に完全に失敗したよな
670デフォルトの名無しさん:2013/01/14(月) 12:39:13.93
フロー系→Webでいいじゃん
ドキュメント&コマンド系→WPFの得意分野だが需要が多くない。簡単なものはWebへ
マルチメディア系→ストアアプリやPC以外のデバイスへ
671デフォルトの名無しさん:2013/01/14(月) 12:51:37.41
>>669
VBの時と同じだね
VB.NETになって使いこなせない奴続出
672デフォルトの名無しさん:2013/01/14(月) 13:10:51.48
c#はあんなに使いやすいのに、VB.NETはそんなにハードルが高いのか。
673デフォルトの名無しさん:2013/01/14(月) 13:16:20.54
いや、VB6使いがオブジェクト指向に尻込みして
VB6にしがみついたまま移行しなかったんだよ
674デフォルトの名無しさん:2013/01/14(月) 13:17:42.11
そんなカスはVB6と一緒に引退したほうが世のため
675デフォルトの名無しさん:2013/01/14(月) 14:25:08.89
VB.NETは2005でFormがデフォルトインスタンス持てるようになってダメだと思った
676デフォルトの名無しさん:2013/01/14(月) 14:29:15.79
VBは、ラムダとか匿名関数使うのにもいちいち
Functionだとか書かないいけないのがださいし、冗長だと思う。
677デフォルトの名無しさん:2013/01/14(月) 14:32:32.10
クソ言語を避けてFuncとかいう20世紀臭い省略語になったのが気に入らない
678デフォルトの名無しさん:2013/01/14(月) 14:39:47.18
デリゲート型はいらなかったな
TypeScriptみたいに (int, string)=>int hoge; でよかった
679デフォルトの名無しさん:2013/01/14(月) 15:01:47.66
スレ的に{Binding RelativeSource={RelativeSource AncestorType={x:Type Grid}}, Path=DataContext}
とかを責めるべき
680デフォルトの名無しさん:2013/01/14(月) 15:07:00.96
>>679
セレクタの条件自体が複雑だから誰が作ってもそうなるだろ
他じゃそこまで複雑なことはそもそもできない
681デフォルトの名無しさん:2013/01/14(月) 15:23:31.87
メトロアプリでHTMLが使えるならより汎用性の高いHTML使う流れになっていくだろうし、
WPFの出番はなくなっていくだろう
今後の流れとしてはデスクトップアプリUIでもHTMLが使えるようになり、
それがスタンダードとして認められていくことになると思う。
そしてそこにWPFとWPF技術者(爆)はいない。
682デフォルトの名無しさん:2013/01/14(月) 16:43:36.31
結局 WPFとはなんだったんだ?
683デフォルトの名無しさん:2013/01/14(月) 17:05:41.96
HTMLよりXAMLのほうが使いやすいよ
684デフォルトの名無しさん:2013/01/14(月) 17:13:40.84
HTMLの膨大な資産の前には少々の使いやすさなんて無意味
685デフォルトの名無しさん:2013/01/14(月) 17:32:51.12
定期的にHTML厨湧いてくるな
686デフォルトの名無しさん:2013/01/14(月) 17:37:50.43
最終的にはみんなHTMLに行っちゃう気がするけど…
687デフォルトの名無しさん:2013/01/14(月) 17:54:20.83
そもそもメトロアプリの出番がない。ユーザーが使いにくいと拒否反応を示す。

UI変えるというのは宗教変えるみたいなもんだね。
688デフォルトの名無しさん:2013/01/14(月) 18:03:53.38
Win8使ってないし
負け組の極みみたいなWPも使ってないし
接点が皆無
689デフォルトの名無しさん:2013/01/14(月) 18:07:46.61
ネイティブアプリが無くなることはまだ当分ないだろうが、
Webで十分なものをネイティブで作るのはアホ
昔ほど必要性は小さくなったけど完全に無くなってしまったら困るニッチ技術として細々とやるしかない
690デフォルトの名無しさん:2013/01/14(月) 18:12:50.14
一般向けはWebで業務向けはWPFに落ち着くと思うけどな
691デフォルトの名無しさん:2013/01/14(月) 18:17:04.79
>>690
それこそWebだろ
WPFが適してるのは用途問わずメイン画面で色々作業するアプリだ
692デフォルトの名無しさん:2013/01/14(月) 18:19:41.38
今の業務でもクライアントアプリ使ってませんけど今後WPFが進出してくるってことですか?
ASP.NETで十分だろ
693デフォルトの名無しさん:2013/01/14(月) 18:23:39.01
沢山のゴミみたいな画面間を遷移しまくるアプリをWPFで作るのは阿呆の極み
MVVV(笑)
694デフォルトの名無しさん:2013/01/14(月) 18:25:25.10
フレームワークとしては大雑把だし
アーキとしては混沌としすぎている
695デフォルトの名無しさん:2013/01/14(月) 18:39:21.53
>>693
WPFってウイザード作るのに向いてないの?
696デフォルトの名無しさん:2013/01/14(月) 18:44:04.34
受発注系業務や管理アプリは大体webに移りつつある
こんな時代が来るとは思ってなかった
697デフォルトの名無しさん:2013/01/14(月) 18:47:18.25
業務アプリってグリッドのイメージなんだけど、Webでグリッド編集って正直微妙じゃない?
698デフォルトの名無しさん:2013/01/14(月) 18:56:07.89
そのイメージが微妙なんじゃないか
奴等はエクセルが読み込めれば何の文句も言わない
飼いならされているな
699デフォルトの名無しさん:2013/01/14(月) 19:02:14.33
質問してもいいでしょうか?
700デフォルトの名無しさん:2013/01/14(月) 19:06:30.83
>>698
まさにその通りだな
Excelのフォーマット改ざんされるのが落ちだけどw
701デフォルトの名無しさん:2013/01/14(月) 21:02:50.61
株式のリッチアプリを作ってるが今度はXAML系でやる予定。
702デフォルトの名無しさん:2013/01/14(月) 21:15:41.75
あ、ああ・・・無理はしないようにな
703450:2013/01/15(火) 00:44:13.08
スキャナとかのデバイス操作する系はネイティブじゃないと作れないじゃん
まぁWPFである必要性はないけど
704デフォルトの名無しさん:2013/01/15(火) 00:49:16.87
一個人ユーザーとしてなら、色々こだわりがあるからWebアプリは
好きじゃないけど、会社で使う業務アプリなら、Webアプリで
十分かな
705デフォルトの名無しさん:2013/01/15(火) 00:58:13.89
業務アプリがリッチアプリなとこは現場の要望だろうけど
そこを重視する企業はもうダメだろ
706デフォルトの名無しさん:2013/01/15(火) 04:46:22.13
WinForms最強ってことか
707デフォルトの名無しさん:2013/01/15(火) 08:31:17.68
業務アプリ作ってるけど、まったく技術力がついてないわ
毎回同じ作業の繰り返しで新しいものを導入しようとする気がない
708デフォルトの名無しさん:2013/01/15(火) 08:55:11.41
まあ業務アプリなんて保守的な技術で作らないとね
709デフォルトの名無しさん:2013/01/15(火) 11:26:05.48
WebFormsは死にそうなのにWinFormsは息長そうだな
710デフォルトの名無しさん:2013/01/15(火) 11:26:06.59
透明なウィンドウ上で絵を動かしたく、ググってとりあえず下記までできました。
しかし、これですと前の絵が残ったまま描画されてしまいます。
絵を描画する前にクリアしたいのですが、どうすればクリアできるでしょうか?
http://codepad.org/orM3gkNj
711デフォルトの名無しさん:2013/01/15(火) 11:36:33.18
WinFormsの固定概念を捨てろ。
XAML系ではDrawingContextの類は基本使わない。要素を組み合わせて大抵のことはできる。
712デフォルトの名無しさん:2013/01/15(火) 11:50:38.29
WPFはせっかくオブジェクトを宣言的に組み合わせて描画するという昔のVBっぽいやり方に回帰したというのに
VBerにも描画コンテキスト脳が染み付いてしまったんだな
VBのせいで前者は頭悪そうで後者が頭良さそうみたいなイメージがあるけど
GUIフレームワークとしては前者の方が本来どう考えても正しいわな
713デフォルトの名無しさん:2013/01/15(火) 11:51:13.32
>>711
すみません。WinFormsの概念に凝り固まってます。
とりあえずbmp.Clear()でクリアはできました。
714デフォルトの名無しさん:2013/01/15(火) 12:09:49.46
>>713
WPFならこうやる
http://codepad.org/7sZMmytZ
715デフォルトの名無しさん:2013/01/15(火) 12:36:24.15
>>714
ありがとうございます。すごいです。
動きもすごく滑らかです。
716デフォルトの名無しさん:2013/01/17(木) 08:37:02.04
ウィンドウの右下のほうにボタンを置きたいのですが
ボタンが表示されません。
最後の二行を消すと真ん中あたりに表示されるのですが
なぜでしょうか?

Dim btn As New Button
btn.Content = "閉じる"
btn.Width = 100
btn.Height = 50
AddHandler btn.Click, AddressOf closeWindow
Canvas1.Children.Add(btn)
Canvas.SetLeft(btn, Me.Width - btn.Width)
Canvas.SetTop(btn, Me.Height - btn.Height)
717デフォルトの名無しさん:2013/01/17(木) 08:47:38.87
画面配置はXAMLで書こうよw コードビハインド、しかもVBとかw
多数派の流儀に合わせた方が、質問とかも回答してもらいやすいと思うよ

わざわざCanvas使うよりDocPanelかGrid辺りの方が、楽に右下配置できるよ
718デフォルトの名無しさん:2013/01/17(木) 08:49:24.35
デバッガの使い方は覚えた方が良い
SetLeftのところでブレークポイント貼ってMe.Widthとbtn.Widthの値を確認してみるとか
719デフォルトの名無しさん:2013/01/17(木) 08:56:12.95
widthじゃなくてactualWidthでやってもダメか?
720デフォルトの名無しさん:2013/01/17(木) 08:58:31.92
すみません。わかりました。
Canvas1.HorizontalAlignment = Windows.HorizontalAlignment.Left
Canvas1.VerticalAlignment = Windows.VerticalAlignment.Top
とやったらできました。ありがとうございました。
721デフォルトの名無しさん:2013/01/17(木) 08:59:04.96
Me.WidthじゃなくてActualWidthでやってもダメか?
722デフォルトの名無しさん:2013/01/17(木) 09:10:45.68
>>717
VBは別にいいだろw
723デフォルトの名無しさん:2013/01/17(木) 09:57:01.65
WPFの情報は海外ソースがほとんどだからほぼC#一色だよな
>>714を使ってるなら、GridにCanvas載せて使うのがいいだろうな(ボタンの親はGrid)
724デフォルトの名無しさん:2013/01/17(木) 10:45:44.61
既存のロジックを生かしたかったので結局
OnRenderとInvalidateVisualで描画することにしました。
らくらく60FPS出るのですごいです。
WPFは重いと聞いていたのですが、とんでもないですね。
725デフォルトの名無しさん:2013/01/17(木) 10:47:34.30
>>724
それMSの社員曰く「フレームレートを落とす最良の方法」らしいぞ
実際とんでもなく効率の悪い処理をしてることになる
PCがハイスペなだけか処理が軽いだけ
726デフォルトの名無しさん:2013/01/17(木) 10:49:21.82
OnRenderでライフゲームでも作ってみ
発狂するくらい遅いからw
727デフォルトの名無しさん:2013/01/17(木) 11:03:14.15
マジっすかorz
了解です。新規のプロジェクトではOnRenderは辞めておこうと思います。
今回は移植なのでとりあえずOnRenderでやってみます。
ロジックを考え直すのがつらいですw
728デフォルトの名無しさん:2013/01/17(木) 20:50:24.58
Windowをドラッグして移動できるようにしたいのですが
なにやら動きが変です。WinFormsならうまく動くコードだと思うのですが。
お助けを。
http://codepad.org/6G6Mjdot
729デフォルトの名無しさん:2013/01/17(木) 21:02:47.21
VBで笑わせんなw
730デフォルトの名無しさん:2013/01/17(木) 21:10:03.86
いたって真剣ですよ!
731デフォルトの名無しさん:2013/01/17(木) 21:15:24.43
>>728
よし。まずはC#の勉強から始めようか。
732デフォルトの名無しさん:2013/01/17(木) 21:55:09.90
>>728
これでいいのかのう

Private Sub Window_MouseLeftButtonDown_1(sender As Object, e As MouseButtonEventArgs)
  Me.DragMove()
End Sub
733デフォルトの名無しさん:2013/01/17(木) 21:58:19.06
稀にみるエレガントな解答w
734デフォルトの名無しさん:2013/01/17(木) 22:18:01.29
>>732
ありがとうございます。それでいきます。
でもなぜ動かないのかわからないのが気持ち悪いなぁ。
735デフォルトの名無しさん:2013/01/17(木) 22:57:52.40
MVVM使わないで、イベントドリブンでWPF使ってもいいの?
736デフォルトの名無しさん:2013/01/17(木) 23:01:02.97
良いか悪いか決めるのはお前だよ
737デフォルトの名無しさん:2013/01/17(木) 23:07:04.64
いいよ。
散々あちこちのサイトめぐった結論としては、MVVMには手を出す必要なし。
完全に自己満足の世界。
738デフォルトの名無しさん:2013/01/17(木) 23:07:35.33
データドリヴンはいいと思います。
739デフォルトの名無しさん:2013/01/17(木) 23:15:35.90
WPFには二つのパターンがある
MVVMとアンチMVVMパターンだ
740デフォルトの名無しさん:2013/01/17(木) 23:37:33.79
MVVMとかよくわかってないし、WPFもあまり使う気がしないけど
結局は、ちゃんと分離しろってことだと思っている。
741デフォルトの名無しさん:2013/01/17(木) 23:52:41.85
>>737
原理主義になる必要は無いがMVVMはReactiveと合わせると良い物になるぞ(´・ω・`) 
742デフォルトの名無しさん:2013/01/17(木) 23:53:46.15
Rxは可読性クソだろ
awaitでやれ
743デフォルトの名無しさん:2013/01/18(金) 00:00:24.59
awaitでやりたい気もあるんだが、如何せん
XPで.NET 4.5が動かないという壁があってだな。
開発環境とはともかく、クライアント側だけは、XP対応させてといて欲しかった…
744デフォルトの名無しさん:2013/01/18(金) 00:05:02.89
XPでawaitは .NET4 + Async Targeting Packでいける
745デフォルトの名無しさん:2013/01/18(金) 00:44:28.31
>>728
答えはすでに出てるけどどこがオカシイかといえば…

move内でwindowの座標動かしてるのでまたmove呼ばれる
マウス位置を保存しているけど
それが相対座標なのでマウスを動かしていなくても
windowが動いてるので値が変わってしまう
それが問題
PointToScreenでスクリーン座標に直してから計算して移動量の差分だせばいい
746デフォルトの名無しさん:2013/01/18(金) 00:45:45.82
>>743
Rxとawaitは用途と向き不向き違うよ?
後手続き脳の人にはawaitいいんだろうね。Rxの方が宣言的に書けると思うけど。
747デフォルトの名無しさん:2013/01/18(金) 00:51:56.13
思想はいいけどシンタックスが腐ってるよ
言語拡張が必要
748デフォルトの名無しさん:2013/01/18(金) 04:20:28.45
XPなんて来年でぶった切れるし
WPFなら現状でもXPだと描画腐ってるだろ
749デフォルトの名無しさん:2013/01/18(金) 08:02:52.41
>>745
うおお。ありがとうございます。
おかげさまですっきりしました。できました。
http://codepad.org/wnDSylHj
750デフォルトの名無しさん:2013/01/18(金) 09:21:48.71
パッケージならXP切れるだろうけどなぁ・・
MSのサポートは関係なくあと5年はサポートしないとダメそうだ。
XPと同発のIE6も癌だし、本当に迷惑なOSだ
751デフォルトの名無しさん:2013/01/18(金) 10:25:54.66
VBもどうにかしないとな
752デフォルトの名無しさん:2013/01/18(金) 11:39:25.40
WPFにもDOBONさんみたいなサイトないかなー
753デフォルトの名無しさん:2013/01/18(金) 14:28:59.50
XPよりVB6のほうが息長くなるんじゃないか?
754デフォルトの名無しさん:2013/01/18(金) 17:05:09.58
VB6よりjQueryのほうが長生きするだろう
755デフォルトの名無しさん:2013/01/18(金) 17:39:30.41
VB6が生きてる限りofficeのマクロがC#に変わることはないのかね・・・
756デフォルトの名無しさん:2013/01/18(金) 17:51:17.63
取り残されたVB戦士の最後の砦だからなw
757デフォルトの名無しさん:2013/01/18(金) 17:58:34.56
VBAは64Bit拡張されてるぐらいだしまだまだやるだろう
758デフォルトの名無しさん:2013/01/18(金) 20:29:42.82
むしろVBerをそこに閉じ込めておくために必要
759デフォルトの名無しさん:2013/01/18(金) 21:36:55.37
こういうやりかたが主流になるのかなあ
http://www.ka-net.org/blog/?p=1995
いまの開発者人口考えるとありえるよね
760デフォルトの名無しさん:2013/01/18(金) 21:44:35.75
寧ろCOBOLerが汎用機に押し込められてるみたいに、
VB6だけが動くようなプラットフォーム出来ないかな?
Windows SimpleEditionみたいな触れ込みで。
761デフォルトの名無しさん:2013/01/18(金) 22:12:42.18
誰が使うんだよそんなもん
VB6で作ったもの以外は全て動かないとか、OS標準アプリも動かないだろ
762デフォルトの名無しさん:2013/01/18(金) 22:25:57.48
VB6VMがあれば解決
763デフォルトの名無しさん:2013/01/18(金) 22:31:48.03
XPモードみたいなアプリだけリモートで動くモードがあればおk
764デフォルトの名無しさん:2013/01/19(土) 03:28:02.57
MVBVMパターンか?
765デフォルトの名無しさん:2013/01/19(土) 04:35:57.01
VB厨を分離とは良いパターンだな
766デフォルトの名無しさん:2013/01/19(土) 04:46:57.39
VB.NETもなぜか叩かれるよな。言語仕様はC#比で99%くらい?変わらんのに。
ラムダだるいとかはあるだろうが、これはできないって話とは別だしな
767デフォルトの名無しさん:2013/01/19(土) 07:25:42.79
悔しかったらヘルパーメソッドを使わない綺麗なILを吐け
768デフォルトの名無しさん:2013/01/19(土) 07:39:53.52
>>766
むしろ変わらない様になって誰得言語になったからな( ´Д`)y━・~~
769デフォルトの名無しさん:2013/01/19(土) 09:12:51.16
VB.NETはコードを見ると目が拒否する
770デフォルトの名無しさん:2013/01/19(土) 09:57:12.10
>>767
ILレベルで比較して意味あるのかよ
771デフォルトの名無しさん:2013/01/19(土) 10:08:42.14
変わらんってのはC#使いから見たときの話で、VBしか知らない奴が使えばC#とは全くの別物になるぞ
VBのサポートが面倒だから最近はC#に入れた新機能はついでにVBにも入るようになってるが、
VBはそもそも変化を拒否する人のための言語であり、どうせ使われないんだから関係ない
772デフォルトの名無しさん:2013/01/19(土) 10:38:26.34
VB って当初は VB.NET 出さないって言ってなかったか
773デフォルトの名無しさん:2013/01/19(土) 10:52:39.64
いい加減スレ違いじゃね?
774デフォルトの名無しさん:2013/01/19(土) 10:57:46.27
C#「時代は非同期だ。MVVMだ。どんどん新しい言語仕様、入れていこうぜ」
VB.NET/Java「新しく覚えるとかめんどうくせー。既存のままでいいよもう…」

これぐらいの差を感じる…
775デフォルトの名無しさん:2013/01/19(土) 11:02:01.17
>>774
馬鹿か?
c#がいつMVVM向けの構文入れた?
776デフォルトの名無しさん:2013/01/19(土) 11:03:39.63
c#はすくなくともMVVMは支援してない
してたらプロパティはもっと違ったものになってる

支援されてないからあんな馬鹿みたいな仕組みになってる
777デフォルトの名無しさん:2013/01/19(土) 17:19:12.84
馬鹿はWPF。その証拠に普及に失敗した。
778デフォルトの名無しさん:2013/01/19(土) 21:23:51.44
良い物が普及するとは限らないだろ
779デフォルトの名無しさん:2013/01/19(土) 21:48:56.63
百歩譲ってWPFが良いものだとしよう。

なぜみんなWinformから移行しないのか。
780デフォルトの名無しさん:2013/01/19(土) 21:55:54.36
最近お世話になってるVB厨ですが、WPF最高です!
781デフォルトの名無しさん:2013/01/19(土) 22:01:16.46
冗談は、止めとけ(震え声)
782デフォルトの名無しさん:2013/01/19(土) 22:07:24.69
>なぜみんなWinformから移行しないのか。
覚えるのが面倒くさい。ただそれだけでしょうね
みんな保守的なんだよ
783デフォルトの名無しさん:2013/01/19(土) 22:08:40.25
わざわざ移行コストかけるならWeb行くわな
784デフォルトの名無しさん:2013/01/19(土) 22:15:32.49
WPFはFormsに比べて既定のスタイルがダサい
785デフォルトの名無しさん:2013/01/19(土) 22:16:32.68
WinFormsは結局VBAやXPみたいになくならないで続くのかなあ
MSは本気でWPFを推し進めてるのかな
今からコストをかけて学習する価値はある?
786デフォルトの名無しさん:2013/01/19(土) 22:18:03.54
>>785
MSが推そうがどのみちデスクトップアプリに未来なんかないよ
Web池
787デフォルトの名無しさん:2013/01/19(土) 22:28:30.27
管理系のWebアプリでおすすめのやつってありますか?
Webって参照のみだと楽なんだけどな
788デフォルトの名無しさん:2013/01/19(土) 22:32:58.83
なにその漠然としたの…開発をしたいのか既成のシステムなのか
どちらにせよスレチだし漠然としすぎ
789デフォルトの名無しさん:2013/01/19(土) 22:41:33.16
WPFが糞だという人もいるけど、やっぱりWinformsが神すぎるだけなんだよね。
790デフォルトの名無しさん:2013/01/19(土) 22:43:48.83
なんだかんだでかゆいところに手が届くのがwinformsだし。
791デフォルトの名無しさん:2013/01/19(土) 22:56:20.58
WinFormsでできる事はすべてすんなりできて、実行速度が
同等以上ならなんとかなったのかもしれない
792デフォルトの名無しさん:2013/01/19(土) 23:30:51.81
ヘジはWPFのことどう思ってるのだろうか。
失敗と思ってるんだうろか。
793デフォルトの名無しさん:2013/01/19(土) 23:48:48.49
小国日本で失敗してるだけで、中国や韓国では大成功してるんじゃないの?
794デフォルトの名無しさん:2013/01/19(土) 23:55:53.37
CSに見た目は必要なかったってことだろうな
795デフォルトの名無しさん:2013/01/20(日) 00:23:03.58
海外の記事でもWPF批判はよく見る気がする。
796デフォルトの名無しさん:2013/01/20(日) 00:23:09.53
チョンの国で成功してようがしてなかろうがどうでもいいがなw
797デフォルトの名無しさん:2013/01/20(日) 00:56:35.09
>>795
どんなん?エバーノートがディスってたのはむしろエバーノートがダメダメだった都いう話になってると思うけど。
まぁXAML絡みはモダンでも使われるので数年はすたれないと思うけど。
798デフォルトの名無しさん:2013/01/20(日) 03:24:34.17
いい加減、WindowsFormsHostのAllowsTransparencyの不具合なおせよ糞M$
WIndowsのAPI叩かなくてもGUIをカスタマイズできるからこそのWPFだろーが
しかし、インフラ系フレームワークはWPFをサポートしてないか別ライセンスでFormを使わざるを得ない、だからこそのWIndowsFormsHostだろーが
なんで透過処理したら埋め込んだFormまで非表示なんだようんこ!!
799デフォルトの名無しさん:2013/01/20(日) 07:59:32.00
とりあえずVBみたいにグイをイデからポトペタで作れるようにしろよ。
とりあえずwindows Forms を駆逐するのはそれからだな
800デフォルトの名無しさん:2013/01/20(日) 09:38:41.42
>>799
ポトペタ出来るだろ(´・ω・`) 
801デフォルトの名無しさん:2013/01/20(日) 10:24:27.54
いきなり論理ピクセルとWinFormのピクセルの違いではまったわ
なんでdoubleなのか理解してなかった
802デフォルトの名無しさん:2013/01/20(日) 11:19:51.52
その程度の頭でWPFを使おうとしてたのかい
803デフォルトの名無しさん:2013/01/20(日) 11:47:22.51
WindowにResiezeEndイベントが無いようなのですが
代用になるようなイベントはないでしょうか?
804デフォルトの名無しさん:2013/01/20(日) 16:30:52.84
<grid>じゃなくて格子のグリッド?出してその線にスナップ?ってできないのかね。
805デフォルトの名無しさん:2013/01/20(日) 17:45:01.66
MacやiOSの開発はじめてObjective-Cすげぇ気持ち悪いって思ったけど、慣れたらObjective-Cの方が優れてるって気づいたわ。
どれだけ複雑なGUIを簡単に作れるかなんだよな、まぁOS標準の描写能力に差がありすぎて如何にWindowsが糞かってだけの話なんだが。
806デフォルトの名無しさん:2013/01/20(日) 17:46:27.38
へー
807デフォルトの名無しさん:2013/01/20(日) 18:10:41.25
言語とプラットフォームごっちゃになってる時点でかなりレベル低そうだな
808デフォルトの名無しさん:2013/01/20(日) 18:19:33.34
>OS標準の描写能力
デジカメ撮影でもやるのか?
809デフォルトの名無しさん:2013/01/20(日) 18:26:25.73
ユーザーは複雑なGUIを求めてないんだよ。
810デフォルトの名無しさん:2013/01/20(日) 18:31:03.77
そもそもXcodeで複雑なGUIなんて作れっこないし
811デフォルトの名無しさん:2013/01/20(日) 18:35:04.42
複雑なGUIってどんなの?
ボタンを押そうとする逃げるやつとか?
812デフォルトの名無しさん:2013/01/20(日) 18:42:47.76
複雑なGUIでもいいけど、複雑なコーディングは求めてない
813デフォルトの名無しさん:2013/01/20(日) 18:44:01.09
唐突過ぎて吹いた
814デフォルトの名無しさん:2013/01/20(日) 18:44:55.77
リボンUIで分かったように操作系はリニアに並べるべきで複雑さなんて必要なかった
815デフォルトの名無しさん:2013/01/20(日) 18:49:12.06
いわゆるイタイGUIって奴だな。
クリックできそうに見えてクリックすると何も起こらなかったり、
コピペできそうに見えて、テキストをドラッグする選択できなかったり、
どのコントロールがアクティブか不明とか。

WPFにはこういうのが多すぎる。GUIが複雑すぎる。
816デフォルトの名無しさん:2013/01/20(日) 18:52:13.95
WPFで複雑なほど作りこまれたアプリほとんどみたことないが
作る側が複雑ってのはわかるが
817デフォルトの名無しさん:2013/01/20(日) 19:24:00.26
VSのオフラインヘルプのアプリは糞すぎるよな
検索しようとしたらインクリメンタルサーチのせいで異常に重い
コピーがコンテキストメニューに準備されてない
ctr-c必須

あれもWPF?
818デフォルトの名無しさん:2013/01/20(日) 19:29:36.78
かっこいいボタンテンプレートない?
819デフォルトの名無しさん:2013/01/20(日) 19:44:09.00
>>816
WPFの機能を活用して複雑に作りこむと遅すぎて使い物にならないからな

WPFの機能を使わずに独自実装すれば大丈夫だけど、
それなら最初からWPFなんて使わない方が良い
820デフォルトの名無しさん:2013/01/20(日) 19:49:42.72
Help Viewerは2.0でだいぶマシになってんじゃね?
まあDocument Explorerよりも劣化してるし
結局chmの頃が一番使いやすかった
821デフォルトの名無しさん:2013/01/20(日) 20:18:38.60
そんなもの使ってる時点で情弱でしょ
822デフォルトの名無しさん:2013/01/20(日) 20:54:17.66
MSのヘルプ環境も無駄に迷走してるよな
823デフォルトの名無しさん:2013/01/20(日) 21:01:49.12
Javaみたいにhtmlで完結してればそれ以上を求めないんだけどな
無駄に凝るのは悪い癖だ
824デフォルトの名無しさん:2013/01/20(日) 21:13:56.83
ヘルプのUIもどんどん糞になっていくな。

一体MSの誰が悪いのだ?
825デフォルトの名無しさん:2013/01/21(月) 00:46:59.49
WinFormsのときはラベルのOnPaintをオーバーライドして
絵を入れてたんですがWPFの場合はどういうふうにすればいいでしょうか?
826デフォルトの名無しさん:2013/01/21(月) 00:59:50.21
<Image>とか<Path>とかいろいろ使う。VBのLineコントロールみたいな感じで。
OnPaintの発想は綺麗さっぱりさっぱり忘れること。
827デフォルトの名無しさん:2013/01/21(月) 01:04:36.46
なるほど。ありがとうございました。
828デフォルトの名無しさん:2013/01/23(水) 11:05:44.37
はよUpdate2
829デフォルトの名無しさん:2013/01/23(水) 20:58:07.28
ボーダーを直角三角形にすることはできますか?
EffectでBlurをかけるとその内部にある要素もぼやけてしまうのですが、これをボヤけないようにすることは可能でしょうか?
830デフォルトの名無しさん:2013/01/24(木) 21:50:48.25
>>829
>ボーダーを直角三角形にすることはできますか?
Clip
>EffectでBlurをかけるとその内部にある要素もぼやけてしまうのですが、これをボヤけないようにすることは可能でしょうか?
BlurかけたRectangleと重ねる
831デフォルトの名無しさん:2013/01/25(金) 18:49:33.81
お絵かきアプリのようなもので、フリーハンドで描かれた線の上にあるかどうかをShapeなどで判定することって可能ですかね?
つかみやすいように線の真上だけでなく数ピクセルずれていても上にあると判定したい。
透明な数ピクセルのずれ分のShapeを線の上か下に置いておくなどですかね?
線の数が多くなると問題出てくるかしら。
832デフォルトの名無しさん:2013/01/25(金) 18:51:59.72
透明なシェイプは反応しない 豆
833デフォルトの名無しさん:2013/01/25(金) 23:07:58.92
http://msdn.microsoft.com/ja-jp/hh544699

Windows8のみとか
windowsならいいと思うんだけど・・・
834デフォルトの名無しさん:2013/01/25(金) 23:25:20.42
コントロールのZオーダーってXAMLに記述されない感じですか?
835デフォルトの名無しさん:2013/01/25(金) 23:26:57.86
配置順じゃなかったか?
836デフォルトの名無しさん:2013/01/25(金) 23:43:47.21
Panel.ZIndex添付プロパティで指定できる
837デフォルトの名無しさん:2013/01/26(土) 00:42:51.21
天才だなお前ら
838デフォルトの名無しさん:2013/01/26(土) 13:41:14.65
でもあれだよな
Stackoverflowやここの書き込みみててもわかるけど、GUIに関する質問が圧倒的に多いんだよな。
なのにWPFもXamlもそこが圧倒的に弱過ぎる、MacやiOSなんてIBがすげぇ優秀だからGUI作るのすげぇ楽なのにWindowsとか相当ノウハウないと作れないもんな
839デフォルトの名無しさん:2013/01/26(土) 13:57:41.09
言語とプラットフォームごっちゃになってる時点でかなりレベル低そうだな
840デフォルトの名無しさん:2013/01/26(土) 14:18:10.88
IBがクソ過ぎて複雑なGUIは作る気にもならない、てのが実情
841デフォルトの名無しさん:2013/01/26(土) 14:21:43.32
またこのループか
842デフォルトの名無しさん:2013/01/26(土) 14:38:33.41
WindowsのRADはVB6やらWinFormsやらDelphiやら優秀な先輩がたくさんいるから
ハードルが異常に上がってるだけだ
他のプラットフォームでこれだけのレベルの開発環境があれば泣いて喜ぶレベル
843デフォルトの名無しさん:2013/01/26(土) 15:03:02.80
WinFormsの方がGUIプログラミング分かりやすかったし、なんでこんなんなっちゃったのかな
GUIコントロールを動的に生成とかXAMLで出来るのかしらないけど、わかりにくくなりそう
844デフォルトの名無しさん:2013/01/26(土) 15:09:10.33
XMLでGUI作る系じゃXAMLは一番良くできてるよ。これでも。
劣化コピーのAndroidやJavaFXは酷いもんだ
845デフォルトの名無しさん:2013/01/26(土) 15:19:07.50
XAMLをソリューションエクスプローラーみたいに要素ツリーで表示してくれんのか
Setterで指定してるスタイルとテンプレートの参照先もちゃんと表示される奴で
今度統合されるBlendならできるのか?
846デフォルトの名無しさん:2013/01/26(土) 15:25:12.27
ドキュメントアウトラインでスタイルとテンプレートが追えるようになるだけでも大分違うんだけど
今FrameworkElementしか追えないから
ユーザーコントロールなんかを書いてて大量にスタイルとテンプレートが必要になってくると
これはどこだっけなんだっけで時間が消費されてやる気がなくなる
847デフォルトの名無しさん:2013/01/26(土) 16:03:28.23
WinFormsで作れる程度のもんならWPFでも大差なく作れないか?手間的に
バインドはWPFのが優秀だし
MVVMがどうとか言い出すと途端に辛くなるけど
848デフォルトの名無しさん:2013/01/26(土) 16:22:58.43
>>844
JavaFX2は酷いもんだからな
MacでVSでたら泣いて喜ぶんだが、MonoDevelopやXamarinじゃ満足できない
すべてのプラットフォームをVS+C#で開発したいわ

>>846
テンプレート使うとビルドするまで確認できないのが辛い
リアルタイムプレビューみたいなエクステンションってあるん?
849デフォルトの名無しさん:2013/01/26(土) 17:48:09.38
>>833
トランプないのかよ
850デフォルトの名無しさん:2013/01/26(土) 18:46:45.36
ゲームにある
851デフォルトの名無しさん:2013/01/26(土) 19:51:35.63
>>833
MS提供のフリー素材って使いたいようなものなくね?
アイコン検索サイトとかのが良い物がある気がする
852デフォルトの名無しさん:2013/01/26(土) 20:05:45.89
MSは素材提供専門の会社じゃないからね
853デフォルトの名無しさん:2013/01/27(日) 09:40:39.99
IBよく知らんが前Monotouchでサンプル作った時に定義するものがイミフでわけわかめだった。
作法覚えれば使いやすいのかもしれんけど、それだったらXAMLも同じだよね。
XAMLは上手く作ればかなりな部分をMVVMで綺麗に分けられて自分的には一番いいな。
今更Formはあり得ん。
854デフォルトの名無しさん:2013/01/27(日) 09:59:02.92
WinForms叩き=かっこいい
855デフォルトの名無しさん:2013/01/27(日) 12:52:47.40
お世辞にも直感的といい難いのがとにかく難
こういっては何だけど、世間のレベルを買いかぶりすぎだ
856デフォルトの名無しさん:2013/01/27(日) 17:45:42.43
WinFormsの足元にも及ばない
857デフォルトの名無しさん:2013/01/27(日) 23:58:09.34
かっこいいボタンのコントロールテンプレートって何処かにないかな?
858デフォルトの名無しさん:2013/01/28(月) 00:15:27.57
>>855
Formsみたいなポトペタも出来るだろ?
レイアウトもcanvasかGrid使えばいい。
859デフォルトの名無しさん:2013/01/28(月) 00:18:02.05
winforms使ってるのって業務系アプリくらいだろ
業務系は保守的だからな
860デフォルトの名無しさん:2013/01/28(月) 00:24:02.30
熟練度によるgridの利用の変化

初期
良くわからないのでなるべく使わない

中期
慣れてきて用途があってなくてもなんでもgridを使う(書類を全てexcelで作るようになるのと似ている)

後期
他の物を使い極力gridを使わない
861デフォルトの名無しさん:2013/01/28(月) 00:27:36.02
馬鹿
分類したがる
862デフォルトの名無しさん:2013/01/28(月) 00:45:46.80
末期
grid使った方が良いようなケースであっても維持で使わない。
863デフォルトの名無しさん:2013/01/28(月) 01:04:32.96
一番困るのは、色々なSDKがFormとWPFで別ライセンスになることなんだよな
何年も掛けて一からフレームワーク作るのもやりがいあって楽しいけど、今そんな予算つけてくれる会社ないもん・・・
864デフォルトの名無しさん:2013/01/28(月) 15:35:34.45
ほとんどGridだけど2012のBlendないのきつい
865デフォルトの名無しさん:2013/01/28(月) 19:58:16.53
>>857
カッコイイボタンがXAMLで書けるわけないだろ
そういうのはWebみたいに画像を使うのが普通
ここの連中も基本的にそうしてる
866デフォルトの名無しさん:2013/01/28(月) 20:44:59.05
GridSplitter使わないのか?
867デフォルトの名無しさん:2013/01/28(月) 20:49:44.05
みんな難読化どうしてる?
868デフォルトの名無しさん:2013/01/28(月) 21:11:07.15
あまり気にしてない。
ILSpyとかでみたい奴は勝手にみれって感じ。
869デフォルトの名無しさん:2013/01/28(月) 21:22:51.23
リバースエンジニアリングが生業なので難読化してくれると僕らの仕事が増えて儲かります
870デフォルトの名無しさん:2013/01/28(月) 23:14:55.87
リボンを使おうと思うんですが、標準のリボンだと2010スタイルしかないのでしょうか?
2007スタイルの左上の丸いボタンが好きなので、2007を使いたいです。
871デフォルトの名無しさん:2013/01/29(火) 06:26:22.21
>>857
とりあえず、この辺の色違いでも使っておいたらいいんじゃない?w
http://msdn.microsoft.com/ja-jp/library/vstudio/bb613545.aspx
872デフォルトの名無しさん:2013/01/29(火) 06:45:52.78
しょぼ
873デフォルトの名無しさん:2013/01/29(火) 07:50:04.01
WPF最初、GUIのテキスト変更出来なくて、何じゃこれ!ってなったけど、デフォルトで名前がついてないのね

名前つけたら、winfomsと変わらん

怖がること無かったわ

その癖、(実用的じゃない例だが)ボタンを斜めに表示するとか、WPFの方が簡単
874デフォルトの名無しさん:2013/01/29(火) 10:47:21.08
winfomsと変わらん?へーそうですかw
この程度の認識で始めるから後でアンチWPFになるんだよ
ちゃんと基本を理解しないで後であれもできないこれもできないって騒ぐんだよ
875デフォルトの名無しさん:2013/01/29(火) 11:50:51.77
スタイルが分離されただけのwinformsって感じかw まぁそれでも作れるけど
876デフォルトの名無しさん:2013/01/29(火) 12:39:36.48
>>875
んじゃ自由度が高いけど敷居も高いっつー微妙設計ってことじゃん。
やっとこなんか分かってきたけど状態保存含めてビューの遷移をどこでやるかとかいろいろ分からんとこ有るわー
877デフォルトの名無しさん:2013/01/29(火) 13:06:34.29
webやってないとそうだろうけど、それが即敷居が高いということにはならんと思うが。

どこでやるとかは好きにすればいい。MVVM的にはビヘイビアかコードビハインドで
やるんだろうけど。このあたりは宗教の問題だしwpfとは関係ないしな。
878デフォルトの名無しさん:2013/01/29(火) 13:18:42.34
>>875
そんな感じ
趣味グラマーなんで、大したGUI作らんしで、ずっとWinFormsだったけど、弟がwin8PC買ったの知って、姪っ子が遊べるWinStoreアプリ作っちゃろと思って、思い切って手を出して見た

MVVMとか、必須なのかと思ってたけど、違うみたいで安心した
879デフォルトの名無しさん:2013/01/29(火) 17:00:46.34
必須だよ
必須じゃなかったらWinFormsの方がいい
880デフォルトの名無しさん:2013/01/29(火) 17:06:24.98
などと意味不明なことを述べており
881デフォルトの名無しさん:2013/01/29(火) 18:16:02.98
winFormから乗り換える必要性が感じられない
882デフォルトの名無しさん:2013/01/29(火) 18:18:22.47
winFormでもとりあえず、データバインディングは、ある程度できるし、
(WPFほど柔軟ではないだろうけど)
わざわざWPFに乗り換える必要性は無い…と思う。
883デフォルトの名無しさん:2013/01/29(火) 18:58:50.36
そもそもUIフレームワークにすぎないし、革新をもたらすようなもんじゃない。
全く意味のない意見だ。大元は一緒だし。wpfな見た目がいいなら使う。その程度だろ。
884デフォルトの名無しさん:2013/01/29(火) 19:05:58.46
>>870
2007のリボンとかアプリケーションボタンがボタンに見えなくて評判最悪だと思うが
使いたかったらインフラジスティックスのコンポーネント集買えば付いてる

つーか標準のリボンはWindows 7スタイルだから
Office 2010のを配ってほしいわ
885デフォルトの名無しさん:2013/01/29(火) 19:16:21.76
>>883
大元一緒じゃなくね?
886デフォルトの名無しさん:2013/01/29(火) 19:27:05.75
まったく別物ですね
887デフォルトの名無しさん:2013/01/29(火) 19:48:59.08
UIのクラス階層の話じゃないんじゃねw
888デフォルトの名無しさん:2013/01/29(火) 19:52:39.40
Storeアプリを作ろうって人にWinForms勧めるってどういうことよ
まあそれだと本当はスレ違いだけどさ
889デフォルトの名無しさん:2013/01/29(火) 19:56:12.96
>>887
描画エンジンの成り立ちから違うだろ
890デフォルトの名無しさん:2013/01/29(火) 20:07:39.10
だから、違うのは当たり前だろw
891デフォルトの名無しさん:2013/01/29(火) 20:27:34.39
XNAフレームワークに乗り換えるとか考えるのか…?って話。
並列にあるもんじゃねーの?と。MSはそうして欲しいのかもだが。XNAじゃなくWPFの方な
892デフォルトの名無しさん:2013/01/29(火) 20:51:31.91
WPF使うならVMは作ってた方がよくないか
あとはコードビハインドでも好きなようにという気がする

Windows8入れたからストアアプリでも作ってみるべ
893デフォルトの名無しさん:2013/01/29(火) 21:23:20.04
>>892
そこで言うVMって
894デフォルトの名無しさん:2013/01/29(火) 22:00:24.06
>>893
やめたつもりが書き込んでた。。。

>>892
そこで言うVMって、値をバインドすらためのただの値オブジェクトだよね?
そのレベルならformsでも似たようなことするし、WPFならって言うほどのものかな?
というか、それをVMと言うのは同一用語を別の意味で使ってるようで違和感がある
895デフォルトの名無しさん:2013/01/29(火) 22:17:27.22
892の真意は知らんが、推測でこき下ろすのは如何なものか

つーか「ただの値オブジェクト」に強いのがWPFの大きな特徴だろ
896デフォルトの名無しさん:2013/01/29(火) 22:29:07.71
>>871
これがかっこいいとか、ハイセンスすぎてついていけないわ
897デフォルトの名無しさん:2013/01/29(火) 23:43:33.96
>>896
アメコウは昔からこうだろ( ´Д`)y━・~~
898デフォルトの名無しさん:2013/01/30(水) 00:52:24.06
このスレレベル高い。なに言ってるか分からない。
899デフォルトの名無しさん:2013/01/30(水) 10:52:24.45
何言ってるのか分からなければレベル高い、ってんならダム板とか行けばレベル高いと思うよ。
900デフォルトの名無しさん:2013/01/30(水) 22:36:36.83
タブの数を動的に増やしたいんですが、できますか?
タブを追加して、別で作ったWindowをそのままタブの中に突っ込む感じです
901デフォルトの名無しさん:2013/01/30(水) 22:37:14.21
できますよ
902デフォルトの名無しさん:2013/01/30(水) 22:46:28.50
具体的にどうするんですか?
903デフォルトの名無しさん:2013/01/30(水) 22:50:45.64
例えばこんな感じ
tabControl1.Items.Add(new Button() { Content = "test" });
904デフォルトの名無しさん:2013/01/30(水) 22:53:22.63
もうチョイましなのがこんな感じ
tabControl1.Items.Add(new TabItem() { Header = "test", Content = new Button() { Content = "test" } });
905デフォルトの名無しさん:2013/01/31(木) 09:33:58.56
Canvas上にエレメントが置いてあって、マウスオーバーしたらマウスから逃げるような動きをさせたいとしたらどうします?
動的にストーリーボード作ってやる?タイマーベースかフレームレートベースで自前アニメする?
壁で反射するような感じも組み込みたいとしたら自前でないとめんどくさいか。
いまいちアニメの使い方が分からん…
906デフォルトの名無しさん:2013/01/31(木) 11:11:41.58
どんなUI だろう…仮にゲームとかでオブジェクトをそんな風に出してたら凄く描画遅そうだ
907デフォルトの名無しさん:2013/01/31(木) 20:42:21.98
急にlivetのコードスペニットや
新しい項目追加のViewModelがでなくなったぞ・・・
908デフォルトの名無しさん:2013/01/31(木) 20:45:22.82
開放されたんだろ
909デフォルトの名無しさん:2013/01/31(木) 23:03:37.39
休止するにはどうしたらいい?

winformsだとApplication.SetSuspendState使うんだけど
910デフォルトの名無しさん:2013/01/31(木) 23:06:39.19
Application.SetSuspendState使えばいい
911デフォルトの名無しさん:2013/01/31(木) 23:44:18.13
DataAnnotationsを使って入力中のエラーは表示したのですが
実際にDatabaseなどを更新中にエラーが発生した場合はどのようにエラーを通知するのでしょうか。
単純にエラープロパティを持ってTextBlockにでもバインドして表示でいいのでしょうか・・・。
912デフォルトの名無しさん:2013/02/01(金) 00:06:21.02
というかそれが普通
IDataErrorは基本的に使わないほうがいいと思う
913デフォルトの名無しさん:2013/02/01(金) 08:55:44.52
Update2必須だなこれ
914デフォルトの名無しさん:2013/02/01(金) 12:17:09.03
これVSMやらStoryBoardのデザイナーってまだなのか?
915デフォルトの名無しさん:2013/02/01(金) 12:45:53.70
Blendは廃止
VSに統合だとさ。全く分けてる意味無かったから良いことだけど。
916609:2013/02/01(金) 13:11:58.85
統合と言ってもVSのデザイナがBlendになるわけじゃなくてスタンドアロンツールとしてVSに追加なのが残念
今回はマイナーアップデートだからまあ仕方ないとして、本来ならVSの次期メジャーバージョンで
デザイナ統合が筋だが、HTML5に傾倒してるMSが今更XAMLに投資するかどうか…
917デフォルトの名無しさん:2013/02/01(金) 13:30:38.24
>>905

ProWPFのChapter16で、
上からどんどん爆弾落ちて来るのをマウスクリックしていくBombDropperって単純なゲームの例があって
それだと落ちてくるのも、クリックした後の動作も、コードビハインドでStoryboardを設定してるよ
918デフォルトの名無しさん:2013/02/01(金) 18:44:50.88
ツツが覚醒し、石川外野手も昨年の好調時を維持、
さらにノリが得点圏打率首位でラミが出塁率アップ
そのうえモーガン・ブラが暴れだしたら手に終えんな









このうち三人は不調になりそうだが
919デフォルトの名無しさん:2013/02/01(金) 18:48:04.04
あ、誤爆したwww
920デフォルトの名無しさん:2013/02/01(金) 21:45:24.14
自分がない
やり直し
921デフォルトの名無しさん:2013/02/01(金) 22:09:49.90
例えば、Modelで何かを検索するときって検索条件を引数で渡すのか、それともModelに検索条件プロパティを作ってそこに突っ込んだほうがいいのか。どっちが普通なのでしょうか?
922デフォルトの名無しさん:2013/02/01(金) 22:14:23.08
どっちもしねーな
923デフォルトの名無しさん:2013/02/01(金) 22:21:57.34
まさかMVVM使わないほうがいいの?
てっきりWPF=MVVMだと思ってます
924デフォルトの名無しさん:2013/02/01(金) 22:26:35.07
思うのは自由だけど一部の狂信者と戯言を真に受けた初心者以外MVVMなんて使ってない
925デフォルトの名無しさん:2013/02/01(金) 22:47:22.20
つまり、>>921の場合は何が正解なんでしょう?
926デフォルトの名無しさん:2013/02/01(金) 23:12:50.76
普通に引数でやればいい
927デフォルトの名無しさん:2013/02/01(金) 23:58:27.53
MVVMの有用性がよくわかりませんね
MVCとそんなに変わらないような気がする
928デフォルトの名無しさん:2013/02/02(土) 00:07:05.30
人と違う言葉使ってれば釣れる人が一定数いるんですよ
そういうこと
929デフォルトの名無しさん:2013/02/02(土) 01:06:36.23
MVVMとかMVCだとか厳密に言えば何か異なることなんだろうけど
ごちゃまぜにせずに役割分担しろってことだと思ってる。
930デフォルトの名無しさん:2013/02/02(土) 05:31:34.40
MVVMって可読性って観点で言えば最悪だと思うんだよね。
Vとの結合が弱いから、習熟度が低い人は読みづらい。VSのせいもあるけど。サポートがないから
931デフォルトの名無しさん:2013/02/02(土) 09:14:04.94
WebMVC知ってればわかるでしょ
そんなレベル相手にしたってどうせメリット無いから意味ない
932デフォルトの名無しさん:2013/02/02(土) 10:52:07.65
つまりViewとLogicが密接に絡み合ったVB6サイコー!ってことだな。
と久し振りに業務で化石化したVB6のコードを保守したら感じた。
フォームのボタン押下イベントに1000行くらい延々とコードが書かれてるんだぜ…。
933デフォルトの名無しさん:2013/02/02(土) 11:00:41.56
以外とそれがいい
934デフォルトの名無しさん:2013/02/02(土) 12:09:38.62
わかり安いけどな
935デフォルトの名無しさん:2013/02/02(土) 12:45:37.75
クエリパラメータに直接コントロールのプロパティ使えるとか最強だろw
ああいう進化もあれはあれでアリ
936デフォルトの名無しさん
2012expressのクラスライブラリプロジェクトですが
追加->新しい項目でWPFのリソースディクショナリがありません。
手作業で追加するしかありませんか?