WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part12at TECH
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part12 - 暇つぶし2ch200:デフォルトの名無しさん
12/01/16 20:15:09.02
WPFで、<Image Source=〇〇/> って感じで画像をサムネイル表示、
選んだ画像に簡単な画像処理をして、元のファイルに上書き保存

ってことがしたいんだけど、Imageとして表示に使うと
別のプロセスで使用されているためアクセスできないって怒られてしまう

別名保存なら問題なくできるんだけど…元のファイルに上書きってどうすればできるんでしょう?

201:デフォルトの名無しさん
12/01/16 20:21:12.60
SourceをBitmapImageにして
CacheOptionだかをOnLoadにする

202:デフォルトの名無しさん
12/01/16 20:55:36.38
ugayaは自分の世界に閉じこもったような説明をする。
公に説明しようとしない。

203:デフォルトの名無しさん
12/01/16 21:07:48.92
そんな謗られるような悪いことはしてないと思うがなあ

204:デフォルトの名無しさん
12/01/16 22:08:52.15
ugayaは文章は上手じゃない
短く区切ればいいのに連結して文章を書くから意味がとりづらい

205:デフォルトの名無しさん
12/01/16 22:27:44.06
@ITのは、少なくとも校正は入れるべきだな。

206:デフォルトの名無しさん
12/01/17 04:56:55.54
SetValueとSetCurrentValueの違いについてのページがあったんだが
URLリンク(stackoverflow.com)

SetValueで変更するとバインディング解かれてしまうって回答と、
解かれないんじゃ?っていう返信があることはわかったけど
結局どう違うのかわからん。
どう使い分けたらいいか解説plz

207:デフォルトの名無しさん
12/01/17 09:46:15.91
>>206
ふらっとC#,C♯,C#(初心者用) Part83
スレリンク(tech板)

208:デフォルトの名無しさん
12/01/17 20:33:01.75
Livetのソースコード眺めてたけど、Freezableってあんな使い方していいのか?
Frozen呼んでるのにResponseプロパティ読み書きできるけども

209:デフォルトの名無しさん
12/01/17 20:39:15.12
まずRaiseやGetResponseが!message.IsFrozenならmessage.Freeze()を呼び出す
URLリンク(bitbucket.org)

で、そのメッセージのResponseプロパティの53行目
URLリンク(bitbucket.org)

Twitterの発言を追ってると、Vでメッセージ定義するためにはFreezableにせざるを得なかった的な発言がある
恐らく故意

210:デフォルトの名無しさん
12/01/19 19:07:56.70
流れが止まった

211:デフォルトの名無しさん
12/01/21 12:24:15.38
mediealementって、再生中に解像度を変えると、固まってしまうってバグは既出?

212:デフォルトの名無しさん
12/01/21 13:12:32.08
それどころか
再生中に○○を△△△したら固まる

213:デフォルトの名無しさん
12/01/21 13:27:25.40
駄目すぎワロタ

214:デフォルトの名無しさん
12/01/21 13:51:16.18
【プログラミング部】 PHPが100倍速で動くようになったぞー
スレリンク(poverty板)

215:デフォルトの名無しさん
12/01/21 14:22:20.25
mvvm light toolkitがあれば、十分です。
他はいらねえし。

216:デフォルトの名無しさん
12/01/21 14:43:32.72
>>214
・僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。
ホンモノのプログラマは、「動いてるように見えるけど、メモリリークだらけじゃないか。直す必要があるかもね」なんて言うでしょう?
僕なら、10リクエストごとにApacheを再起動しますね。

217: 忍法帖【Lv=2,xxxP】
12/01/21 15:35:58.93
Pro WPF for C# 2010 注文してみたわ
楽しみ

218:デフォルトの名無しさん
12/01/21 15:50:09.85
>217

Amazonで、実物の本を触らないで注文したけど、届いて重さと厚さに驚いた


219:デフォルトの名無しさん
12/01/21 16:27:54.20
vs2012っていつ出るんだろうね

220:デフォルトの名無しさん
12/01/21 16:31:30.72
何ぞこれ…
こんなのありかよ

URLリンク(www.visualstudio)ライセンス.com/page018.html

221:デフォルトの名無しさん
12/01/21 16:39:33.70
>>220
つっこみどころ満載のアフィサイトだな

222:デフォルトの名無しさん
12/01/21 16:40:44.59
これだったら年号ついてたらなんでもアフィサイト作れるじゃん…

223:デフォルトの名無しさん
12/01/22 14:34:21.36
URLリンク(www.dotup.org)
うちの6770壊れとるんやろか

224:デフォルトの名無しさん
12/01/22 14:55:04.28
クッソワロタ

225:デフォルトの名無しさん
12/01/22 16:12:05.32
スレリンク(poverty板:3番)

226:223
12/01/22 19:37:49.08
ビデオのアンチエイリアスをアプリ依存に戻したら治ったわ

227:デフォルトの名無しさん
12/01/22 20:12:00.11
ListBox.ContextMenuのCommandのCommandParameterにListBox.SelectedItemを渡したいんですがnullが入ってしまいます・・・。
どうやればよろしいんでしょうか。

↓今の状態
<ListBox x:Name="listBox" >
  <ListBox.ContextMenu>
    <ContextMenu>
      <MenuItem Header="ほげ" Command="{Binding HogeCommand, Mode=OneWay}" CommandParameter="{Binding SelectedItem, ElementName=listBox}">


228:デフォルトの名無しさん
12/01/22 21:25:13.82
>>227
URLリンク(social.msdn.microsoft.com)
これと関係あるか知らんが、こうしないとダメっぽい。
CommandParameter="{Binding PlacementTarget.SelectedItem, RelativeSource={RelativeSource FindAncestor, AncestorType=ContextMenu}}"

229:デフォルトの名無しさん
12/01/22 21:35:29.98
きっついなw

230:227
12/01/22 22:11:46.62
>>228
できました。
ありがとー。

231:デフォルトの名無しさん
12/01/22 22:44:00.29
ContextMenuは見た目通りの要素ツリーになってないんだよね
ContextMenuっていうかPopup全ての話だけど、Windowの直下にContextMenu用のホストがあって、その中に生成されている
だからXAMLの上では要素ツリー上に名前があるように見えるけど、実際に検索すると無いって事態になる
実に紛らわしい糞仕様だね
報告しろよ

232:デフォルトの名無しさん
12/01/22 22:45:23.71
ポップアップは別ツリーのトップだとどこかに書いてあるよね?

233:デフォルトの名無しさん
12/01/22 22:56:28.41
俺は知ってたからどこかでは読んでるはずだなあ。
どこなのかまでは覚えてねえ。

234:デフォルトの名無しさん
12/01/22 22:59:42.73
ビジュアルツリーはそういうもんだろ
論理ツリーは?

235:デフォルトの名無しさん
12/01/23 00:24:34.82
おれらの思いつく突っ込みの9割はちゃんと意味がある仕様だよ

236:デフォルトの名無しさん
12/01/23 01:52:15.70
ウィンドウのサイズ変更中は、ウィンドウ内のレイアウトを書き換えないようにできないのか?
(「ドラッグ中にウィンドウの内容を表示する」を OFF にしたような感じ)
表示するコントロールを多くせざるを得ず、重くてしょうがない。

237:デフォルトの名無しさん
12/01/23 09:32:54.62
win7のおまけの上海みたいにするんじゃないの
自分で

238:デフォルトの名無しさん
12/01/23 11:20:07.72
scrollviewerのようにリサイズしても変わらないものに入れる

239:デフォルトの名無しさん
12/01/23 13:24:46.68
>>236
リサイズ中だけ、リサイズ前の制約を使って
レイアウトの計測フェーズを実行するパネルを作って最上位に配置

Window自体のレイアウトをオーバーライドしてもいいけどね

240:デフォルトの名無しさん
12/01/23 13:27:26.59
いちばん下にcanvasおいて、sizechangedの1秒後にcanvasサイズをウインドウに合わせればいいんじゃね
rxで

241:デフォルトの名無しさん
12/01/24 08:04:12.29
Rxのスロットル(だっけ?)にSizeChangedを通してあげれば実現できると思う。

242:236
12/01/25 00:24:48.61
レスサンクスです!
なんか昨日から書き込めなかった。
お礼が遅れて申し訳ない。

>>238
ワガママながら、レイアウトをサイズ変更に連動させたい

>>239
リサイズ中か、WPF で取得する方法あった?
それが取れれば一番良さそう

243:236
12/01/25 00:31:09.85
>>240,241
Reactive Extension 使って、SizeChanged の頻度を下げるってことですよね?
(スミマセン、rxの動きとかよくわかってないかも)
これだと、サイズ変更した瞬間には再レイアウトが始まらないので、若干都合が悪い気が…

ただ、そもそも Rx という存在を知らなかったので、だいぶ役立ちました。どうもです!!


Forms に ElementHost 使ってみたりしたけど、初回表示が激重になってしまう…

244:デフォルトの名無しさん
12/01/25 01:53:45.98
マウスが押されているかとかをリサイズ中かの判断材料にする。
基本使わないと思うけど、キーボード使ったりサイズは同じような感じで対策すればいい。
リサイズイベントと関係ないのはあまりよろしくないけど。

Rx の Throttle 使うならイベント通知の遅延が許容出来るミリ秒の設定。

Thumb みたいなのがあればいいんだろうけど俺は知らない。

245:236
12/01/25 15:18:15.00
>>244
> マウスが押されているかとかをリサイズ中かの判断材料にする。
なるほど!

> イベント通知の遅延が許容出来るミリ秒の設定。
マウスがはなされるまで遅延させ続ければればいいのね。
ようやく理解できた。

キーボードは、うん、対応しなくても大丈夫だと思う。

246:デフォルトの名無しさん
12/01/25 18:44:18.72
WPFで作るとほかのPCで動作しない可能性が高まる

247:デフォルトの名無しさん
12/01/25 21:10:52.01
>>246
WPF ってか、.NET のバージョンの問題でしょ。
.NET 3.5 までなら、普通に Windows Update してる XP に入ってるし大丈夫でしょ。
.NET 4 が使いづらいのはわかるが。

248:デフォルトの名無しさん
12/01/25 21:36:57.95
グラフィックドライバの問題は時々聞くねー

249:デフォルトの名無しさん
12/01/25 21:37:32.89
どちらかというとドライバー不具合の話じゃないのか?

250:デフォルトの名無しさん
12/01/25 23:45:00.93
すいません、とても緊急なことなんで、教えて頂ければ幸いです。

var thumb = sender as Thumb;
if (thumb == null) return;

var parent = thumb.Parent();
if (parent == null) return;
としたときにthumb.ParentのParentが

実行不可能なメンバー 'System.Windows.FrameworkElement.Parent' をメソッドのように使用することはできません。
というエラーを返してくるんですが、親要素を取得するためにはどうすればいいのでしょうか?

251:デフォルトの名無しさん
12/01/25 23:49:12.11
()を取れよ馬鹿

252:デフォルトの名無しさん
12/01/25 23:50:58.21
GetParentだったら Method
Parent はどう見ても Property

253:デフォルトの名無しさん
12/01/25 23:52:29.48
スレチに回答

254:デフォルトの名無しさん
12/01/25 23:56:16.22
有難うございます。スレチなのですか?一応WPfのことなので…すいません。
>>251
comoさんの所のサンプルコードを動かしてるのですが、()を外すと他の部分に支障が出るんです…
>>252
はい、プロパティを取得したいんです。どうすれば良いのでしょう…

255:デフォルトの名無しさん
12/01/25 23:57:36.51
なんだかんだでお前ら優しいよな

256:デフォルトの名無しさん
12/01/25 23:58:10.70
()を取れよ馬鹿

257:デフォルトの名無しさん
12/01/25 23:59:51.87
ふらっとに括弧外してエラー出るところ書き込みしろ。
エラー内容は予測できているから、そっちで回答してやるよ。

258:デフォルトの名無しさん
12/01/26 00:00:12.05
すいません、スレチであれば何処で聞けば良いか教えて頂けないでしょうか?
他にWPF関連のスレ見つからないもので…

259:デフォルトの名無しさん
12/01/26 00:01:10.45
>>257
ありがとうございます!Parentの()ですよね。
スレ汚しすいませんでした!

260:デフォルトの名無しさん
12/01/26 00:09:02.68
本当すいません、ふらっと出ぐぐったら宮城のSNSが出てきてそっちの登録しちゃいました!
ここの中のふらっとC#だったんですね、本当すいません!今すぐ行きます!

261:デフォルトの名無しさん
12/01/26 00:12:10.25
嵐のような奴だったなwww

262:デフォルトの名無しさん
12/01/26 00:15:59.03
オチが秀逸だなwまた来いよ

263:デフォルトの名無しさん
12/01/26 00:17:31.98
また来いよ。ふらっとにな。

264:デフォルトの名無しさん
12/01/29 14:54:53.92
Effectクラスを継承して、独自のエフェクトを作ることは出来ますか?
BlurEffect, DropShadowEffect, ShaderEffectがあるのは知ってますが、
これらはEffectクラスのどのメソッドを実装して作られているのでしょうか。

同じように、ImageSourceってどういう作りになってるのかなと思って、
WriteableBitmapみたいなものを継承して作ってみようと思ったんですけど、
一体どのメソッドをoverrideすればいいのか分かりませんでした。
abstractになってるのはWidth/Heightプロパティくらいで…

265:デフォルトの名無しさん
12/01/29 15:03:21.38
WPFは5年経ってもまだ普及しないのか。

266:デフォルトの名無しさん
12/01/29 15:27:08.58
WPFはVisual StudioみたいなMSの独占アプリでしか使われない。
出来が悪いが他に選択肢がないから、ユーザーが泣きながら使うと。

267:デフォルトの名無しさん
12/01/29 15:58:04.08
xamlだかなんだか知らないが、GUIのコード意識させるな
winformと使い勝手が違うらしくてメニューの作り方が分からん


268:デフォルトの名無しさん
12/01/29 16:06:47.27
QtとGTKで同じコードがうごかねえ死ねって言ってるようで滑稽なんだけど

269:デフォルトの名無しさん
12/01/29 16:12:20.03
同じコードで動いたら幸せだろ
みんなハッピーだろ

270:デフォルトの名無しさん
12/01/29 16:57:01.75
MSの偉い人はそれがわからんのですw

271:デフォルトの名無しさん
12/01/29 17:00:14.94
COBOLが動いてもうれしくないけど

272:デフォルトの名無しさん
12/01/29 17:01:05.74
そういえばWPFでググってでてくる記事書いてた人達(主に海外)が次々とMS陣営から
いなくなってんだけど

首になったりadobe陣営に移ったり…

273:デフォルトの名無しさん
12/01/29 20:57:18.72
WinRTが出た時点でWPFは切り捨て路線でしょ

274:デフォルトの名無しさん
12/01/29 21:52:52.98
数年後にはオフィスのデスクでみんながタブレット触ってるの?w

275:デフォルトの名無しさん
12/01/29 22:33:01.61
formsみたいな20年前の設計思想に戻りたいとか40代のおっさんかよ

276:デフォルトの名無しさん
12/01/29 22:35:52.71
何か文句があるのか若造

277:デフォルトの名無しさん
12/01/29 23:45:00.85
WinRTはMetro上でしか動かないらしいけど、今後wpf置き換えてく計画なの?

278:デフォルトの名無しさん
12/01/30 00:01:26.85
いや別に
だいたい、デスクトップとタッチデバイスなんてどうせ共通のUIでいけるわけじゃないんだから
同じにする意味がない

279:デフォルトの名無しさん
12/01/30 00:19:50.40
VirtualizingStackPanel を ScrollViewer の下に置いて、
仮想化させて表示させる方法はありませんか?
Stack の子要素のレイアウトを、StackPanel の幅に合わせたいので、
たんに ListBox を置くだけでは不十分でして…

↓表示されませんが、こんな感じです。

<Window Title="MainWindow" Loaded="Window_Loaded">
<ScrollViewer>
<VirtualizingStackPanel Name="stpMain" />
</ScrollViewer>
</Window>

private void Window_Loaded(object sender, RoutedEventArgs e) {
foreach (var ff in System.Windows.Media.Fonts.SystemFontFamilies) {
var txtt = new TextBox() {
FontFamily = ff,
Text = ff.Source
};
stpMain.Children.Add(txtt);
}
}

280:デフォルトの名無しさん
12/01/30 10:05:31.95
>>273
>WinRT
XAML+C#で開発するスタイルは、WPFやSilverlightと変わらんだろw

281:デフォルトの名無しさん
12/01/30 10:26:20.94
端的にいうとWinRTってのはMetro用のWPFだからな。

282:デフォルトの名無しさん
12/01/30 10:29:28.46
ウィンドウ、コントロールは単純に置き換えるとしても
画面遷移だな

283:デフォルトの名無しさん
12/01/30 19:38:37.87
メトロはアクティブ失ったときに5秒以内にデータ全部退避させられないとプロセスkillされるんだぜ
作りが全然違うよ。WPF作れないやつならメトロアプリも作れないだろ

284:デフォルトの名無しさん
12/01/30 19:45:40.14
阿鼻叫喚になりそう

285:デフォルトの名無しさん
12/01/30 22:06:54.05
必要ないなら使わない
これが正解

286:デフォルトの名無しさん
12/01/30 22:21:27.29
XNAもver4が出てからぱっとしないね
新アーキテクチャーのver4自体盛り上がってないし前のver3も死んだようになってる

新しいアーキテクチャーが出たら
両方とも死んじゃうみたいな流れは避けてほしいなあ

287:デフォルトの名無しさん
12/01/30 23:59:44.71
WPFのMono移植ですら難しそうだったが
WinRTになると・・・どうだろ

288:デフォルトの名無しさん
12/01/31 00:37:30.74
Monoは対応する気は無いと明言してるよ
WinRTに限らず、Monoはクロスプラットフォーム開発したいならUIとロジックを分離して、
UIはデバイスの特徴に合わせる必要があるから共通化なんて考えないでそれぞれ個別に作れという方針

289:デフォルトの名無しさん
12/01/31 00:38:06.56
やるわけないだろ

290:デフォルトの名無しさん
12/02/02 20:28:15.93
ちょいと質問です。
現在ViewModelでソートしたコレクションをバインドし、一覧として値を画面に表示しているのですが、
データを更新してもソート順が変わりません(表示する値自体はOnpropertyChangedで変わります)。
データの更新に合わせて画面のソート順も切り替えたい場合は何を使用すればよいのでしょうか?

ちなみに、内部の処理では問題なくソートしなおされていました。
おそらく画面に反映ができていないだけだと思うのですが・・・。

291:デフォルトの名無しさん
12/02/02 21:28:58.72
コレクションクラスに何使ってんのよ
ソートしてるってことはObservableCollection「じゃない」んだろうけど

ObservableCollectionが何実装してるか確認してみれば

292:デフォルトの名無しさん
12/02/03 11:46:28.45
View 側でソートさせるんじゃだめなの?

あとこれ。
URLリンク(d.hatena.ne.jp)


293:デフォルトの名無しさん
12/02/03 11:55:13.47
livet0.99でViewModelのListenerCommandを
View側の複数のCommandにバインドさせて、
RaiseCanExecuteChangedしても
1個のCommandにしかEnabled反映されないんだけど
使い方間違ってんのかな

0.98の自動モードだといけたんだが

294:デフォルトの名無しさん
12/02/03 23:30:45.90
>>291
すみません、書き方が悪かったです。
ObservableCollectionを使用しています。
具体的な手順は、

① ViewModel内で、Linq文の条件ででソートしつつ取得した内容をObservableCollectionに入れる
② 画面用のViewModel内にあるObservableCollectionに①の結果を入れる(参照渡し)
③ Viewで②のObservableCollectionをバインドし、ItemsControlを使って一覧表示

といった感じです(いわゆるMVVMです)。ソートは単純にキーで昇順ソートしています。
データ更新時には①の処理がもう一度行われます(②は画面表示時のみ)。
しかし、実際に更新すると値は変わるのですがソートがされません。
ViewModel内では変わっているのでバインドの更新?ができていない気がします・・・。

>>292
ありがとうございます。
CollectionViewですか!さっそく試してみたいと思います!
.NETは便利機能が多くて凄いけれど覚えるのも大変ですね・・・。

295:デフォルトの名無しさん
12/02/04 00:34:01.33
Vにバインドされている(VMの)コレクションの要素をちゃんと並び替えてるのか?
LINQから流し込むなら、一旦ClearしてAddを繰り返す必要があるはずだが

296:デフォルトの名無しさん
12/02/04 00:39:00.24
考えられる原因
①Add、Remove、InsertしてないのでCollectionChangedが発行されていない
②ViewModel.ItemsにObservableCollectionを代入する時にOnPropertyChangedを発行していない

たぶん②

297:デフォルトの名無しさん
12/02/04 23:37:19.49
下記のようなコレクションビューソースをWindow.Resourceで定義しており
<CollectionViewSource x:Key="DisplayItems" Source="{Binding Items,Source={StaticResource ViewModel}}" />

次のようにListBoxにバインドしています
<ListBox ItemsSource="{Binding Source={StaticResource DisplayItems}}" />

この状態で、XAMLからItemsSourceに入っているListCollectionViewインスタンスのCustomSortに
IComparerを実装したインスタンスを設定するにはどうすればよいでしょうか

コードビハインドに書けば以下のコードだけで済みますが
(FindResource("DisplayItems") as ListCollectionView).CustomSort = new CustomSorter();

298:デフォルトの名無しさん
12/02/04 23:43:55.97
間違えた

((FindResource("DisplayItems") as CollectionViewSource).View as ListCollectionView).CustomSort = new CustomSorter();

こうか
別にコードビハインドに書けば済むことですが
CollectionViewSource.SortDescriptionsはXAMLで簡単に指定できるようになっているのに、何だかなあと思った次第

299:デフォルトの名無しさん
12/02/06 17:55:23.51
MediaElementにdoubleclickイベントが無いようなので、親windowのダブルクリックイベントで代用して
MediaElementの部分がダブルクリックされた時だけアクションが起きるようにしたいのですが
どう書けばいいですか?

300:デフォルトの名無しさん
12/02/06 20:03:30.45
>>295-296
うおお、ありがとうございます!無事出来ましたー。
どうやらClear&Addしていなかったのが原因だったようです。
Linqの結果をリストにつめて、foreachでコレクションにAddしていったら動きました。

301:デフォルトの名無しさん
12/02/06 22:39:44.42
>>299
ウィンドウじゃなくてContentControlの子にしてContentControlのイベント拾えば

302:デフォルトの名無しさん
12/02/07 00:38:10.71
>>264をお願いします

303:デフォルトの名無しさん
12/02/07 01:00:39.22
>>302
wpf effect でググると出てくるサイトは嫌いか?
URLリンク(www.ipentec.com)

304:デフォルトの名無しさん
12/02/07 01:10:21.93
下はしらんけど、上は調べれば出てくるからまあ。
ただ、Effect 作りたいなら Shazzam っていうツールを使うといいよ。
URLリンク(shazzam-tool.com)

305:デフォルトの名無しさん
12/02/07 01:32:33.74
>>303,304
ありがとうございます。
すいません質問が悪かったようです。
ShaderEffectとHLSLを使えば、独自のエフェクトを実装できることは承知しています。
でもBlurEffectとDropShadowEffectはShaderEffectではなく、Effectクラスを継承していますが、
例えばもし自分がBlurEffectと全く同じものをEffectから継承して作成するには、どうしたらいいのでしょうか。
単にWPFのEffectの仕組みに対する興味なのですが、MSDNライブラリでEffectクラスの解説を読むと
> カスタム ビットマップ効果を実装するには、Effect クラスから派生させます。
と書かれているので、ShaderEffectを使わずに、Effectを実装する方法が気になりました。
Effect関連のソースコードが公開されていれば、簡単に分かると思うのですが。

306:デフォルトの名無しさん
12/02/07 01:39:29.94
無理
internalな抽象メンバ持っててパブリック拡張できない抽象クラスっていうのは
MSライブラリにはすごくよくあること

307:デフォルトの名無しさん
12/02/07 09:11:45.47
WPFのMessageBoxってGDIなんだな

308:デフォルトの名無しさん
12/02/07 09:36:59.67
わからないことがあるならILSpyとかでライブラリ覗いてみろよ
そこから見えないとこはC++で書いてあるだろうさ

309:デフォルトの名無しさん
12/02/09 12:07:03.79
windowのBackgroundを黒にして
this.WindowStyle = WindowStyle.None;
this.WindowState = WindowState.Maximized;

ってな感じでフルスクリーンにすると画面の右端と下端に白線が入るんですけど
直す方法はないですか?

310:デフォルトの名無しさん
12/02/09 12:10:24.58
RelativeSource冗長すぎなんだが改善予定ないのかね

311:デフォルトの名無しさん
12/02/09 12:46:22.66
>>309
実行したけど出ないぞ win7

どうせ試した奴がwindow閉じられなくなるっていたずらだろ
つまらねえよ

実行前にわかったからあらかじめcloseボタン作ったぞw

312:デフォルトの名無しさん
12/02/09 13:28:23.73
>>311
いやあ、win7-64bit機2台で試したけど両方とも出るんです。
やってる事はこれ↓だけなんですが。

1:VC# 2010ExpでWPFアプリケーションのプロジェクトを作成

2:windowとgridのbackgroundの色を黒に変更

3:csに以下のソースを追加
private bool isfull = false;
private void Change_Screen()
{
if (!isfull)
{
this.WindowStyle = WindowStyle.None;
this.WindowState = WindowState.Maximized;
}
else
{
this.WindowStyle = WindowStyle.SingleBorderWindow;
this.WindowState = WindowState.Normal;
}
isfull = !isfull;
}
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.F11)
{
Change_Screen();
}
}

313:デフォルトの名無しさん
12/02/09 14:41:25.48
>>312
Win7-64bitで試したけど出ないね。

>>311
開発者ならAlt+F4くらい覚えとけ。

314:デフォルトの名無しさん
12/02/09 15:01:51.43
>>312
拙者もwindows7 64bitで試したけど出ないでござるね。

315:デフォルトの名無しさん
12/02/09 15:10:31.80
ドライバ臭いな

316:312
12/02/09 15:15:33.89
システムの詳細設定・パフォーマンスオプションの視覚効果で
「ウインドウとボタンに視覚スタイルを使用する」を一旦オフにしてから再びオンにすると
白線が出なくなりました。
でも他のアプリケーションではそんな事をしなくても元々出ないので気になります・・・

317:デフォルトの名無しさん
12/02/09 15:27:21.68
>>316
ドライバだろ。
グラボ何使ってる?

318:312
12/02/09 15:36:22.32
>>317
一台はnvidiaのGT-520でもう一台は2600k内蔵です。
どっちも付属ディスクのドライバだった気がします。

319:デフォルトの名無しさん
12/02/09 20:52:15.92
怒らないからwindowクラスの上に何載せてるか言ってみ

320:デフォルトの名無しさん
12/02/09 21:43:46.49
>>313
ALT+Space派の俺が参上

ウィンドウの左上隅をダブルクリックして閉じるのは、MS的には非推奨なんだっけ

321:デフォルトの名無しさん
12/02/09 21:52:01.69
タスクマネージャから終了派の俺様の登場だ

322:デフォルトの名無しさん
12/02/09 21:59:07.38
taskkill派を忘れてもらっては困るね、諸君

323:デフォルトの名無しさん
12/02/09 23:08:39.76
XAML難しすぎ

324:デフォルトの名無しさん
12/02/09 23:41:26.41
そのうち快感になる

325:デフォルトの名無しさん
12/02/10 00:27:43.60
バインディングとかわかる機能だけ便利に使ってる

326:デフォルトの名無しさん
12/02/10 08:39:24.48
だいぶ慣れてきたけど、最初の敷居が高かった気がする・・・

327:デフォルトの名無しさん
12/02/10 11:46:19.93
なにこれ重たい

328:デフォルトの名無しさん
12/02/10 12:19:40.55
体重計が喋ってる

329:デフォルトの名無しさん
12/02/10 12:24:44.27
WPF が重いなんて言うのは嘘だな。
Core i7 メモリ12GB で使ってるけど全然軽いじゃん。

330:デフォルトの名無しさん
12/02/10 12:34:23.62
リッチ!抱いて!

331:デフォルトの名無しさん
12/02/10 12:38:26.55
俺もi72600と16GBとHD5970だけど別に重くないと思うな

332:デフォルトの名無しさん
12/02/10 13:00:58.20
PhenomII X4 955 3.20Ghz
4GB
HD5770
の、一般的なPCスペックだけど別に重くないぞ?

333:デフォルトの名無しさん
12/02/10 15:35:46.42
確信した!!!

あと5年はWPFは普及しない!!!

334:デフォルトの名無しさん
12/02/10 15:55:04.19
複数のテーマを使い分けるにはどうしたらいいですか?
たとえばslider1とslider2を違うデザインにしたいんですが。

335:デフォルトの名無しさん
12/02/10 18:20:18.24
>>334
それは同じウィンドウでということ?

336:デフォルトの名無しさん
12/02/10 18:21:42.48
それではもうテーマとは言えないだろう。

337:デフォルトの名無しさん
12/02/10 18:21:42.96
ここでXAMLが理解できないといってる奴は、昔ポインタが理解できないと言ってた奴等と同じ匂いがする。

338:デフォルトの名無しさん
12/02/10 18:22:44.08
>>333
その頃にはFormsは完全に亡んでいそうだな。
もっともその前に日本が亡んでいそうだが。

339:デフォルトの名無しさん
12/02/10 18:24:43.38
ポインタを理解していたら、XMLの遅さを理解しているはず。
結局はゲイツが正しかったわけだ。やはり技術者上がりの経営者は違う。

340:デフォルトの名無しさん
12/02/10 18:39:11.24
>>334
コントロール・テンプレート?

341:デフォルトの名無しさん
12/02/10 21:27:48.68
Core i5 2500、DDR3-SDRAM@4.00GB
WinVista+SP2 (x86)

今時じゃ微妙スペックなマシンだが、別に重くないがなあ。
.NET Frameworkの宿命で、アプリの初回起動だけは時間掛かるがね。

>>333
5年で普及するなら余裕ってもんよ。

342:デフォルトの名無しさん
12/02/10 21:55:41.34
WPFとVB6で作られたソフトは使いたくない

343:デフォルトの名無しさん
12/02/10 22:01:01.54
WPFでてからすでに5年はたってるんじゃまいか

344:デフォルトの名無しさん
12/02/10 22:27:15.92
WPF使いたくないのはともかく、なぜVB6を引き合いに出す

345:デフォルトの名無しさん
12/02/10 23:16:04.55
>>342
使われてるフレームワークでアプリを選ぶって無理じゃね?

346:デフォルトの名無しさん
12/02/10 23:56:10.22
今のところWPF使ってる人の方がWinForms組よりも圧倒的に平均スキルが上だろうから
そういう意味ではWPFで作られたソフトの方が良いのかもしれない

347:デフォルトの名無しさん
12/02/11 00:59:20.71
Behavior作ってBlendで配置してみたらICommandを設定するつもりのプロパティが
トリガーとして表示されるんだけどなんでだろう
どうやってもトリガーのままで、しょうがないからXAML手書きしてる

348:デフォルトの名無しさん
12/02/11 02:19:07.47
>>346
業務でWPFを推す奴は総じてスキルが低いのはなぜなのか。

349:デフォルトの名無しさん
12/02/11 02:26:31.67
ビハインド主体のWPFでも移行コスト高いんかね

350:デフォルトの名無しさん
12/02/11 03:13:08.11
WPFはなんかの拍子で不安定なるのが多い
業務で使うなら安定したWinFormsだろ

351:デフォルトの名無しさん
12/02/11 08:33:29.57 BE:285538695-PLT(12101)
製品でつかったことはあるが、環境依存不具合が問題だな。
性能の低いPCだとみたことない現象がボロボロと

352:デフォルトの名無しさん
12/02/11 08:40:56.52
>>348
本当にスキルのあるやつは最先端の技術を難なく使いこなせても
実際の業務では枯れた記述を使う。

353:デフォルトの名無しさん
12/02/11 08:41:38.62
記述になっとる・・

354:デフォルトの名無しさん
12/02/11 08:46:09.74
遅レスだけど、
川俣氏の記事は最高に読みやすい
特に@itのC#記事には助けられた。
読みにくいと言っている奴は、単に己のスキルが低いだけでは?

355:デフォルトの名無しさん
12/02/11 09:01:57.53
川俣の記事はマニアック過ぎて一般向けではないな。

356:デフォルトの名無しさん
12/02/11 09:06:21.65
あの人の記事、個人的には好きだし役立つと思ってるけど

WPFのことは何も書いてないから、このスレ的にはスレ違い??

357:デフォルトの名無しさん
12/02/11 09:16:59.24
>>355
たしかに、ライトユーザ向けではないが、
熟練者には貴重な記事だと思った。
読んでて感心したから。

尾上氏の記事はまあ、、、たしかに読解が困難だなあ。
これも俺のスキルが低いからかな?

358:デフォルトの名無しさん
12/02/11 10:05:25.25
俺も川俣のc#入門本に助けられた
12か月ほどどこに行くにも川俣の本持って行って空き時間に何度も読んでた
同じ本を何度も読んだのは人生であの本だけ
期待してた続編はいまいちだったけど…

359:デフォルトの名無しさん
12/02/11 10:05:57.56
1~2か月ね…

360:デフォルトの名無しさん
12/02/11 10:12:15.39
川俣が読みやすいというのは関数型よりCOBOLのソースの方が読みやすいというような感覚に近い
密度の問題だな

361:デフォルトの名無しさん
12/02/11 11:04:20.65
暇つぶしに読むほど熱中したのはPythonのリファレンスだけだわ

362:デフォルトの名無しさん
12/02/11 20:56:21.06
>>352
スキルある奴は運用や保守のことも考慮してるってことなんだよな。

363:デフォルトの名無しさん
12/02/11 21:36:48.95
スキルのあるヤツが作ったドカタプログラムとドカタプログラマーの作った
ドカタプログラムは全く別のもなのである。

364:デフォルトの名無しさん
12/02/11 21:41:21.71
そして同じ値段で売られるという

365:デフォルトの名無しさん
12/02/11 21:51:32.24
スキルのあるプログラマはドカタプログラマーの数分の1の期間で作るので値段は安くなる。

366:デフォルトの名無しさん
12/02/11 22:10:34.51
同じ値段で売ればより原価率が下がるじゃん
会社としてはそっちの方が正義やろ

367:デフォルトの名無しさん
12/02/11 22:23:22.63
個人としてはコキ使われてる感半端ねー

368:デフォルトの名無しさん
12/02/11 22:24:52.38
スキルのあるプログラマは
給料は殆ど変わらないのに
ドカタプログラマーの分まで働かされて
気が狂って消息不明になると

369:デフォルトの名無しさん
12/02/11 22:43:00.30
スキルのないプログラマがスキルのあるプログラマの内面を想像しようだなんて
下手の考え何とやらだと思いませんか

370:デフォルトの名無しさん
12/02/11 22:43:15.08
バギーで動かない、読めないコードの保守を頼まれたらキレるべし。

371:デフォルトの名無しさん
12/02/12 00:01:21.47
>>370
プロであれば切れる前にぼったくる事を考えるべし。

372:デフォルトの名無しさん
12/02/12 00:08:32.54
「リプレースした方が『結果的には』安く済みますよ!」

373:デフォルトの名無しさん
12/02/12 00:26:18.71
二月に入ってから米で妙な噂あるよな
何なんだろうね

374:デフォルトの名無しさん
12/02/12 02:30:38.66


375:デフォルトの名無しさん
12/02/12 03:40:52.91
MSに対してFUDFUDいうほうがFUDしてる罠

376:デフォルトの名無しさん
12/02/12 09:30:52.42
怪しいお米

377:デフォルトの名無しさん
12/02/12 10:08:57.45
>>372
「結果的に安く済む」の根拠を会社の上層部に分かりやすく出すのは難しいし
動くプラットーホームが無くなったときに足元を見てぼったくるチャンスを逃す事にもなる。

よって無駄な延命措置をするのがプロのお仕事。

378:デフォルトの名無しさん
12/02/13 12:06:04.79
どうでもいいが、スレ違いの話で盛り上がるなよ。
結論はWPF最強ってことでよろしく。

379:デフォルトの名無しさん
12/02/13 12:24:47.11
source1のHeightPropertyをsource2のHeightPropertyの1/10の値でbindingさせたいのですが
C#コードで書くとどうなりますか?

380:デフォルトの名無しさん
12/02/13 12:42:17.08
source1.HeightProperty= @source2.HeightProperty.Convert((x)=>return x/10);

381:デフォルトの名無しさん
12/02/13 12:44:16.08
先頭の@が抜けてた

@source1.HeightProperty= @source2.HeightProperty.Convert((x)=>return x/10);

382:デフォルトの名無しさん
12/02/13 16:23:30.40
wpf2ちゃんブラウザまだ?

383:デフォルトの名無しさん
12/02/14 06:27:56.46
RoutedCommandって
・Commandプロパティに設定されてる要素から始まって、
ルート要素に行くまで、親要素でExecute、CanExecuteの評価をする。
・CommandBindingでハンドラがヒモづけられてる要素あるいは
内部で既に実装を持ってる要素で動作する。
・動作した後も引き続きルート要素まで登っていく
機能で、
VMでは定義せず、もっぱらV上で完結するコマンドと理解しておk?
うーんよくわかんね。

384:デフォルトの名無しさん
12/02/14 09:02:15.30
exactly

385:デフォルトの名無しさん
12/02/14 09:04:37.14
補足すると

>・動作した後も引き続きルート要素まで登っていく

イベント引数の Handled に true をセットでイベント終了。


386:デフォルトの名無しさん
12/02/14 14:48:16.64
>>385
てことは一度動作するとそこでルーティングは終わっちゃうのね。ありがとう

387:デフォルトの名無しさん
12/02/14 18:59:57.82
TextBlock1.GetValue(Canvas.LeftProperty)
の値が変化した時にイベントを発生させてメソッドを呼び出すにはどうしたらいいですか?

388:デフォルトの名無しさん
12/02/14 19:41:24.88
>>387
つ 依存関係プロパティと通知

389:デフォルトの名無しさん
12/02/14 21:33:00.88
ひどい解決法だな

390:デフォルトの名無しさん
12/02/14 21:55:45.95
DataTriggerでAction実行するのと変わらんだろ

391:デフォルトの名無しさん
12/02/14 22:40:20.75
まっとうな通知法がないってことじゃないか

392:デフォルトの名無しさん
12/02/14 22:41:32.67
YES Sir

393:デフォルトの名無しさん
12/02/14 23:24:02.99
今の時代、何が真っ当か決めてるのはフレームワークだからねえ
従えないなら出てけと言わんばかり

394:デフォルトの名無しさん
12/02/15 00:49:37.96
WPFを使い始めようと思うのですが、ちょっと入門してみたところ、
どうやらWPFはMVVMというパターンを使うのが当たり前のようになってると感じました。
Windows Formsを使っていたときは、パターンなんて何も考えずに書いてましたが、
WPFを使うにはMVVMを勉強しないといけないですか?
MVVMを知らずにWPFを使ってる人はいるのでしょうか。

395:デフォルトの名無しさん
12/02/15 01:02:56.72
MVVMなんか無視でおk
WinFormsと同じように使える

396:デフォルトの名無しさん
12/02/15 01:03:56.13
>>387
「変化した」じゃなくて「変化させる」コードを捕まえればいいんじゃないの

397:デフォルトの名無しさん
12/02/15 01:51:53.25
>>394
MVVM使わないとWPFのメリットあまり無いけど
それでもいいのなら

398:デフォルトの名無しさん
12/02/15 06:28:21.39
MVVMでなくてもいいが、WindowやControlと、Source、DataContextは別にしてバインドさせた方がいい
その方が圧倒的に楽にいろいろできる

399:デフォルトの名無しさん
12/02/15 09:05:14.75
>>398がいい加減な事書いてるけど、ちっこいプログラムしか作らない
日曜プログラマーな人なら、面倒なだけで、自己満足を除いては
メリットを感じる場面はほとんどないだろうな

400:デフォルトの名無しさん
12/02/15 09:31:22.60
MVVMがメリットてw
自由度が上がった分複雑になっているからそれをカバーするために
バインディングが強化されているのであって、決してMVVMは目的ではない
あくまで表現力の強化がWPFを使う目的

401:デフォルトの名無しさん
12/02/15 10:28:04.09
MVVMはインフラとドキュメントがまだしっかりしてないから初学者には厳しいね

402:デフォルトの名無しさん
12/02/15 10:53:57.34
WPF はバインドを基本に設計されてて、イベントドリブンの詰めが甘々な仕様です。
Forms と同じようにイベントドリブンにすると、あり得ない挙動をするから要注意。
MVVM は万能かつ絶対ではないが、せめて V と VMM(VM と M を一つのクラス) とかに分けてバインドさせる方がよい。

403:デフォルトの名無しさん
12/02/15 10:55:26.41
>>401
Livet があるだろ。

404:デフォルトの名無しさん
12/02/15 10:56:48.20
コマンドもイベントドリブンだから

405:デフォルトの名無しさん
12/02/15 11:31:01.40
標準インフラ的にViewModelは存在すらしてないからな

406:デフォルトの名無しさん
12/02/15 15:09:18.42
パターン知らなくてもできる そりゃできるだろ。
LINQ知らなくても、ラムダ知らなくても、匿名メソッド知らなくても同じ動きのコード書けるからな。
でもそれがどういう意味かわかるよな。

407:デフォルトの名無しさん
12/02/15 17:39:06.24
>>406
( ゚д゚) b しーっ、それじゃ例えが高尚すぎて、ここの人達ついてけないよ。

> クラス知らなくても、変数知らなくても同じ動きのコード書けるからな。

くらいまで落とさなくちゃダメ!

408:デフォルトの名無しさん
12/02/15 18:08:12.88
初心者にMVVMはお勧めできないな。

まずはDataTemplateやBindingの基礎をしっかり理解した方がいい。

すると、コードビハインドでは面倒な場面が出てくるから、
その解決策としてMVVMを学ぶといい。

409:デフォルトの名無しさん
12/02/15 18:31:59.55
だね
従来型の弱点がわかってて
それを違う形にしたい人向け

したくない人はそのままでいい

410:デフォルトの名無しさん
12/02/15 20:28:29.28
>>406の挙げてるような使ったら楽になる類のものとは違ってトレードオフだからな
適用するべきか否か自分で判断できないようなレベルで使っても
まず間違いなく余計に手間かかってデメリットのほうが多い

411:デフォルトの名無しさん
12/02/16 01:57:21.99
WPFのメリットで一番わかりやすい点はデザイン面なんだから
さっさとBlend配布か統合して欲しい

412:デフォルトの名無しさん
12/02/16 07:42:14.52
お買い求めください

413:デフォルトの名無しさん
12/02/16 07:48:44.56
おことわりします
WPFなんて要りません
工数が無駄に増えます

414:デフォルトの名無しさん
12/02/16 08:57:52.62
>>412-413
自演臭い

415:デフォルトの名無しさん
12/02/16 11:11:11.05
XAMLの歴史

WPF発表~

普及しない

silverlightでどうだ~

普及しない

wpにも載せてみました~

普及しない

metro作ったよ~

416:デフォルトの名無しさん
12/02/16 16:52:10.09
むしろ開発が中止されたManagedDirectXのほうが普及し使われてる感がある。

417:デフォルトの名無しさん
12/02/16 17:39:43.83
項羽と劉邦級の一発逆転があるかもしれない!

418:デフォルトの名無しさん
12/02/16 20:41:50.78
初回起動が速ければ使う方から受け入れられていくと思うんだよね
スプラッシュは必須か

419:デフォルトの名無しさん
12/02/17 01:37:43.87
ユニットテストやりやすくなった分だけ捗る

420:デフォルトの名無しさん
12/02/17 11:32:21.86
mediaelmentでRepeatBehavior="Forever"として、
連続再生していたら、動画が停止してしまいます。

ディスプレイ解像度を変えたら停止するようなのですが、
他に原因ってあるのでしょうか。

421:デフォルトの名無しさん
12/02/17 16:04:52.57
WinFormで作ったエディターコントロールをWPFに移植しようと思う
Controlだと読み込んだファイルの内容を描写できないから、エディターコントロールを作りたい場合はFleamworkElementを継承して使うという感じでいいんだよな?


422:421
12/02/17 16:17:45.18
× 描写できないから
○ 独自に描写できないから

423:デフォルトの名無しさん
12/02/17 16:37:31.84
>>421
Controlだからって直接描画できない事は無いよ。

けど、性能面やTemplateへの対応を考えると、
描画を担当する部分はFrameworkElement派生で作って
それをControl派生クラスでラップする形がいいと思う。

424:デフォルトの名無しさん
12/02/17 21:15:26.84
>>423
ふむふむ
そういう風に作るといいのか
参考にしてみる
ありがとう


425:デフォルトの名無しさん
12/02/19 12:39:39.23
DataGridにクラス配列を読み込んで列を作りたいのですがどうすればいいですか?
public class Person
{
public int num;
public string name;
}

List<Person> persons=(List<Person>)data;
dataGrid1.ItemsSource=persons;
と書いたらとりあえず行は読み込んだみたいですが続きがわかりません。

426:デフォルトの名無しさん
12/02/19 13:13:57.17
おーとじぇねれーとからむとかいうプロパティ

427:デフォルトの名無しさん
12/02/19 13:16:02.99
あ、AutoGenerateColumnsは規定でtrueだから違うな
「Personのnumとnameがプロパティになってない」からだ

428:デフォルトの名無しさん
12/02/20 01:43:10.26
多重起動を防止したいのですが、既に開いてる方の実行ファイルを閉じて
新しい方を開くのはどうすればいいですか?

429:デフォルトの名無しさん
12/02/20 02:14:14.40
SendMessageでもWCFでも何でもいいが
メッセージ受け付けるようにしといて閉じろ!って念を送れ

430:デフォルトの名無しさん
12/02/20 02:19:14.54
>>428
WCF使ってプロセス間通信すれば出来ると思うが
既に開いている方は、必ずしも安全に閉じられるとは限らないから
よく検討してから仕様決めるべきだね

431:デフォルトの名無しさん
12/02/20 03:24:06.37
閉じろーゴマァ!

432:デフォルトの名無しさん
12/02/20 18:03:13.76
WPFのツリービューの欠点はWindows.Formsのツリービューと比べて
アイコン付きのノードを表示するのに時間がかかりすぎることだ。
数万のフォルダを表示するのに何分もかかる。結局、
TreeViewItemのHeaderに文字列を入れるしかなかった。

433:デフォルトの名無しさん
12/02/20 19:05:35.42
TreeViewに限らず、ImageコントロールのVisualTreeへの追加は遅いね。
画像のデコードを別スレッドでやっても遅い。

仮想化されたListViewのItem内で使うとスクロール時のFPSが大きく下がるし。

434:デフォルトの名無しさん
12/02/20 19:58:34.25
エクスプローラーがフォルダツリー表示するときにいちいちツリー作ってると思ってるのかい

435:デフォルトの名無しさん
12/02/20 20:25:42.80
万単位扱うの好きだよなw
見もしないデータグリッドに100万項目並べてみたり

436:デフォルトの名無しさん
12/02/20 20:40:16.93
100万はともかく、万単位は軽々と扱えて欲しいもんだ

それ位の余力がないと
ItemTemplate、VisualState、Behaviorの使用を抑制する必要が出てきて
WPFのメリットが活かせない

437:デフォルトの名無しさん
12/02/20 20:45:58.99
デコードが遅いんじゃないのだからデコードを別スレッドにしたところで意味無いわけで
何が言いたいのやら

Imageが遅いのは大抵スケーリングのせいだよ
そのためにDecodePixelHeightで使用時に近い大きさにデコードするようになってるわけで

438:デフォルトの名無しさん
12/02/20 20:47:39.54
データ1万個並べるプログラマに何言っても無駄じゃないの
Googleが検索結果一万個並べて表示してるか?

439:デフォルトの名無しさん
12/02/20 20:52:04.49
大きさが不ぞろいなアイテムだとレイアウトエンジンがフンガー言うし
例えばListBoxにWrapPanelをコンテナにして水平スクロールを切り、Imageを追加すると凄いことになる
欠陥品以外の何なのか

440:デフォルトの名無しさん
12/02/20 20:52:25.12
仮想化されたListViewって書いてあるけど違うのか?

441:デフォルトの名無しさん
12/02/20 20:54:23.65
>>439
俺もわざとやったことあるな
GUIが本当に固まるの

仮想化されたWrapPanelって外人が作ってたな

442:デフォルトの名無しさん
12/02/20 21:03:51.26
>>438
実用アプリでデータ1万件表示は求めんよ

言いたいのは、サンプルアプリレベルで1万件表示できないと、
実用アプリじゃ100件でも厳しいって事

Googleだって、検索結果1万件は非現実的だが、
HTMLのエレメント1万個なら有り得る範囲だろ

443:デフォルトの名無しさん
12/02/20 21:59:35.52
DirBaseのWPF版を作っているのだが、ノードの表示があまりにも遅いので、
ツリーにいくつノードがあるのか表示前に数えて、
2000個以上あったなら、TreeViewItemのHeaderプロパティに
フォルダ名の文字列だけをいれて、2000個より少なければ、
イメージとテキストブロックを配置したしたスタックパネルを入れることで対応した。

444:デフォルトの名無しさん
12/02/20 22:27:03.45
さすがにそれは酷い・・・

まずはDataTemplateと仮想化をちゃんと使おうぜ

445:デフォルトの名無しさん
12/02/20 22:31:23.41
しかし、TreeViewの仮想化は使うとガクガクになるからなぁ

意外と>>443のやり方も正解かもしれん

446:デフォルトの名無しさん
12/02/21 13:34:54.42
DataGridのn行目を現在表示されてる範囲の最後の行に指定するにはどうしたらいいですか?

447:デフォルトの名無しさん
12/02/22 17:29:49.89
このスレってソース上げたら修正してもらえます?
うまく動かない箇所があるんですが。

448:デフォルトの名無しさん
12/02/22 17:45:11.89
突っ込みたくてたまらなくなるような刺激的なソースなら修正してもらえるだろう

449:デフォルトの名無しさん
12/02/22 19:25:25.22
URLリンク(www1.axfc.net)
要素を拡縮平行移動するテストアプリを作りました。
左ドラッグで平行移動、右ドラッグ上下で拡縮します。
拡縮はCenterX,Yを用いて中心点を設定します。
右クリック時のポインタ座標が中心点です。

このアプリだと意図したとおりに動きません。
拡縮や平行移動を繰り返していると拡縮を行うとき(右クリック時)勝手に要素が動いてしまいます。
これを勝手に動かないようにしたいです。

450:デフォルトの名無しさん
12/02/22 19:47:05.59
>>449

>>1
読もうな?

451:デフォルトの名無しさん
12/02/22 19:54:22.46
WPFに関する部分なんでこのスレがふさわしいかと思いましたが…。
では>>449は取り下げて、ふらっとC#の方で改めて質問します。

452:デフォルトの名無しさん
12/02/22 21:48:47.38
DataGrid.Columnsの中身を別XAMLに定義って無理?

453:デフォルトの名無しさん
12/02/22 23:39:37.57
DataGridごと定義しろ

454:デフォルトの名無しさん
12/02/23 08:36:07.25
>>449の質問がふらっとスレですげぇ盛り上がってた


455:デフォルトの名無しさん
12/02/23 12:23:41.06
DoubleAnimationって一時停止とかできないんですかね?
あと、たとえばウインドウの右から左にコントロールが移動する時、
ウインドウのサイズ変化に合わせて移動速度を変えたりとかしたいのですが。

456:デフォルトの名無しさん
12/02/23 13:41:10.25
一時停止出来るよ

457:デフォルトの名無しさん
12/02/23 15:02:20.94
ストーリーボードならできるよ
URLリンク(msdn.microsoft.com)

458:デフォルトの名無しさん
12/02/24 17:22:02.41
GridでもCanvasでもRectでもなんでもいいんですが、特定のエリアの上に
(Childrenではない)別のコントロールが重なっているかどうかを調べる方法はありますか?
たとえばCanvasの端にちょっとだけButtonの一部がのっかってるかどうかを調べたいのですが。

459:デフォルトの名無しさん
12/02/24 17:32:20.82
VisualTreeHelper.HitTest ?

460:デフォルトの名無しさん
12/02/25 08:43:03.21
タブコントロールのタブページを動的に作成し追加するのなら、
XAMLを使わず、コードのみでレイアウトする知識が必要だ。
コード中心の学習に方向転換をすることで、WPFの理解が深まる。
XAMLはコードの簡略表現に過ぎないことも理解できる。
幸いアメリカのサイトを検索すると、サンプルコードが簡単に
手に入る。


461:デフォルトの名無しさん
12/02/25 09:42:01.63
なんというチラ裏

462:デフォルトの名無しさん
12/02/25 12:39:13.71
コードでGUI作成って方向はアリなのか?

463:デフォルトの名無しさん
12/02/25 12:46:18.92
必要であれば

464:デフォルトの名無しさん
12/02/25 12:55:35.98
2012はやく試したいな

465:デフォルトの名無しさん
12/02/25 13:20:16.48
C#コードでDateTemplateをかけなかったりと
XAMLでできることはC#でもできるとは限らないのがイヤン

466:デフォルトの名無しさん
12/02/25 13:31:18.30
FrameworkElementFactory使えば書けるよ>コードビハインドでDataTemplete
XAMLの方が楽なのは言うまでもなく否定しない

Binding binding = new Binding();
binding.Path = new PropertyPath("Name");
binding.Mode = BindingMode.OneWay;

FrameworkElementFactory textElement = new FrameworkElementFactory(typeof(TextBlock));
textElement.SetBinding(TextBlock.TextProperty, binding);

dataTemplate.VisualTree = textElement;

467:デフォルトの名無しさん
12/02/25 14:08:41.34
VS2012tteいつ出るんだ?
win8の後?

win8は9月より後らしいけどその前に出さないかな?

468:デフォルトの名無しさん
12/02/25 14:14:17.71
29日にWin8と同時にカスタマープレビューだが
製品は分からんね

469:デフォルトの名無しさん
12/02/25 14:25:42.08
metroアプリ量産してがっぽり稼ぎたい

470:デフォルトの名無しさん
12/02/25 14:28:11.00
乗るしかない、このビッグウェーブに

471:デフォルトの名無しさん
12/02/25 15:48:14.89
末端開発者が乗り気でも、ユーザーましてやPCメーカーがついてこないとな

472:デフォルトの名無しさん
12/02/25 15:52:06.69
こんどのベータでどれぐらいWPF→METROの移植性あるか分かりそうだから
気合入れるか

473:デフォルトの名無しさん
12/02/25 15:58:22.56
小遣い程度稼げるなら頑張るよw

まあ無理だろうけどw

474:デフォルトの名無しさん
12/02/25 16:01:27.51
100円ぐらいのアプリを月に100本ダウンロードされるだけでいいんだけどなあ

475:デフォルトの名無しさん
12/02/25 20:54:42.76
>>472
ねえよそんなもん
ベタ移植できたところでそんなのタッチUIで使い物にならん

476:デフォルトの名無しさん
12/02/25 21:30:52.32
BMI計算機でも作るか

477:デフォルトの名無しさん
12/02/25 23:30:13.94
Blend5も出るんだよな?

478:デフォルトの名無しさん
12/02/26 12:52:17.64
ツール作りたいんだけどFormsに比べて難しすぎる・・・。
DockPanelも自前でがんばれって事なのか。

479:デフォルトの名無しさん
12/02/26 12:57:14.06
ちょっと聞きたいんだけど、WindowsFormsで普通に組んでて、
部分的にWPFのGUI作ってHostでForms上に表示する場合って
テーマで見た目を変えることって不可能?

480:デフォルトの名無しさん
12/02/26 23:31:09.80
普通にできるけど

481:デフォルトの名無しさん
12/02/26 23:58:47.13
UserControlだとApplyThemeないけど出来たっけ?

482:デフォルトの名無しさん
12/02/27 01:15:26.09
Style使えばいいでしょ

483:デフォルトの名無しさん
12/02/27 20:51:34.11
ストリーム上の画像を表示しようとしています
BitmapDecoder decoder = BitmapDecoder.Create(_memory, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad);
BitmapSource source = decoder.Frames[0];
_image.Source = source;
て感じでやろうとしてるんだけど、PNGとかGIFは表示できてるのにJPEGだけFileFormatExceptionが出て何故かデコードできない
これ分かる人いますか?

484:デフォルトの名無しさん
12/02/27 20:54:47.03
IgnoreColorProfile試してからもう一回来てくれ

485:483
12/02/28 00:41:58.89
まだ原因は分かってないけど>>483以前の問題によるもののようです
ちゃんと確かめずに書き込んですまん

486:デフォルトの名無しさん
12/02/29 20:01:00.48
共通部分のコントロール分離して整理していったら
XAMLファイルガンガン増えるんだけどそんなもん?

487:デフォルトの名無しさん
12/02/29 20:09:39.46
全部MainWindow.XAMLに詰め込んでBlendでグリグリ弄るのが流儀だと思てた

488:デフォルトの名無しさん
12/02/29 20:24:19.41
流儀が確立されるほど流行ってないとか言ったら怒られますか?

489:デフォルトの名無しさん
12/02/29 21:02:31.87
MSのサンプルもそれぞれ手法違うしな

490:デフォルトの名無しさん
12/02/29 23:15:25.35
csファイルと同じなんじゃないの

491:デフォルトの名無しさん
12/03/01 02:39:17.27
blend5きてないじゃん

492:デフォルトの名無しさん
12/03/01 03:54:53.52
コントロールが重なっていた場合、表示順位が上か下かをcsで設定するにはどうすればいいですか?

493:デフォルトの名無しさん
12/03/01 07:07:29.69
WPFでつくたアプリケーションは同じ機能のWindoes.Formsのアプリケーションと比べて、
実行時に10倍以上のメモリを食いつぶすことが判明した。
Windoes.Formsでは絶対に作れないアプリケーションでないと、
WPFでアプリケーションを作ることはコスト的に割が合わないだろう。


494:デフォルトの名無しさん
12/03/01 07:18:57.05
Visual Studio 11 はXP切り捨てか

495:デフォルトの名無しさん
12/03/01 08:24:37.79
>>492
Panel.SetZIndex

496:デフォルトの名無しさん
12/03/01 08:48:24.66
URLリンク(msdn.microsoft.com)

開発者向けダウンロード
URLリンク(msdn.microsoft.com)

497:デフォルトの名無しさん
12/03/01 09:02:15.54
2010のIDEはGDI部分多かったが今回どんなもんかな

498:デフォルトの名無しさん
12/03/01 09:06:34.46
ごく一部にアニメーションが入って
ちょっとおしゃれになってる

499:デフォルトの名無しさん
12/03/01 09:26:32.96
win8にコマンドって用語が増えた
やっぱり.netチームと仲が悪いんだな

500:デフォルトの名無しさん
12/03/01 12:24:17.23
XMLで、依存プロパティとかいうの書くのかなり長ったらしかったけど
C#5.0で短くなったりしないかな

501:デフォルトの名無しさん
12/03/01 12:32:18.61
ProでもBlend5 for Visual Studio付いてきてるぞ

502:デフォルトの名無しさん
12/03/01 22:36:26.57
WPFもせっかくVSで結構良い仕事してるんだから
VSで使われてるツリービューとかシェルとかダイアログとかのコンポーネントを提供してほしいわ
MSだけがWPF開発のノウハウ蓄えてもなあ

503:デフォルトの名無しさん
12/03/01 23:48:52.88
今回Toolkit統合なしか

504:デフォルトの名無しさん
12/03/02 09:45:54.00
System.Windows.Controls.Panelを継承した自前クラスを用意して
そこに対してDirectXでのレンダリングを行いたいです。

System.Windows.Interop.HwndSource.FromVisual(this)
ってやるとこのコントロールを貼り付けた親のウィンドウハンドルになってしまうのだけど
このコントロール自身のハンドルってWPFじゃ取得不可能?

505:デフォルトの名無しさん
12/03/02 10:04:40.36
WPFのコントロールにハンドルは無い
Direct3D使いたいんだったらD3DImageというものがあるので第一に検討する
どうしてもハンドル取ってWindowsのコントロールに直接描画したいならWindowsFormsHost

506:デフォルトの名無しさん
12/03/02 12:04:11.68
VS2010でWin8のスタートに表示するタイル作る方法ある?

507:デフォルトの名無しさん
12/03/02 12:18:25.84
多分インストール時にプログラムメニューに入れれば追加されるんじゃないかな
古いアプリも追加されてるし
ちなみにVS11でMetroアプリの場合はサンプルをビルドするだけで追加されたちょっとうざい

508:デフォルトの名無しさん
12/03/02 12:24:04.79
>>507
アイコンは表示されるけど、自分でデザインしたタイルを表示させたい場合はどうすればいいんだろ?

509:デフォルトの名無しさん
12/03/02 13:07:18.20
win8 SDK使えばいい
VS11必須だろうけど

510:デフォルトの名無しさん
12/03/02 14:41:36.41
>>509
VS2010 だとだめか・・・ありがとです。

511:デフォルトの名無しさん
12/03/02 18:26:12.13
XAMLはじまったな(やっと)
URLリンク(www.charlespetzold.com)

512:デフォルトの名無しさん
12/03/02 19:06:01.78
WPFは・・・

513:デフォルトの名無しさん
12/03/02 19:45:05.11
何で同じアセンブリじゃXmlnsDefinition使えないんだ

514:デフォルトの名無しさん
12/03/02 22:43:49.57
winrtは同じxamlだろっていじりはじめるとひどい目に遭う
1)名前空間が違う
2)非同期処理じゃないと許さないよ

515:デフォルトの名無しさん
12/03/02 22:53:19.58
名前空間はウザイけど非同期はどうでもいいや
どうせVS2010ではやらないし

516:デフォルトの名無しさん
12/03/02 23:00:19.07
.NET4.5系の非同期はasync使うんだぞ
ジェネリックやLINQどころではなくたぶん今までのC#の歴史の中で最もインパクトの大きい変化

517:デフォルトの名無しさん
12/03/03 09:21:13.96
xamlって名前空間分けた自前クラス使うと宣言面倒なんだけど
どうやるのが推奨なの?

518:デフォルトの名無しさん
12/03/03 09:41:11.73
先頭でエイリアスを指定する

519:デフォルトの名無しさん
12/03/03 10:06:39.44
ListBoxItemを取得しようとしてて以下でitemがnullになるんだけど何が悪いんだろうか
ListBox box = new ListBox();
int index = box.Items.Add("0");
ListBoxItem item = (ListBoxItem)box.ItemContainerGenerator.ContainerFromIndex(index);

520:デフォルトの名無しさん
12/03/03 10:38:19.67
まだ生成されてないから
Visual要素だから実際に表示されるまで生成されないです

521:デフォルトの名無しさん
12/03/03 10:40:27.43
生成されたときに何かしたいんならItemContainerGeneratorを実装する

522:デフォルトの名無しさん
12/03/03 10:48:19.56
>>520,521
なるほど、サンクス!

523:517
12/03/03 11:45:59.20
>>518
こんな感じでズラズラ書くしかないのか
xmlns:a="clr-namespace:Company.Util"
xmlns:a="clr-namespace:Company.Util.Math"
xmlns:a="clr-namespace:Company.Views"
xmlns:a="clr-namespace:Company.Views.Foo"

524:517
12/03/03 11:46:48.55
訂正
xmlns:u="clr-namespace:Company.Util"
xmlns:um="clr-namespace:Company.Util.Math"
xmlns:v="clr-namespace:Company.Views"
xmlns:vf="clr-namespace:Company.Views.Foo"

525:デフォルトの名無しさん
12/03/03 11:50:12.45
もう面倒だから全部フラットなネームスペースに入れてしまえ。

526:デフォルトの名無しさん
12/03/03 12:00:38.05
Blend的にディレクトリ分けても名前空間分けないのが推奨だと思う

527:デフォルトの名無しさん
12/03/03 12:18:01.35
先頭じゃないとこで書いたら名前空間追加する?くらいのリファクタリングしてくれればいいのに。

528:デフォルトの名無しさん
12/03/03 12:29:19.75
Blendなら勝手にやってくれるしXAMLも見ないから気にしない

529:デフォルトの名無しさん
12/03/03 12:42:17.35
ズラズラ書くズラ

530:デフォルトの名無しさん
12/03/03 12:54:39.19
ズ、ズ、ズ、ズラちゃうわ

531:デフォルトの名無しさん
12/03/03 13:42:38.23
Views, Models, ViewModelsだけは
作ってるMVVMサンプル多いからそこからフラットにしてるな

532:デフォルトの名無しさん
12/03/03 14:43:24.34
Blend無しでWPFやるのは無駄
Blendで名前空間分けるの無駄

533:デフォルトの名無しさん
12/03/03 16:11:08.46
metroアプリ作ってるけどWPFより難しいなw
新しい概念が増えすぎ
真面目に作りこんだら1.5倍ぐらい時間がかかるなこれ

534:デフォルトの名無しさん
12/03/03 18:55:59.99
Blend使ってない奴多いんだな

535:デフォルトの名無しさん
12/03/03 19:09:37.11
URLリンク(www.microsoft.com)
この宣伝文句で買う奴がいる方が不思議

536:デフォルトの名無しさん
12/03/03 19:19:30.06
Blend2は激安だったのに値上げしすぎだろ
2万で買えれば未だ普及するだろうが

537:デフォルトの名無しさん
12/03/03 19:21:34.23
テンプレートをリソースに書き出す時に
VSとblendじゃ書き出す内容が違うから困る

538:デフォルトの名無しさん
12/03/03 19:23:37.75
Blend使うんならVSのデザイナは一切使わないようにするだろ
ときどきおかしくなる

539:デフォルトの名無しさん
12/03/03 19:26:11.45
Blend単体で売ってないしね
余計なもの色々ついたStudio買うしかないし

540:デフォルトの名無しさん
12/03/03 19:45:07.27
なんでこんな環境になってるんだろう

541:デフォルトの名無しさん
12/03/03 19:49:30.59
Blendは完全にXAMLお絵かきに特化して、開発支援はVSに統合するべきだったな
開発者にしか使えないデザインツールw

542:デフォルトの名無しさん
12/03/03 20:53:10.12
どーせ開発者にしか使えないんだからVSに統合してよぉ~

543:デフォルトの名無しさん
12/03/03 20:53:59.94
え・・・
統合されたらVSもあんなに重くなるの?

544:デフォルトの名無しさん
12/03/03 21:10:12.85
Blendって使ったこと無いんだけど、WPFに限ればVSよりもBlendのほうがいいの?VSなしでも十分?

545:デフォルトの名無しさん
12/03/03 21:12:57.59
リファレンスマニュアルよりBlenの出力するXAMLが最新だから
仮想マシンとか予備マシンに評価版を入れて確認する際には使うけど
基本はVSでも十分だな・・・

546:デフォルトの名無しさん
12/03/03 21:28:11.81
Blendの売り方を間違えている点が、XAML普及の足かせになっているという意見には同意するわ。

547:デフォルトの名無しさん
12/03/03 21:39:43.34
Blend使うとXAMLの勉強になる。
後、StoryboardとかControlTemplateとか作るときはBlendがないとだるい。

548:デフォルトの名無しさん
12/03/03 21:45:23.43
MVVMも本末転倒だよな
本来WPFはデザイナとプログラマの分業がコンセプトだったはずで
それならMVVMなんて使わないでデザイナは必要なコントロールを配置して決まった名前付けて
プログラマがコードビハインド書く方がデザイナの負担が少なくてうまく分業できるわな

549:デフォルトの名無しさん
12/03/03 21:54:53.38
コードビハインドなんて使わんけどな
ctor { event += (sender,e)=>{ ごにょごにょ }; }
で終わり

550:デフォルトの名無しさん
12/03/03 23:22:44.79
VS11でBlend周りの状況変化あるの?

551:デフォルトの名無しさん
12/03/03 23:39:16.96
メトロがやばすぎてXAML巻き込んで死にそう

552:デフォルトの名無しさん
12/03/03 23:42:05.15
>>551
マウスじゃあフィーリングはわからんよ
タッチ特化のタブでやればまた変わると思うよ

553:デフォルトの名無しさん
12/03/03 23:46:20.15
>>552
タブレットでやってみたよ、
まあ操作側はメトロ特化ならいいけど
それとは別に開発環境が不味いと思う
なげっぱすぎ

554:デフォルトの名無しさん
12/03/03 23:47:47.54
WPFってWinFormsと方向一緒だから無茶なもの作られないけど
これますますXAML迷走しそう

555:デフォルトの名無しさん
12/03/03 23:51:53.44
まあobjective-c覚えるよりはマシなのかもしれないが
後だしなのが辛いよね・・・

556:デフォルトの名無しさん
12/03/03 23:58:17.96
適応できる奴だけ適応してマーケットやるだろうから大丈夫
お前らにまで強要してるか?してないだろ

557:デフォルトの名無しさん
12/03/04 00:02:27.74
自分が付いて行っても人集まらなかったら終わるだろ

558:デフォルトの名無しさん
12/03/04 00:07:55.99
新天地で討ち死にする奴を笑って見てればいいだろ
開拓民なんてそんなもんだ

Metroが死のうがどうにもならん

559:デフォルトの名無しさん
12/03/04 00:09:41.44
設計思想は嫌いじゃないんだけどなあ

いまいち受けが悪いよね

MSだから?

560:デフォルトの名無しさん
12/03/04 00:10:00.67
今までおまけだったものがやっとコアになれたわけで。
Metroが死ぬわけないじゃん。

561:デフォルトの名無しさん
12/03/04 00:12:20.17
新しいものの受けが悪いのはいつものことじゃん
お前らUI作るときなるべく踏襲するだろ
ロジックだってそうだろ
何のためにパターンを生み出すんだ
踏襲するためだろ

562:デフォルトの名無しさん
12/03/04 00:22:10.34
また何か出たよ
これ覚えなきゃならないの?
工数どのくらいかかりそう?
その金は誰が払うの?MS?
作りっぱなしで後はうまく使えよって?
ほんと碌なことせんな

563:デフォルトの名無しさん
12/03/04 00:24:46.27
とりあえずWin8にはWPF用の新OSとしても頑張ってほしい

564:デフォルトの名無しさん
12/03/04 00:26:05.61
もう全滅でもなんでもしろよアハハ

565:デフォルトの名無しさん
12/03/04 02:16:30.56
wpfをデータバインディング手法に固定してmetro作法で縛ったようなもの

C#ができて、XAMLがかけて、WPFでバインドができて、metro作法理解して
ってステップアップしていかないと到底太刀打ちできないだろうな

566:デフォルトの名無しさん
12/03/04 02:17:58.24
使ってみた感じどうと言うことも無さそうだけど
移行するかどうかは別問題だわ

567:デフォルトの名無しさん
12/03/04 06:52:20.80
INotifyPropertyChangedの実装方法をなんとかしてくれない限り、
あんまり使いたく無いなあ

568:デフォルトの名無しさん
12/03/04 06:55:05.41
ほとんど定型なのに毎回書くのはきついよね

569:デフォルトの名無しさん
12/03/04 08:17:36.87
ベースクラス作ってスニペットで一発やろ
onpropertyに細工してバリデーションしたり属性いれたり楽しいで

570:デフォルトの名無しさん
12/03/04 08:21:24.77
WPFのプログラミングはそれ以前のプログラムの定石を知らないと、作れない。
基本的に親子間のコントロールの情報のやり取りのシステムは、これからも同じロジックが存続する。
XAMLより徹底的にコードにこだわるほうが、プログラミングを楽にさせる。
データテンプレートもコードで作った。
私のWPFのメインフォームのXAMLにはWindow以外のタグは存在しない。


571:デフォルトの名無しさん
12/03/04 08:31:30.67
>>569
そういうふうに実装方法がそれぞれの工夫になってて、
統一されてないのも嫌なんだよね
あと、大規模なデーターアクセスになると糞重いし、
言語仕様に組み込んで高速化して欲しい

572:デフォルトの名無しさん
12/03/04 08:37:17.72
また1万件か
もうプログラムやめろよ

573:デフォルトの名無しさん
12/03/04 08:45:32.05
>>572
お前は、おもちゃみたいなプログラムしか作った事無いんだろうなー

574:デフォルトの名無しさん
12/03/04 08:51:19.56
Win8はブビ6を完全に抹消なのか。

575:デフォルトの名無しさん
12/03/04 08:53:52.66
>>574
そりゃ・・・
.net系はMSの戦略
C/C++は言うまでもなく
といろいろ見ていくと
VB6ほど中途半端な言語はない
VB.netあるしw

576:デフォルトの名無しさん
12/03/04 08:54:36.40
>>571
.NET Frameworkが出たときは、こんな糞遅いもんが使えるかと思ったが
数年で何の問題も無くなった。
今じゃVSのIDEがないと何もでけんw

577:デフォルトの名無しさん
12/03/04 08:57:03.96
>>575
その中途半端な言語で今でも膨大な業務アプリが動いている訳で。

578:デフォルトの名無しさん
12/03/04 09:03:56.71
>>577
排除されるのはあくまでWinRTの話じゃないの?
従来のアプリ開発は好きにして状態でしょ

579:デフォルトの名無しさん
12/03/04 09:12:17.06
試しに番組表アプリ作ってみた事あるけど、
1000件程度のデーターロードだけでもかなり重いのだが・・・
アプリ立ち上がり時間の使い勝手を考えると、遅延ロードにせざる追えなくて、
ますます遅くなるw
バインディング止めて普通のクラスにしたら一瞬だったし

580:デフォルトの名無しさん
12/03/04 10:26:45.16
>>578
Win8のWin32環境ではもうVB6のランタイムの動作保証をしないと言う話。
個人的にはVB6の絶滅を激しく希望するが。

581:デフォルトの名無しさん
12/03/04 10:33:51.39
4.5のWPFはどうなん

582:デフォルトの名無しさん
12/03/04 10:41:23.36
>>580
そうなのか
まあ仮想マシンにXPでも入れて動かせって話だな

さすがにVB6アプリをいつまでも相手してられん

583:デフォルトの名無しさん
12/03/04 12:32:30.22
XP modeは割と上手く行ったんだから
レガシーアプリはあの方式でいいだろ

584:デフォルトの名無しさん
12/03/04 12:35:43.80
>>581
最悪だった仮想化されたリストビューのスクロール性能が若干良くなった

585:デフォルトの名無しさん
12/03/04 15:48:57.89
async使ったらGUIのデッドロック発生源になりそうな気もするんだけど
どうなのかな?

586:デフォルトの名無しさん
12/03/04 15:55:51.02
MSの古いOSでサポートしない新技術が当たった試しがない
メトロはこけるよ

587:デフォルトの名無しさん
12/03/04 18:30:09.75
技術的に過去の全てをサポートするなんて不可能なんだから、今後は意識も変わっていくだろう
スマートフォンのおかげで一般人にもある種の「諦め」が身に付くようになるよ

588:デフォルトの名無しさん
12/03/04 18:47:16.24
マーケットで作者に物凄い恨み節書き込んでる奴いるじゃん
サポートしないと流行らないってのはあれと同じだよね
第三者視点か本人視点かの違いだけ

589:デフォルトの名無しさん
12/03/04 18:54:44.45
従来型のアプリケーション切り捨てる訳じゃないのにハヤラナイーハヤラナイー言われてもな。
流行らなくてもいいだろ。で?としか言いようがない。

ARM版はMetroオンリーとか言ってるけどどうでもいいよね。
WP7のあの状況見るに「へぇ、まだやる気なんだ(笑)」って感じだし。
さっさと自らを出棺した方がいいんじゃね。
MSは葬儀屋も始めたんだろう?

590:デフォルトの名無しさん
12/03/04 19:07:18.51
むしろコケた方が今までのノウハウ使い続けられて歓迎されるべきなのに
何で流行らない心配してるんだ

591:デフォルトの名無しさん
12/03/04 19:17:05.37
オフコンなんて数十年前のCOBOLアプリがまんま動くが廃れたぞwww

592:デフォルトの名無しさん
12/03/04 19:56:04.27
>>585
GUIのデッドロックがどうゆうものなのかイメージできない。

593:デフォルトの名無しさん
12/03/04 20:05:47.31
触りも調べもせずにあーだこーだとか
パソコン大先生と同じレベルじゃんね

流行るかどうか金になるかどうかは別として
wpf理解してるならメトロはハードル高くない

ちゃんと理解してるならな
ilspyで中覗いたこともないようなやつはダメだ

594:デフォルトの名無しさん
12/03/04 21:27:05.63
技術的にはもうこれ以上何一つ新しくしたくないけど
環境の更新は今の技術屋のご飯の種でもあるジレンマ

595:デフォルトの名無しさん
12/03/04 21:35:52.97
Flexみたいに[Bindable]つけて
簡単にINotifyPropertyChangedを実装できるようにならないのかにぃ>VS11

596:デフォルトの名無しさん
12/03/04 21:38:38.27
[Bindable]か
ありゃいいよね

597:デフォルトの名無しさん
12/03/04 21:41:12.82
しっかしWPFの本がぜんぜんないな。。
XAMLプログラミングて再販ならんのかね?

598:デフォルトの名無しさん
12/03/04 22:00:10.89
macのココアとMONOの連携で[Bindable]が使えたような気がする
本家のほうが負けてる

599:デフォルトの名無しさん
12/03/04 22:20:42.09
WeakEventManagerもどうにかならんもんか。
イベント毎にManager作るのアホらしい

600:デフォルトの名無しさん
12/03/04 22:24:24.85
流行るかどうか金になるかどうか以前にやらなきゃならないことやってないよな
この環境w

601:デフォルトの名無しさん
12/03/05 00:39:02.74
だからおまえらダメなんだよ
プロパティsetされたときに追加処理いれるのが普通なのにそれすら知らない

602:デフォルトの名無しさん
12/03/05 01:48:56.43
さらに、このプロパティに対する通常のアクセスに使用される通常のプロパティ (CLR プロパティとも呼ばれる) を定義する必要があります。

public Brush SwirlyBrush {
set { SetValue(SwirlyBrushProperty, value); }
get { return (Brush) GetValue(SwirlyBrushProperty); }
}

SetValue メソッドと GetValue メソッドは DependencyObject によって定義されます。
そのため、依存関係プロパティを定義するすべてのクラスが DependencyObject クラスから派生していることが必要です。
CLR プロパティには、この 2 つのメソッドへの呼び出し以外のコードを含めないでください。
CLR プロパティは、しばしば依存関係プロパティによって "サポート" されると言われます。

依存関係プロパティの方ではプロパティ内に処理書くなって言っておいて
普通のプロパティには書くのが普通と
一貫性が無くてとても面白いね

603:デフォルトの名無しさん
12/03/05 01:56:25.83
少なくとも { get; set; } がある時点で追加処理が普通って意見は受け入れがたいな。
無いから省略表記ができたんだろ。

604:デフォルトの名無しさん
12/03/05 02:09:49.53
>>602
それって>>601へのレス?
依存関係プロパティの利便性のために定義されるCLRプロパティと、普通のプロパティでは役割が違うよ。

605:デフォルトの名無しさん
12/03/05 03:10:18.07
その「同じセマンティクスで違う役割」っておよそ最悪な仕様の一つだよね。

606:デフォルトの名無しさん
12/03/05 05:28:11.48
少なくともMSが用意したメトロテンプレはプロパティ内で処理してカプセル化してる
別に我流通したいなら通せばいいけど
まあ笑われるだけだね。なんのためのプロパティなんだそれじゃフィールドでいいじゃん的に。

607:デフォルトの名無しさん
12/03/05 08:15:19.44

顕正新聞 平成24年2月5日号「原発全廃特集号」

原発は日本を滅ぼす、即時全廃せよ
人のDNAを破壊、国土を居住不能にする
代替は天然ガス・コンバインドサイクルで十分
惨禍もたらすを知って推進するは犯罪

URLリンク(d.hatena.ne.jp)

608:デフォルトの名無しさん
12/03/05 12:35:56.38
あれ・・・WPFのTreeViewってXAML書かないとインデントも変更できないのか・・・
google先生も教えてくれないしお高いツールありきか・・・。

609:デフォルトの名無しさん
12/03/05 12:41:16.37
仮想マシン上にwint評価版ぶっこんでBlend評価版ぶっこんで
ほしいXAMLはかせればいいじゃん

610:デフォルトの名無しさん
12/03/05 12:41:52.98
wint・・・x
win7・・・◎

611:デフォルトの名無しさん
12/03/05 18:14:30.26
Intelのオンボードグラフィックだとマルチモニタ環境で
WPFの動画再生のスレッドが停止するんだけど解決策はないですか?
MediaElementでビデオを流すと、GUIは生きてるがMediaLoadedイベントが発生しなくなる。
メインディスプレイだとなんともないけどサブのほうだと再現率100%。

メイン:HDMI
サブ:アナログ

612:デフォルトの名無しさん
12/03/05 18:30:28.08
mp4のときだけ起きるからコーデック依存の現象かも。。
でも他のWMP等のプレーヤーだとなんともないんだよな……

613:デフォルトの名無しさん
12/03/05 20:36:48.66
メインとサブを入れ換えてみたらサブにしたHDMIでも発動したから
やっぱドライバが糞なんだな。。

614:デフォルトの名無しさん
12/03/06 06:02:01.77
WPFではTextBox.TextChangedイベントは正常に機能しない。
URLリンク(yone64.wordpress.com)
上のようにしてもIME変換をキャンセルしたときにTextChangedイベントが発生してしまうから、うまく機能しない。
しかし、上のコードをすこし修正して、IME変換前と変換後のテキスト文字数を調べることで正しく機能できるようになった。



615:デフォルトの名無しさん
12/03/06 09:22:47.29
読者がいないからと言って自分のblogを貼るのはやめたまえ

616:デフォルトの名無しさん
12/03/06 09:38:02.76
>>611
>>612
>>613
だけど、こんなんみつけた……

MediaElement not working with Multiple Monitors
URLリンク(social.msdn.microsoft.com)

Radeonでも起きてるからドライバ関係なかった。
現在のところ現実的な解決法は、

・Win7DSFilterTweakerでmp4のフィルタを停止して他のを使う
・ハードウェアレンダリングを諦める

のどっちかみたいだわ。
ハード支援切ったらフリーズしないけどCore i5 2500KでCPU負荷率が2%→15%になった(´;ω;`)
最近このスレ読み出したので既出かも知れんが

617:デフォルトの名無しさん
12/03/07 01:45:47.08
MVVMで質問です。

例えばレタッチソフトで画像にフィルタをかける等の時間のかかる処理を行う場合
UIを止めないよう非同期処理をすると思うのですが
Modelが非同期メソッドを用意するのか
ViewModelがTask等を使ってModelのメソッドを非同期で呼び出すのか
どのようにすべきでしょうか?

618:デフォルトの名無しさん
12/03/07 01:58:40.89
Mがスレッドセーフでないなら非同期で保護してやるのはVMの役目なんじゃないの
MがスレッドセーフならVMはMのステータスみてVに指示するだけじゃないの

619:デフォルトの名無しさん
12/03/07 05:24:12.68
WPFは新テクノロジーなので、知識を集めないとどうにも先に進めない。
TextBoxのChangedイベントからつまずいたが、次のことも判明した。
WPFのTextBoxは、テキストボックス内で選択された範囲を常に表示させておく、
HideSelection = false が使えなくなっている。
WPFのテキストボックスで、これを実現するにはTextBoxのLostFocusイベントを処理に 、
e.Handled = true; と記述しなければならない。

620:デフォルトの名無しさん
12/03/07 09:23:14.33
FocusManager.IsFocusScopeを使うんやで

621:デフォルトの名無しさん
12/03/07 10:36:35.22
>>616 だけど、「こんどはScrubbingEnabledをtrueにしておくと音声だけのファイルがロードされないことがある」
という件にはめられて1日つぶしたわ

こういう罠があとどれだけ仕掛けられてるのか……

622:デフォルトの名無しさん
12/03/07 13:13:43.32
性能面での罠も沢山仕掛けられてるでぇ~

WinRTだと罠付きの機能が削除されてたりするので
デスクトップ版のWinRTに期待した方がいいかもしれんね

623:デフォルトの名無しさん
12/03/08 01:08:03.03
知っていたらボスケテ
WPFのDataGrid
列ヘッダクリックでソート機能があるけどソートの比較条件を自分で用意してソートさせるにはどうすればいいの?
ソート機能切ってマウスクリックと座標取得して表示基のコレクション自分でソートして再表示ようかとも思ったんだけど
ソート機能切ると列ヘッダがクリッカブルじゃなくなるし△▽のマークとかもないので微妙

624:デフォルトの名無しさん
12/03/08 01:29:35.27
>>623
URLリンク(msdn.microsoft.com)

625:デフォルトの名無しさん
12/03/08 02:14:18.00
StyleってCSSみたいにGrid配下のTextBox全体に適用とかって無理なのか

626:デフォルトの名無しさん
12/03/08 03:44:45.42
全体指定は基礎だからもっと勉強してね

627:デフォルトの名無しさん
12/03/08 08:23:41.27
Blendなんて60日の試用版DLして60日たったらOSリカバリでもう一回いれりゃいいだけ

628:デフォルトの名無しさん
12/03/08 08:34:04.20
仮想PC上で実行するのもめんどくさい

629:デフォルトの名無しさん
12/03/08 09:01:12.82
WinRTスレの次スレ何処?(`・ω・´)

630:デフォルトの名無しさん
12/03/08 10:54:00.03
仮想PC上でblend動かしてたけど
長時間つかってると重たくなってくるのに耐えられなくなったから買ったよ・・・

631:デフォルトの名無しさん
12/03/09 00:31:31.36
Styleは親の要素のリソースを順に検索するような感じに動くので対象のGridのリソースに入れればその配下のTextBoxに適用できる。
Styleのリソースから適用もできるのでGridのStyleのリソースにTextBoxのStyleを入れるといい。

632:デフォルトの名無しさん
12/03/09 08:25:15.42
MVPVM 設計パターン - WPF 向けのモデル - ビュー - プレゼンター - ビューモデル設計パターン
URLリンク(msdn.microsoft.com)

ここのサイトの、コードサンプルの
URLリンク(amarillo.us.com)
がデッドリンクになっています。MSの人、宜しくお願いいたします。


633:デフォルトの名無しさん
12/03/09 09:10:19.01
これからはMVPVMだよな
MVVMで無理していたのは何だったのか…

634:デフォルトの名無しさん
12/03/09 09:17:21.10
多分、この人だと思うんだけれどねぇ。
Password Manager
URLリンク(passwordmgr.codeplex.com)



635:デフォルトの名無しさん
12/03/09 09:57:15.29
MVPVMが浸透したらMVVMは単純な場合以外使われなくなる
直観的だし他言語からの移行が楽

636:デフォルトの名無しさん
12/03/09 10:10:14.33
>>632
明日の勉強会の伏線ですか?

637:デフォルトの名無しさん
12/03/09 10:29:32.09
勉強会なぞ行かん!わしゃ、僻地に住んでおる。

そんな訳で、持っている人、ウプお願い!

638:デフォルトの名無しさん
12/03/09 10:34:01.41
というか、MVPVMとか、そんなに良いものなの?
ドラスティックに変わるとは、本文からは思えなかったけれど。

どちらにしても、VSの標準としてライブラリが組み込まれ、
自動生成のサポートも標準にならない限り、流行らないんじゃないの?

VS11のβでも、その辺りに変化はないんでしょ?
みんな、Prism派?MvvmToolkit派?

639:デフォルトの名無しさん
12/03/09 10:44:27.43
togetter覗いたら XAMLクラスタから評判悪いね>MVPVM

URLリンク(togetter.com)

640:デフォルトの名無しさん
12/03/09 10:45:16.41
>>638
つ Livet

641:デフォルトの名無しさん
12/03/09 11:02:35.83
いつもの人が偉そうなこと行ってるだけじゃん
全くデメリットが合理的に説明できてないし

642:デフォルトの名無しさん
12/03/09 11:05:05.37
ほとんどすべてMVPVMになるんじゃないの?

事実上のアプリケーションというかプログラムがP層になると曲解(笑)してるんだけど
違うのかなw
Pはマスタースレーブで言えばスレーブ
VとVMののりしろ
メッセージのブロードバンドじゃなくスイッチングハブのような動作も可能

ただMVVMのようにきつい縛りが無くなるから

643:デフォルトの名無しさん
12/03/09 11:06:37.32
ただMVVMのようにきつい縛りが無くなるからデタラメなコードを書くことも可能
その部分がMVVM派の人には受けないだろうね

644:デフォルトの名無しさん
12/03/09 11:21:01.76
Vに無理やり書いてたコードがPに行くってことでいいんだろうか?
よくわかんね

645:デフォルトの名無しさん
12/03/09 11:34:06.55
何度読んでもよくわからない

Vだけでダイアログ出したりメッセージボックス出したりとか
トリッキーなことをしなくてよくなるのかな

普通にVがボタン押されたよとPに通知したら
PがVにダイアログ出してねって通知するようになるのかな

646:デフォルトの名無しさん
12/03/09 11:35:52.28
XAMLのビヘイビアで書いてたクソみたいなスクリプトもどきを普通に書けるっていうのが一番だな

647:デフォルトの名無しさん
12/03/09 11:42:52.27
そもそもダイアログを出すのって誰の責任だ?
V じゃなきゃ、P か VM でいいんじゃね?
P が V にダイアログ出してねって通知するのも何かおかしいと思う。

648:デフォルトの名無しさん
12/03/09 11:42:54.24
ビヘイビアで思い出したけど
VS11 betaについてたblend for VSでアセットにビヘイビアなかったけど
違うところに移動したのかな
それとも別のSDK入れないといけないのかな
スレ汚し&不勉強でごめんね

649:デフォルトの名無しさん
12/03/09 11:46:06.57
ただ、実際プログラミングしてて、V に画面移動やダイアログ表示押し付けてると
MVVMに準拠してるかどうか別として
VMのコード量減って全体の見通しが少しよくなるのは事実。

650:デフォルトの名無しさん
12/03/09 11:47:25.95
それをPに押し出せ

651:デフォルトの名無しさん
12/03/09 11:50:05.03
いままで疎を意識してやわやわVMやVに書いていたことを
密にしてPに書き出せってことだろ

652:デフォルトの名無しさん
12/03/09 11:50:37.67
>>650
どうやって?コードビハインドにしろと?

653:デフォルトの名無しさん
12/03/09 11:52:01.24
>>652
PとV、PとVMは密結合だからなんでもあり
モデルもコントロール直接触り放題

654:デフォルトの名無しさん
12/03/09 11:54:30.57
Pクラス作ってVとVM握ってメッセージ受け取って判断してメッセージ送れ

655:デフォルトの名無しさん
12/03/09 11:55:33.14
winformsやjavaから移住者が増える

656:デフォルトの名無しさん
12/03/09 11:57:42.01
>>654
P ってある意味 V と VM の Mediator と考えてOK?

657:デフォルトの名無しさん
12/03/09 11:59:53.85
InteractionMessageとかビヘイビアとか大嫌いだから歓迎するわ

658:642
12/03/09 12:00:00.90
Pはイベントドリブン型アプリケーションのコアじゃないの?

659:デフォルトの名無しさん
12/03/09 12:02:33.08
ああわかった!MVPVMパターンって、

・M (Model)
・V (View)
・VM (ViewModel)

の存在は認めたうえで、
仮にコードビハインドを P とすると
P も遠慮なくどんどん使っていいんだよ!

ってことなのかな?

660:デフォルトの名無しさん
12/03/09 12:05:27.81
でも WPF の設計ってバインド指向でイベントの挙動は穴ありまくりだろ。
ugaya40 の指摘するメモリリークはよく知られてるけど
それ以外でも Forms じゃあり得ない挙動するイベント多いからな

661:デフォルトの名無しさん
12/03/09 12:05:59.88
MVVMを否定する人は多いだろうけどMVPVMを否定する人は少ないとおもう

662:デフォルトの名無しさん
12/03/09 12:07:50.19
>>661
それ以前にMVVM判ってる奴自体少ないと思うぞ。
ましてMVPVM知ってる奴はほとんどおらんだろw

663:デフォルトの名無しさん
12/03/09 12:12:47.35
Metro踏まえてまた変わるんじゃねえの

664:デフォルトの名無しさん
12/03/09 12:16:20.24
>>660
お前そればっかりだな
MVPVMはコマンド->VMをスルー->Pだから別にそこはMVVMと変わらん
だいたいビヘイビアはイベントベースだ

665:デフォルトの名無しさん
12/03/09 12:16:27.48
メモリリークはただのV上の制御できないアイテムを
別のところに登録していることが問題じゃないの?

666:デフォルトの名無しさん
12/03/09 12:19:53.47
Pはコントロールよりも確実に寿命が長いんだから
一時的なコントロールにPのイベントハンドラ突っ込んでもメモリリークの原因にはならん
メモリリークが問題になるのは寿命の長いVMやMからVに通知する場合だけど、
MVPVMの場合はVM経由でバインディングするからMVVMで問題ないというならMVPVMでも問題ない

667:デフォルトの名無しさん
12/03/09 12:21:41.71
> MVPVMはコマンド->VMをスルー->Pだから別にそこはMVVMと変わらん

ここがいみふなんですが?

668:デフォルトの名無しさん
12/03/09 12:24:09.99
>>660

> Pはコントロールよりも確実に寿命が長いんだから

これって言い切っちゃっていいの?

669:デフォルトの名無しさん
12/03/09 12:25:35.55
Pはアプリケーション自身だと思うからそれより長い寿命ってないんじゃない?

670:デフォルトの名無しさん
12/03/09 12:29:57.71
そもそも MVPVM 議論しようにもまだ情報が足りな過ぎるよね?
MSDNのサンプルもダウンロードできないし、どうにも P が理解できない。

671:デフォルトの名無しさん
12/03/09 12:32:12.81
みんな分かってなさそうで安心したw

672:デフォルトの名無しさん
12/03/09 12:33:11.81
議論しなくてもただそのようにコード書けばいいんじゃないかなあ
問題があれば報告してね

673:デフォルトの名無しさん
12/03/09 12:37:46.76
実際楽にはなると思うよ
変なパターン覚えなくてもいいし

674:デフォルトの名無しさん
12/03/09 12:40:02.39
えムナウ氏の

> WPF はなんかおかしい、ビヘイビアーといいデータテンプレートセレクターといい、View と ViewModel を両方知らないと達成できないものがそこここにちりばめられている。

という意見も納得できるんだが、図を見てるとますます理解できない。

URLリンク(blogs.wankuma.com)

P(コードビハインド)とVMの両方からMに接続しに行くなんて、窓口増やして混乱しそうなだけなんですが?

675:デフォルトの名無しさん
12/03/09 12:42:43.25
Pとコードビハインドは同じじゃないと思うよ
そのような役割もあるけど別物じゃないの?

676:デフォルトの名無しさん
12/03/09 12:44:40.49
V → VM → M の流れで V → VM 間の操作でめんどくさそうなとこを

V <-> P <-> VM → M

で実装すればいいだけだと思うんだが、これだとMSDNともMさんとも解釈違うよね?

あ・・・ VPVMM パターンならうまくいくのか!w

677:デフォルトの名無しさん
12/03/09 12:44:46.29
どっちかというと特定のVと特定のVMに依存した使い捨てのビヘイビアみたいなもん
あくまで>>634の例ではだけど

678:デフォルトの名無しさん
12/03/09 12:46:13.34
結論。
サンプルないと誰もわからんwww

679:デフォルトの名無しさん
12/03/09 12:47:31.42
アプリケーションはもともと使い捨てだと思うが…

680:デフォルトの名無しさん
12/03/09 12:53:57.91
Livetがただのコードスニペット集になる

681:デフォルトの名無しさん
12/03/09 12:56:04.37
>>680
M氏のダイアグラムを搭載できたらいいのにねw

682:デフォルトの名無しさん
12/03/09 12:58:08.78
>>676
それただのPassiveViewや

683:デフォルトの名無しさん
12/03/09 13:01:53.63
>>682
いや、V - VM

684:デフォルトの名無しさん
12/03/09 13:02:57.09
>>682
いや、V - VM 間の連携を実装で補完してるだけだから、PassiveView とは言えんと思うが。

685:デフォルトの名無しさん
12/03/09 13:04:50.12
とりあえずVMを再利用し易いように
アプリ固有のコードをPに押し出すということにしておくわ・・・

686:デフォルトの名無しさん
12/03/09 13:06:10.95
どういうのが正しいPか知らないけど
今後Pは使ってみるわ

687:デフォルトの名無しさん
12/03/09 13:11:58.81
> どういうのが正しいPか知らないけど

それってパターンとは言えんよなぁ・・・・

688:デフォルトの名無しさん
12/03/09 13:29:02.75
じゃあここまでに出たパターンを仮にVM2Pとして使うことにしよう
もしかするとVM2P=MVPVMかもしれないけど

689:デフォルトの名無しさん
12/03/09 14:39:33.85
だれか、サンプル持って無いの?
あるいは、MSの中の人、居ないの?

690:デフォルトの名無しさん
12/03/09 14:42:04.17
>>634のソース
MSDNマガジンの方はたぶんその抜粋

691:デフォルトの名無しさん
12/03/09 15:18:08.48
ぐぐったら.ugaya40産のつぶやきが
>デメリットは、結局バインディングとPrensenterからの操作の場合分けをどうするのか悩まなければならない

悩むほどの事かな
プロパティの表示など単純な場合はバインディングで
複数の要素が絡む場合や状態変化やVMやVに遡及しないばやいは
Pから操作でいいんじゃないの?

692:デフォルトの名無しさん
12/03/09 15:48:14.48
本人に言えよw

693:デフォルトの名無しさん
12/03/09 15:49:14.93
彼はコードビハインドに親を殺されたんだよ

694:デフォルトの名無しさん
12/03/09 15:51:24.61
本人もたまにこっそり降臨してるだろ。
他の大御所連中もみな覗いてると思うがw

695:デフォルトの名無しさん
12/03/09 16:11:50.34
さすがに覗いてないと思うよ
名無しの書き込み見るメリットない

696:デフォルトの名無しさん
12/03/09 16:35:50.48
いや、見てるんじゃないかな?
そりゃ、2chなんて、ロリ、ヲタ、プー、ちびデブ禿、低学歴低所得のスクツだよ?

でも、実際のところ、リアル社会においても、
劣等人種の存在比率は、2chとあまり変わらない。

まして、下らない書き込みはスルーすれば良いだけの2chは、
効率の良い情報収集方法だよ。

これが、リアルの勉強会なら、劣等人種の質問でもスルー出来ないからな。

697:デフォルトの名無しさん
12/03/09 16:48:24.05
2ちゃんじゃ議論にならんからなあ
読むだけ疲れるでしょ。

698:デフォルトの名無しさん
12/03/09 16:49:40.58
せめてIDぐらい出てればこの一連の流れも無かったことにできるのだが

699:デフォルトの名無しさん
12/03/09 16:57:52.23
リアルだって、議論になんてならないでしょ。
知識、背景、肩書、学歴、所得とか一致しないと議論にならないよ。

700:デフォルトの名無しさん
12/03/09 17:12:40.77
>>699
議論するのに知識、背景が必要なのは認めるが、後の三つは関係ないだろw

701:デフォルトの名無しさん
12/03/09 17:14:57.62
背景に含まれると言った方が正確かな

702:デフォルトの名無しさん
12/03/09 19:58:43.26
ModelとViewModelの対応って1対1なの?
ViewModelが複数のModelを持ったりするもんなの?

703:デフォルトの名無しさん
12/03/09 20:17:03.40
MVPVMだと・・・
MVVMをよく分かってないのに次がでてくるとは日曜プログラマーなおじさまは大変だ

704:デフォルトの名無しさん
12/03/09 22:05:10.81
ええねんええねん
モノもってこいやモノを

705:デフォルトの名無しさん
12/03/09 22:09:45.53
URLリンク(aviadezra.blogspot.com)


706:デフォルトの名無しさん
12/03/09 22:41:05.66
>>638
Pの責務が強すぎて、簡単にカオス化する可能性があるので、MVVMのほうが好き。

707:デフォルトの名無しさん
12/03/09 23:32:19.16
>>706
でも MVVM だと、VMの責務が重すぎてコードが肥大化する傾向がある。
コマンドその他を プレゼンターに分離した方がすっきりしないか?

708:デフォルトの名無しさん
12/03/10 00:12:49.66
疎結合のために無駄に費やした時間を取り戻せw

709:デフォルトの名無しさん
12/03/10 00:51:01.16
正直コマンドとコードビハインドで登録するイベントハンドラの違いが分かっていない。
コマンドだと何が嬉しいん?CanExecute使えるくらいくらい?

710:デフォルトの名無しさん
12/03/10 00:57:52.77
>>709
ユニットテストフレームワークに食わせ安くなる。

実際、metro styleのUI要素はテストコード内でインスタンス化できないから、コマンド必須。

711:デフォルトの名無しさん
12/03/10 00:59:31.58
>>709
元々の主目的は、デザイナーが弄るBlendで作るViewからコードを追い出すってコンセプトだったもんな
それが無理になった今、テストがやりやすい程度のアドバンテージしかないが
それもハンドラに直接書かずにワンクッション置けば問題無いシナ

712:デフォルトの名無しさん
12/03/10 01:05:04.03
>>707
UIをUserControlで部品化し、その単位でView Model作っているので、今のところVMの肥大化では困ってないです。

業務系のように入力項目が増えると、また違う考えになるかもしれないです。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch