WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part8
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/12/05(日) 22:08:33.NET4 もリリースされて盛り上がってまいりますた。
Visual Studio 2010
http://www.microsoft.com/japan/msdn/vstudio/
Microsoft .NET Framework 4 (Web インストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=9CFB2D51-5FF4-4491-B0E5-B386F32C0992&displaylang=ja
Microsoft .NET Framework 4 (スタンドアロンインストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&displaylang=ja
前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part7
http://hibari.2ch.net/test/read.cgi/tech/1282479113/
関連スレ
Microsoft Silverlight その7
http://hibari.2ch.net/test/read.cgi/tech/1288613056/
過去スレ
Part6 http://hibari.2ch.net/test/read.cgi/tech/1274423236/
Part5 http://pc12.2ch.net/test/read.cgi/tech/1261879110/
Part4 http://pc12.2ch.net/test/read.cgi/tech/1245384489/
Part3 http://pc12.2ch.net/test/read.cgi/tech/1231506876/
Part2 http://pc11.2ch.net/test/read.cgi/tech/1211453941/
Part1 http://pc11.2ch.net/test/read.cgi/tech/1162950198/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
0002デフォルトの名無しさん
2010/12/05(日) 23:31:23(\ (\
/ ノ / ノ
/ 丿 / 丿
_( \/ 〈
= \/ ̄⌒ヽ―彡彡ミ丶
=≡ \ / /彡彡ミ|
`-<_(_二フつノ
0003デフォルトの名無しさん
2010/12/05(日) 23:33:14WPFでそのキャラ使ったゲーム作って
0004デフォルトの名無しさん
2010/12/05(日) 23:38:42(\ (\
/ ノ / ノ
/ 丿 / 丿
_( \/ 〈
= \/ ̄⌒ヽ―彡彡ミ丶
=≡ \ / /彡彡ミ|
`-<_(_二フつノ
 ̄//|ロ ニニ `/_/_
/ヽ | / / / /  ̄
0005デフォルトの名無しさん
2010/12/05(日) 23:39:18□□□│ ./) rt ひっどーい
□□□│〈〈__ノノ
□□□│ ヽ〉 ̄/`‐-巛( ./) rt ひっどーい
□□□│ `ー<_ァ_巡) 〈〈__ノノ
□□□│ ヽ〉 ̄/`‐-巛(
□□□│ `ー<_ァ_巡)
□□□│
□□□│ ./) rt ひっどーい
□□□│ 〈〈__ノノ
□□□│ ヽ〉 ̄/`‐-巛(
□□□│ `ー<_ァ_巡)
□□□│
□□□│
□□□│ ./) rt ひっどーい
□□□│ 〈〈__ノノ
□□□│ ヽ〉 ̄/`‐-巛(
□□□│ `ー<_ァ_巡)
□□□│
□□□│
□□□│
._. │
| | | │
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0006デフォルトの名無しさん
2010/12/05(日) 23:40:160007デフォルトの名無しさん
2010/12/06(月) 01:08:44Button Grid.Row="3"
のように、あたかもButtonがGrid.Rowというプロパティを持っているように見せかけることができる。
0008デフォルトの名無しさん
2010/12/06(月) 01:27:20言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0009デフォルトの名無しさん
2010/12/06(月) 04:32:14大抵はCUIで十分だし
となると、Pythonってことになる
0010デフォルトの名無しさん
2010/12/06(月) 04:35:24まだオサレ(ry
0011デフォルトの名無しさん
2010/12/06(月) 14:03:04助けて
0012デフォルトの名無しさん
2010/12/06(月) 14:21:560013デフォルトの名無しさん
2010/12/06(月) 14:24:270014デフォルトの名無しさん
2010/12/06(月) 14:26:030015デフォルトの名無しさん
2010/12/06(月) 14:27:13どうせ作るなら配布したいじゃん。
他の人に使ってもらうならGUIのほうがいいじゃん。じゃん
0016デフォルトの名無しさん
2010/12/06(月) 14:30:17しかもそれいれてもWindowsユーザーしか使えない
pythonはインストールすれば誰でも使えるし
自分で書き換えたりもできる
0017デフォルトの名無しさん
2010/12/06(月) 14:42:01>pythonはインストールすれば
頭大丈夫ですか?
0018デフォルトの名無しさん
2010/12/06(月) 14:45:11ひとの心配するより自分の心配した方がいいぞ
0019デフォルトの名無しさん
2010/12/06(月) 14:47:24会社勤めしてればいやでも使うだろうし、そうでないなら学ぶ手がかりすらない。
ソフト配布したいんなら割り切ってそれ用の言語に集中した方がいいね。
0020デフォルトの名無しさん
2010/12/06(月) 14:54:32<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true" />
<Condition Property="Selector.IsSelectionActive" Value="true" />
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="Red" />
<Setter Property="Background" Value="Orange" />
</MultiTrigger>
</Style.Triggers>
</Style>
これでForegroundだけ変わって、Backgroundが変わらないんですが・・・
0021デフォルトの名無しさん
2010/12/06(月) 15:10:590022デフォルトの名無しさん
2010/12/06(月) 15:38:11それみんな詰まるとこだね
検索したらすぐ見つかるはずだが
どうやってするのかもう忘れたけどw
PanelTemplete使うんだあったかな
0023デフォルトの名無しさん
2010/12/06(月) 16:23:28現実が見えていない人が妄想で語っているようだ。
http://www.statowl.com/microsoft_dotnet.php?interval=month
Vista以降なら最初から入ってて、.NET3.0以上に限定したとしても8割に入れられている。
.NETで作ればほとんどの人はインストールしなくていい。
インストーラーにしておけば例え入っていなくても自動で入れてくれる。
セキュリティFix等の更新があったらWindows Updateで自動的に配布されるから後の心配もしなくていい。
Pythonが悪いとは思わないけど、配布考えると話にならないよね。
0024デフォルトの名無しさん
2010/12/06(月) 16:37:540025デフォルトの名無しさん
2010/12/06(月) 16:49:22プラットフォームの優劣なんか対象環境や要件でいくらでも変わる
不毛な事に時間割いてるなら、選択肢を増やすために手を広げたほうが利口
0026デフォルトの名無しさん
2010/12/06(月) 16:56:010027デフォルトの名無しさん
2010/12/06(月) 17:01:000028デフォルトの名無しさん
2010/12/06(月) 17:24:56現実が見えていないのはお前だよ
vista以降のOSを使っているのは2割
pythonならmacでも使える
3Dインターフェースを作る場合じゃない限りWPFは必要なし
IDEも重いし、開発にも時間がかかる
お手軽ツールならpython rubyで決まりだね
0029デフォルトの名無しさん
2010/12/06(月) 17:38:29DataGridをListView風に使った方が早いよ。
0030デフォルトの名無しさん
2010/12/06(月) 19:07:330031デフォルトの名無しさん
2010/12/06(月) 19:26:20特にWindowsユーザーはそうだろう
0032デフォルトの名無しさん
2010/12/06(月) 19:46:37GUIが絡んだとたんにC#の圧勝になると思うんだけど
0033デフォルトの名無しさん
2010/12/06(月) 19:49:10理解しようという努力すらしてもらえなかった経験くらい誰にでもあると思うけど
0034デフォルトの名無しさん
2010/12/06(月) 20:07:340035デフォルトの名無しさん
2010/12/06(月) 20:13:11ListViewはItemTemplate使うの前提だもん
デフォルトの状態で行の背景色を変えたいというような要望が出ること自体が間違ってるんだよ
0036デフォルトの名無しさん
2010/12/06(月) 21:00:170037デフォルトの名無しさん
2010/12/06(月) 21:00:470038デフォルトの名無しさん
2010/12/06(月) 21:02:090039デフォルトの名無しさん
2010/12/06(月) 21:03:07投げ輪すらできんしね
0040デフォルトの名無しさん
2010/12/06(月) 21:06:00最小化から復帰するとlabel->textが更新されなくなります、何故でしょう。 ってここで質問してもいい?
0041デフォルトの名無しさん
2010/12/06(月) 21:06:28こっちですよ
ふらっとC#,C♯,C#(初心者用) Part66
http://hibari.2ch.net/test/read.cgi/tech/1290854247/
0042デフォルトの名無しさん
2010/12/06(月) 21:06:56ああ良くあるね
なんでだろうね
黒い画面が怖いのかな
0043デフォルトの名無しさん
2010/12/06(月) 21:07:16くだすれC++/CLI(初心者用)part2
http://hibari.2ch.net/test/read.cgi/tech/1268613679/
こっちじゃね?
0045デフォルトの名無しさん
2010/12/06(月) 21:08:40プログラミングしてる奴がWindowsユーザーの15%もいるかなぁ
絶対にないだろw
0046デフォルトの名無しさん
2010/12/06(月) 21:13:21プログラミングしない人でPythonを単体で入れてるのは見たことないな
0047デフォルトの名無しさん
2010/12/06(月) 21:19:000048デフォルトの名無しさん
2010/12/06(月) 22:13:170049デフォルトの名無しさん
2010/12/06(月) 22:46:50粘着アンチがついて一人前。WPFを気に食わない人達が無視できないほどまで大きく成長したって証拠だな。
WPFも盛り上がってまいりますた。
0050デフォルトの名無しさん
2010/12/06(月) 22:56:11パッケージソフトでもない限り、あえてWPFを使う理由がほぼ無くなる
本気でビジネスアプリケーションは全部持っていく気みたい
0051デフォルトの名無しさん
2010/12/06(月) 23:20:36最終的に、Silverlight とクライアント .NET の差はなくなる方向で進化するとは思うけど、
まだまだ先の話だなぁ。
0052デフォルトの名無しさん
2010/12/06(月) 23:21:59え?Windows用のSLって継続してるの?てっきり電話だけになったかと思ったわ
0053デフォルトの名無しさん
2010/12/06(月) 23:23:050054デフォルトの名無しさん
2010/12/06(月) 23:38:57クロスプラットフォームはほどほどにしてビジネスアプリに特化
それが誤解されて嘘が出回った
0055デフォルトの名無しさん
2010/12/07(火) 07:05:510056デフォルトの名無しさん
2010/12/07(火) 08:33:00Python/Ruby処理系で一番インストールされてるのって、ぶっちゃけ.NET4やSilverlightに入ってるIronPython/IronRubyだよね。
一応WPFも使える。
軽量言語は敵なんかじゃなくて.NETの世界に共存する仲間だろ。
もっとみんなDLRで遊ぼうぜ
>>37
.NET4はWindowsの26%に入ってる。で、これにMacOSXの11%が加わるわけよ。
Silverlightにいたっては全OSの55%に達する。(Google,Yahoo,Bing...にアクセスしたPC調べ)
0057デフォルトの名無しさん
2010/12/07(火) 09:00:22DLRのコア中のコアのほんの一部だけ吸収されて
後は頓挫した格好でコミュニティに移管
元々コミュニティに任せるべき性質のプロジェクトだったしな
0058デフォルトの名無しさん
2010/12/07(火) 09:00:56IronRuby on Rails とか
もう何でもありなの?
0059デフォルトの名無しさん
2010/12/07(火) 10:46:37この程度のことでコーディングするのめんどくせぇ…WPFだったら数分で終わる簡単な作業なのに…
0060デフォルトの名無しさん
2010/12/07(火) 12:01:42じゃ駄目なの?
0061デフォルトの名無しさん
2010/12/07(火) 12:36:24LabelEdit=trueのラベル列みたいに利用者が直接書き換えれるようにしたいんよ。
CodeProjectに丁度いいのがあった。
http://www.codeproject.com/KB/list/ListViewCellEditors.aspx
WPFに慣れるとWinForms使うのが苦行でしかないわ…。ちょっと使い勝手を改善したいだけなのに
0062デフォルトの名無しさん
2010/12/07(火) 13:38:100063デフォルトの名無しさん
2010/12/07(火) 14:09:55業務開発者からは、「派手な画面のアプリケーションを作るためのモノ」と勘違いされている。
0064デフォルトの名無しさん
2010/12/07(火) 14:24:360065デフォルトの名無しさん
2010/12/07(火) 14:30:37何を言ってるかわからねーと思うが俺もわからない。
XPとVistaでもあったがガラリと変わるとなかなか人は付いてこない模様。
そろそろ学習したほうがいい。
0066デフォルトの名無しさん
2010/12/07(火) 16:48:46未だに勘違いしてる>>64みたいなのでさえ、スレを見に来るほど流行ってきた。
新しいことを学ぼうとせず逃げてるような人は、そろそろ(WPFを)学習したほうがいい。
0067デフォルトの名無しさん
2010/12/07(火) 17:21:470068デフォルトの名無しさん
2010/12/07(火) 17:29:250069デフォルトの名無しさん
2010/12/07(火) 18:09:30つまり糞
0070デフォルトの名無しさん
2010/12/07(火) 18:12:072008まではxpも視野に・・・と
0071デフォルトの名無しさん
2010/12/07(火) 18:19:37壊れるまで使うのが普通
5年前のPCを使っている人がどれだけいると思ってるのか
そういう人達に、お前らみたいな糞PCじゃWPF様は使えないんだよって
横柄な態度をしているのはどうかと思いますね
料理屋で食べ方を注意してくる店員がいたらどうでしょうか?
みすぼらしい格好で入ってきた客にお前に俺の飯は食わせない
なんていう店主がいたらどうでしょうか?
ソフトはあくまで道具、使われる立場にあるんですよ
使えないならゴミと一緒
0072デフォルトの名無しさん
2010/12/07(火) 18:20:54古いPCっていうのは1900年代のPCの事なんだけどなに勘違いしてるの?
0073デフォルトの名無しさん
2010/12/07(火) 18:20:550074デフォルトの名無しさん
2010/12/07(火) 18:21:420075デフォルトの名無しさん
2010/12/07(火) 18:33:20イベントとコマンド混合してた。
イベントってあんまり使わない?
0076デフォルトの名無しさん
2010/12/07(火) 18:33:56開発やるくせにWPFすらまともに動かないPCなの?
0077デフォルトの名無しさん
2010/12/07(火) 18:34:11むしろコマンドが使わない。
0078デフォルトの名無しさん
2010/12/07(火) 18:36:37重いかどうかだよ
最新のPCですらこのIDEではデバッグ作業でイライラさせられる
0079デフォルトの名無しさん
2010/12/07(火) 18:38:03つまり配布する気がないならRubyでいいよね?
まさか個人で使うのにWPFでオサレGUIなんて非効率的なことしてないよね?
0080デフォルトの名無しさん
2010/12/07(火) 18:44:100081デフォルトの名無しさん
2010/12/07(火) 18:56:39fpsを教えてよ
うちのPCは2年前にFPSゲー用に買ったものだが
10行のdatagridでさえfpsは一桁だがな
こんなもっさりしてるの使いたくない
0082デフォルトの名無しさん
2010/12/07(火) 18:57:530083デフォルトの名無しさん
2010/12/07(火) 19:03:450084デフォルトの名無しさん
2010/12/07(火) 19:03:59Win 7クアッドコアにHD 5770で
俺もXP使ってた時は本当に遅くてフォントもおかしいしくそだと思ってた
しかし、今はMSはもうロースペック相手にしてないんだと分かった
0085デフォルトの名無しさん
2010/12/07(火) 19:05:54設計がマジでお粗末すぎwwwwwwwwww
VB使いたて3日レベルwwwwwwwww
0086デフォルトの名無しさん
2010/12/07(火) 19:08:12必要のない同期通信するアプリを超えてるな…
0087デフォルトの名無しさん
2010/12/07(火) 19:09:27コテハン君の頭は、こんなクソ重いWPFプログラマが増えることは、ユーザーが迷惑しプログラミング業界の衰退につながるから
なんとしてもWPFのクソさをアピールしなければならないらしい。
言ってわかるやつじゃないから君も相手にしないほうがいいよ。
0088デフォルトの名無しさん
2010/12/07(火) 19:12:49そんなPCもっているやつが世間でどれだけいると思っているんだよ
0089デフォルトの名無しさん
2010/12/07(火) 19:14:130090デフォルトの名無しさん
2010/12/07(火) 19:14:3210行のdatagridでさえfpsは一桁だがな
これのどこが軽いんだ?
0091デフォルトの名無しさん
2010/12/07(火) 19:16:300092デフォルトの名無しさん
2010/12/07(火) 19:16:44流石にそれは別の原因
0093デフォルトの名無しさん
2010/12/07(火) 19:18:230094デフォルトの名無しさん
2010/12/07(火) 19:19:3980%いるXPユーザーがまともに使えない時点で糞
0095デフォルトの名無しさん
2010/12/07(火) 19:22:120096デフォルトの名無しさん
2010/12/07(火) 19:24:39日本語も通じないのか?
0097デフォルトの名無しさん
2010/12/07(火) 19:30:1710行10万列だねwwwwwwwwwwww
0098デフォルトの名無しさん
2010/12/07(火) 19:32:12こういうきちがいがいるからWPF嫌いなんだよ
0099デフォルトの名無しさん
2010/12/07(火) 19:34:08なんて言ってるバカしかいないのか?
そんなに軽いならなぜWPFで3Dゲーム作らないんだ?
0100デフォルトの名無しさん
2010/12/07(火) 19:34:54ゲーム作るならC++のほうがマシ
理論か
0101デフォルトの名無しさん
2010/12/07(火) 19:35:31早くWPFで作ってよ
0102デフォルトの名無しさん
2010/12/07(火) 19:35:570103デフォルトの名無しさん
2010/12/07(火) 19:37:31ゲーム作るならWPFよりC++のほうがいい!
1万行のデータグリッドのfps見れ
WPFはXAMLとC#の二つを覚えなきゃいけないからダメ
0104デフォルトの名無しさん
2010/12/07(火) 19:37:47俺の持ってるPCはミドルかそれ以上
そのPCでさえ、10行のdatagridがこんなにもっさりなのはなぜなんだ?
IDEもいちいち重いしデバッグ作業でイライラするわ
0105デフォルトの名無しさん
2010/12/07(火) 19:38:37それ面白いと思ってんの?
0106デフォルトの名無しさん
2010/12/07(火) 19:38:56↓
みんな:遅くないよ?ちなみにどんな環境なの?
↓
プログラム初心者:10万行のDataGridが遅すぎ
↓
みんな:マァマァ(((ノ´ー`)ノ
0107デフォルトの名無しさん
2010/12/07(火) 19:39:33Datagridもできない
IDE糞重い
小規模アプリだと生産性悪い
一体なにができるの?
オサレGUIしかできないじゃん
0108デフォルトの名無しさん
2010/12/07(火) 19:39:57これがゆとり教育の弊害か…
0109デフォルトの名無しさん
2010/12/07(火) 19:40:55プログラマってこういうネチネチしたやつばっかりなのか?
ずっと孤独な人生過ごしてきて人格歪んじゃってるんじゃないの?
0110デフォルトの名無しさん
2010/12/07(火) 19:41:280111デフォルトの名無しさん
2010/12/07(火) 19:41:330112デフォルトの名無しさん
2010/12/07(火) 19:41:540113デフォルトの名無しさん
2010/12/07(火) 19:42:50そろそろうつ病になって自殺とか言い始めますよ
0114デフォルトの名無しさん
2010/12/07(火) 19:43:210115デフォルトの名無しさん
2010/12/07(火) 19:44:55http://palepoli.skr.jp/wp/2008/06/11/xp-on-wpf/
ここのブログでも重いと書いている
0116デフォルトの名無しさん
2010/12/07(火) 19:46:19( ´д)ヒソ(´д`)ヒソ(д` )(10万行はやっぱり違うわね)
0117デフォルトの名無しさん
2010/12/07(火) 19:51:130118デフォルトの名無しさん
2010/12/07(火) 19:53:000119デフォルトの名無しさん
2010/12/07(火) 19:53:182008でも重かったがより一層重い
画面の切り替えも遅いし
ちょっと最小化してたら、開くまでに時間がかかる
0120デフォルトの名無しさん
2010/12/07(火) 19:54:040121デフォルトの名無しさん
2010/12/07(火) 19:56:20そうやって摩り替えないと擁護できないの?
0122デフォルトの名無しさん
2010/12/07(火) 19:57:301000行なら良い嘘になったのにもったいないなー
0123デフォルトの名無しさん
2010/12/07(火) 20:00:22Expression Web4よりかは軽いよ
Win7の話で悪いけど
0124デフォルトの名無しさん
2010/12/07(火) 20:01:59だとしたら10万行も有りだと思うんだ
0125デフォルトの名無しさん
2010/12/07(火) 20:04:42縦も横も仮想化を有効にする。EnableColumnVirtualizationとEnableRowVirtualizationをtrueで。
デフォルトでは横の仮想化が有効じゃないんだよ。
これでセルの中に無茶なものを突っ込まない限りはそこそこ実用的な速度で動くようになるはずだしデータ量に依存しない速度になる。
グループ化は仮想化が無効になるので使っちゃ駄目。
それでも遅いなら列の幅などのレイアウトが自動調整されるときのコストがかなり掛かるので
なるべく固定サイズになるようにしておく。
サイズに影響しない要素なら多少多くても速度にはあまり影響しないので。
Bindingはなるべくシンプルに動作するようにしないと若干遅くなるけど無茶やらなければあまり影響ないかな。
0126デフォルトの名無しさん
2010/12/07(火) 20:19:38それはやってなかったな
デフォルトのオート調整になってる
まあ、それやったところでそんなに変わらないだろうし
試す気にもならない
たった10行と5列のデータなのにあれだけ重いんだから
PC変えてからWinformはそこそこ快適になったが、
WPFはまだだめだな
こんな遅いの作って配布なんて考えられない
Win7でどんな挙動になるかは知らないが
XPユーザーじゃ使う気にならない
0127デフォルトの名無しさん
2010/12/07(火) 20:21:180128デフォルトの名無しさん
2010/12/07(火) 20:39:21それ書いても10万行君は理解出来てないと思うよ
概念とかどうしてそれで軽くなるとかそういう根本的なところがさ
0129デフォルトの名無しさん
2010/12/07(火) 22:04:110130デフォルトの名無しさん
2010/12/07(火) 22:35:500131デフォルトの名無しさん
2010/12/07(火) 22:40:4522万行でもまだVPCでXP動かしてるより軽いわ
0132デフォルトの名無しさん
2010/12/07(火) 22:45:47WPFのGPU依存度はかなり高いし、じっさいVAIO ZでGPUを切り替えた時、体感が劇的に変化する
0133デフォルトの名無しさん
2010/12/07(火) 22:47:240134デフォルトの名無しさん
2010/12/07(火) 22:47:560135デフォルトの名無しさん
2010/12/07(火) 23:31:44無効にした方が速いとか意味がないことも起こるし。
0136デフォルトの名無しさん
2010/12/07(火) 23:37:48XPでWPFが相性が悪いっていう原因の大半がGPUのドライバのせいだと思うよ。
特にIntelのオンボードはちゃんと動くものを見たことがない。
0137デフォルトの名無しさん
2010/12/07(火) 23:51:550138デフォルトの名無しさん
2010/12/08(水) 00:59:012chの片隅でどんなに叩いても大勢には何一つ影響ないのによくやるもんだww
0139デフォルトの名無しさん
2010/12/08(水) 01:16:47Part1では4カ月かかったのがたった2日…。
0140デフォルトの名無しさん
2010/12/08(水) 01:21:191 .NET3.0もリリースされて盛り上がってまいりますた。
2 .NET3.5 SP1 Betaもリリースされて盛り上がってまいりますた。
3 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。
4 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。
5 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。
6 .NET4.0もリリースされたけど別に盛り上がってはいないよね…。
7 パワフルで柔軟すぎるのが敗因か? 正直ついていけないよね…。
8 .NET4 もリリースされて盛り上がってまいりますた。
Part1 2006/11/08-2008/05/24 563日
Part2 2008/05/22-2009/01/11 234日
Part3 2009/01/09-2009/06/20 162日
Part4 2009/06/19-2009/12/27 191日
Part5 2009/12/27-2010/05/21 145日
Part6 2010/05/21-2010/08/28 99日
Part7 2010/08/22-2010/12/06 106日
Part8 2010/12/05-2011/?
盛り上がってまいりますた!
0141デフォルトの名無しさん
2010/12/08(水) 01:21:19しかしCore iシリーズのHD GraphicsのコンパネはWPFで作られている・・・
0142デフォルトの名無しさん
2010/12/08(水) 01:41:17設定画面はWPFなのにWPFのアプリが落ちたりする不具合を抱えてる。
設定画面はちゃんと動いてるだけになんでWPFアプリが動かないのか悩んだよ。
0143デフォルトの名無しさん
2010/12/08(水) 02:38:350144デフォルトの名無しさん
2010/12/08(水) 03:13:470145デフォルトの名無しさん
2010/12/08(水) 03:44:54趣味グラマは数万円もするようなツールは買いたがらないからな。
昔に比べてだいぶ流行ってきたとはいえ、まだまだだろう。
フリーのExpression Brendでもでればいいのだが。
0146デフォルトの名無しさん
2010/12/08(水) 04:41:47そこから踏み込むならBlendがあるに越したことはない。
無料版出せとは言わないまでも、単品パッケージの復活ぐらいはやってほしいね。Express可のUPGが15kぐらいだっけ?
0147デフォルトの名無しさん
2010/12/08(水) 08:37:49こんなのが作れたのかってな感じで
0148デフォルトの名無しさん
2010/12/08(水) 11:10:12ウィンドウを拡大縮小したときの文字列の並び替えが
すごく滑らかだ
同じソースなのにlive2chだとカクカクする
どうして?
0149デフォルトの名無しさん
2010/12/08(水) 11:37:160150デフォルトの名無しさん
2010/12/08(水) 12:56:38900スレ取り込んだら激重いw
WPF使えねーな
0151デフォルトの名無しさん
2010/12/08(水) 13:09:030152デフォルトの名無しさん
2010/12/08(水) 13:37:47live2chで1000レスあるスレをhtmlで書き出して
コピペしたWebBrowserのソースに割り当てただけ
読み込み自体はまだ許容範囲だが(それでもJaneStyleより遥かに遅い)
ウィンドウを拡大縮小するともっさもさ
Delphiやれっつーことか
でも、今更やりたくないな
0153デフォルトの名無しさん
2010/12/08(水) 13:46:070154デフォルトの名無しさん
2010/12/08(水) 13:47:390155デフォルトの名無しさん
2010/12/08(水) 13:53:37http://kamome.2ch.net/test/read.cgi/mnewsplus/1291782924/
0156デフォルトの名無しさん
2010/12/08(水) 14:00:24なんでWPF叩いてるのってこんな奴ばっかりなんだろ…。
WebBrowserが重いって馬鹿だろ。そんな作り方じゃDelphiで書いても糞重いわ。
0157デフォルトの名無しさん
2010/12/08(水) 14:02:450158デフォルトの名無しさん
2010/12/08(水) 14:10:36正しいやり方教えろよ
0159デフォルトの名無しさん
2010/12/08(水) 14:20:510160デフォルトの名無しさん
2010/12/08(水) 14:22:150161デフォルトの名無しさん
2010/12/08(水) 14:23:080162デフォルトの名無しさん
2010/12/08(水) 14:40:50みたいな書き方にしないで、素直に
<setter Background="Black"/>
みたいにかけるようにすればよかったのにね。
いちいちPropetyだのvaluだの余計な単語つけないといけなくてめんどい
0163デフォルトの名無しさん
2010/12/08(水) 14:54:410164デフォルトの名無しさん
2010/12/08(水) 16:47:33Backgroundプロパティを持ってるわけではないのでそんな書き方は無理。
0165デフォルトの名無しさん
2010/12/08(水) 17:34:100166デフォルトの名無しさん
2010/12/08(水) 17:38:22実際にはコードでクラスでほげほげされてるしね。
0167152
2010/12/08(水) 17:43:420168デフォルトの名無しさん
2010/12/08(水) 17:53:440169デフォルトの名無しさん
2010/12/08(水) 18:10:550170デフォルトの名無しさん
2010/12/08(水) 18:13:35timeBeginPeriod(1)でも呼んどけばいいんじゃない?
0171170
2010/12/08(水) 18:32:28そんなの自前でレンダリングしろ。
0172152
2010/12/08(水) 19:56:14言うと思ったw
live2chと比べているのに
レンダリングしろってそりゃないですよw
そんな解決法しか思いつかないのにえらそうに
「そんな作り方はダメ」なんて言ってたの?
ユーザーがスキンを自由にカスタマイズできるように
WebBrowser使っているのにさ、まったく理解してないね
じゃあ、自由にカスタマイズできるようにしろって?
そういうことするのは無能と言っていいでしょ
0173デフォルトの名無しさん
2010/12/08(水) 19:58:030174デフォルトの名無しさん
2010/12/08(水) 20:10:28WPFスレとしては自分でレンダリングしろと言うしかないでしょう
スレ違いだ
0175デフォルトの名無しさん
2010/12/08(水) 20:22:400176デフォルトの名無しさん
2010/12/08(水) 20:23:51なんか、レス数が増えると重くなるって言ってる様
に受け取れるんだが、WebBrowserコントロール
って表示はlive2chと同じ仕組みが用いられてんだか
ら中で表示するhtmlのサイズは関係ないと思うのだ
が、WebBrowserコントロールをどんな使い方して
んのさ。
作り直しが面倒な程作り込んでるなら別の部分に
問題があるじゃない?さっきの10行10万列の野郎
みたいにリサイズの度に10万個のひろゆき画像を
三次元に回転させるとかだったらそれは重いと
思うよ。
後、知ってると思うがもし仮にXP上で動かして
いたならこれは諦めた方が良いでしょ
0177デフォルトの名無しさん
2010/12/08(水) 20:27:18ネイティブのウィンドウを重ねてActiveXコントロール貼ってるだけだから
0178152
2010/12/08(水) 20:28:26作りこむも何もWebBrowser貼り付けただけのものだよ
XPだとなぜ諦めないといけないの?
.Net入ってたら同じ環境になるんじゃないの?
0179152
2010/12/08(水) 20:29:470180デフォルトの名無しさん
2010/12/08(水) 20:32:07OSの影響が無いし、ActiveX丸出しじゃなくてもうちょっとちゃんとしたWebBrowserが使えるよ
0181デフォルトの名無しさん
2010/12/08(水) 20:32:520182デフォルトの名無しさん
2010/12/08(水) 20:41:05極端な話、枠を消したウィンドウにActiveXコントロールを貼ってWPFのウィンドウ上に重ねてるだけ。
だからXP上のレンダリングの問題とかの話は適用できないの。
0183152
2010/12/08(水) 20:56:55sourceにバインドしようと思ったらよくわからないオブジェクトのプロパティを
使わないといけないみたいで、あれみて一気にやる気失せた
0184デフォルトの名無しさん
2010/12/08(水) 21:00:28単なるActiveXコントロール。WPFとは全く関係ない。スレ違い。
0185デフォルトの名無しさん
2010/12/08(水) 23:14:52チェックしてダメだったら元のとこに戻したいってだけなのに.focusで無限ループ
どうしましょ
0186デフォルトの名無しさん
2010/12/08(水) 23:36:590187デフォルトの名無しさん
2010/12/08(水) 23:37:56> このイベントはバブル ルーティングを使用するため、フォーカスを失う要素は、
> イベント ハンドラが実際にアタッチされている要素ではなく、子要素である可能性があります。
> イベント データの Source をチェックして、フォーカスを取得した実際の要素を確認してください。
0188デフォルトの名無しさん
2010/12/09(木) 00:23:28ああ、それならキャンセル持ってるですね。試してみます。
>>187
ちょこちょこsenderに移動先のコントロールが紛れ込んでくるんですが、
その辺が関係してるかもしれないですね。
複数のコントロールをまとめて一つのlostfocusにsetterEventで飛ばしてるんですが、
何かバラにした方が良さげな気がしてきました。
どうもです。
0189デフォルトの名無しさん
2010/12/09(木) 01:59:00RectangleはFillなんだ
Rectangle Background="Red"ってやってもエラーでるから何事かと15秒くらい考えてしまったじゃないか。
Microsoftはどっちかに統一しろよクソめ
0190デフォルトの名無しさん
2010/12/09(木) 02:12:500191デフォルトの名無しさん
2010/12/09(木) 02:22:07なにもおかしい所はない。
他のビジュアル要素を内包するコントロールの背景がBackgroundで前景がForegroundなのも当たり前。
PenがBrushで、BorderがBorderBrushとBackgroundで、PanelがBackgroundになるのも当然の結果。
言葉の意味考えずに、単語だけでプログラミングやってんの?
こういう奴って見るだけで頭痛になりそうな痛い変数名・関数名を量産してそう。
0192デフォルトの名無しさん
2010/12/09(木) 02:23:03そういう基本的な図形はShapeなので区別は付くはずだよ。
0193デフォルトの名無しさん
2010/12/09(木) 02:31:22Windows Formのコントロールなら
FormもLabelもButtonもTextBoxも全部Textプロパティだったのに。
WPFはWindows Formのクラス群でTextプロパティだったのがいろいろ分かれてる。
いちいち、このコントロールはTextがContentで、あっちはTextで、別のなにかはさらに違ってって全部いちいち暗記しなきゃならないのか。めんどくせーな。
0194デフォルトの名無しさん
2010/12/09(木) 02:39:100195デフォルトの名無しさん
2010/12/09(木) 02:40:36暗記しなきゃならないって馬鹿か。
中に何が入るか考えれば暗記する必要などない。
0196デフォルトの名無しさん
2010/12/09(木) 02:46:59Contentは文字に限らずいろんな要素を入れられるしContentTemplateなど表示のカスタマイズができる。
そんな感じに使い分けられてるから結構解りやすいと思うよ。
0197デフォルトの名無しさん
2010/12/09(木) 02:47:45http://msdn.microsoft.com/ja-jp/library/system.windows.controls.contentcontrol.aspx
の構文と継承を1時間ほど見つめ続けろ
0198デフォルトの名無しさん
2010/12/09(木) 02:53:16Buttonとかの背景がBackColorっていう名前のプロパティだったのに
WPFになるとBackgroundとか、意味も無く名前変わってるし。
なんなのこれは。Formから移ってきた人がうっかり前と同じようにコード書いてエラーおこさせるための嫌がらせか?
0199デフォルトの名無しさん
2010/12/09(木) 02:56:28Buttonクラスの継承調べろカス
0200デフォルトの名無しさん
2010/12/09(木) 03:01:52http://msdn.microsoft.com/ja-jp/library/ms751565.aspx
0201デフォルトの名無しさん
2010/12/09(木) 03:01:59>意味も無く名前変わってる
お前、無能だとよく馬鹿にされてるだろ。
Backgroundに入るのがColorだけだとでも思っているのか?www
ちょっとぐらい調べてから喋れクソめ
0202デフォルトの名無しさん
2010/12/09(木) 03:02:28BackColor とかどう見ても失敗。
ImageBrush とかも使えるし。
0203デフォルトの名無しさん
2010/12/09(木) 03:04:25Windows Formでつちかった知識をいかせないなんてWPFはクソな仕様なんだな
0204デフォルトの名無しさん
2010/12/09(木) 03:05:120205デフォルトの名無しさん
2010/12/09(木) 03:07:48Button.Text="Click me!";
これでOKだったんだから
WPFでも全く同じコードで動くようにすべきだよ。
0206デフォルトの名無しさん
2010/12/09(木) 03:08:150207デフォルトの名無しさん
2010/12/09(木) 03:08:56こういう奴って、WinFormsの頃からバインディングがあった事すら知らないか、ろくに使いこなせてなかったんだろうな。
0208デフォルトの名無しさん
2010/12/09(木) 03:16:36WinFormsの良いとこも悪いとこもお前以上に理解した上で出した結論。
その中に飛び込んで言うことが「プロパティ名が気に食わない」だけかよw
0209デフォルトの名無しさん
2010/12/09(木) 11:36:46ScaleTransformでの縮小時に文字が読めなくなってしまうのと、
コントロール自体の縦横比率で、文字の縦横比率が変わってしまうので困る。
全体サイズと内部配置を変更して、文字サイズは固定する方法ってない?
0210デフォルトの名無しさん
2010/12/09(木) 11:40:38Grid で列幅、行高さを auto なり * なり指定すればいいのに。
0211デフォルトの名無しさん
2010/12/09(木) 11:46:14細かくコントロールの配置を整えないので、Gridは厳しいなあ。
地道にpoint計算して、Canvas.SetLeftすることにします。
ありがとう。
0212デフォルトの名無しさん
2010/12/09(木) 11:50:20固定でやってたら文面ちょこっと変えただけで再配置になるし。
0213デフォルトの名無しさん
2010/12/09(木) 11:51:15ViewBox ってのがあるよ。中身を自動サイズ調整。
0214デフォルトの名無しさん
2010/12/09(木) 11:59:39細かくコントロールの配置を整え"る"ので、の書き間違い・・・
ViewBox試してみます!
0215デフォルトの名無しさん
2010/12/09(木) 15:26:20TopやLeftとかを変えればいいだけだと思うんだがなんの意味があるんだろう。
0216デフォルトの名無しさん
2010/12/09(木) 15:36:25LayoutTransform と RenderTransform で挙動違うからねぇ。
Layout 相当の方は確かに Top/Left の変更で行けなくはないが、Render の方は無理。
アニメーションでぶるぶる震えるとかそういうことやるのは Transform の方がいいともう。
Top とか Left とかは Canvas 内にいないと使えないし。
Content の入れ子ができる WPF じゃ Top/Left はいまいち使えない。
0217デフォルトの名無しさん
2010/12/09(木) 15:39:05<RowDefinition/>
をいっぱい書くのめんどくさいなぁ
<RowDefinition*8/>
みたいな書き方できるようにしてくれよ
0218デフォルトの名無しさん
2010/12/09(木) 15:50:22特殊文法はどこかで破たんするからなぁ。
ツールとの連携を考えると、正規の XML の文法からそれない方が身のため。
RowDefinition とかは Visual Studio の UI デザイナー使うなぁ、
さすがに手書きめんどくさいんで。
0219デフォルトの名無しさん
2010/12/09(木) 16:02:32簡単なツールならVSで十分だが、出来ればBlendを買うのを勧める
0220デフォルトの名無しさん
2010/12/09(木) 16:08:59http://www.youtube.com/watch?v=lnHa6OZa0U4
これで何が不満なのか。
0221デフォルトの名無しさん
2010/12/10(金) 00:12:10<MenuItem Header="Exit" Command="Close"/>
だとメニューのExitがdisableなままでクリックできないし。
自前Command作ってもVMがVを持ってないから Close できないわけで。。。
どうすりゃいい?
0222デフォルトの名無しさん
2010/12/10(金) 01:16:31よくあるパターンでは、ViewModelにRequestCloseってイベント作っておいて、
DataContext への代入の時にそれに += するようなのか、
もしくは、最近はやりは、
Close イベント拾ってウィンドウ閉じるようなビヘイビア書くかかなぁ。
0223デフォルトの名無しさん
2010/12/10(金) 01:22:05C#のコードを簡略化して書けるようなものなの?
C#だと
なんちゃら 変数 = new なんちゃら();
変数.Child.Add(なんとか);
みたいなのを
<なんちゃら>
<なんとか>
</なんちゃら>
だけでかけて、いちいちnewとかChild.Addとか書かなくていいから大幅に省略できてラクチン?
0224デフォルトの名無しさん
2010/12/10(金) 01:25:04ツールが読みやすいように XML にしてるとか、
依存関係プロパティやらデータバインディングやら、C# で書きにくいのを楽に書けるとか。
Children.Add とかは、C# 3.0 以降、書く必要ない。
var layoutRoot = new Grid {
Children = { new Button(), new TextBox() }
};
みたいに書ける。
0225デフォルトの名無しさん
2010/12/10(金) 01:30:12違う。簡略化じゃなくて、外部ツールでも扱い易くするために、あの文法になった。
手書きを前提としては作ってない。
あと、今は
List<string> list = new List<string>();
list.Add("hoge")
は
var list = new List<string> { "hoge" };
と書ける。
0226225
2010/12/10(金) 01:31:050227デフォルトの名無しさん
2010/12/10(金) 01:37:230228デフォルトの名無しさん
2010/12/10(金) 02:24:58それも含めて、ユーザーもツールを作りやすいように。
Microsoft は、XAML を WPF や Silverlight 専用とせずに .NET に関するデータをテキスト形式で書くための言語として作った
(だから、XAML でユーザー定義クラスのインスタンスも生成できる)。
.NET 同士でデータを交換したり、読み書きするなら、単なる XML を使うよりは、XAML を使ったほうが簡単に扱えるようになってる。
0229221
2010/12/10(金) 02:32:30XAMLに
<MenuItem Header="Exit" Command="{Binding ExitApp}"/>
VMに
public void Execute(object parameter) {
System.Windows.Application.Current.MainWindow.Close();
}
こんな感じに落ち着きましたです。
なんかかっこ悪い気がするけど終了するからまぁいいかと。
そんでもって今度は、ウィンドウ枠消して Label だけにしたウィンドウを
どうやってドラッグ移動させるかでどつぼってる中orz
0230デフォルトの名無しさん
2010/12/10(金) 02:40:09将来的にはそんなかっこ悪い書き方しなくなりそうな感じするけど、
現状はそれでいいと思う。
枠消したアプリは、MouseDown イベントのハンドラーで DragMove メソッド呼ぶだけだったと思う。
0231デフォルトの名無しさん
2010/12/10(金) 02:43:060232デフォルトの名無しさん
2010/12/10(金) 02:45:30標準になること自体は確定してるみたいなので、後は次期の問題・・・
0233デフォルトの名無しさん
2010/12/10(金) 03:22:59参照型とか意味わからん。
0234デフォルトの名無しさん
2010/12/10(金) 03:30:15参照型:jクラス(class)
値型:構造体(struct), 列挙型(enum) 組込み型(int,double...)
C# 参照型 でググると解説がいっぱいある。ふらっとC#あたりで聞いてもいい。
0235デフォルトの名無しさん
2010/12/10(金) 03:54:20Routed eventなのに日本語だと
ルーティング イベント
になるの?
用語つけたやつ誰だよ。
0236デフォルトの名無しさん
2010/12/10(金) 03:54:53ありがとう。
Label に MouseDown="label1_MouseDown" 追加して Window1.xaml.cs に
private void label1_MouseDown(object sender, MouseButtonEventArgs e)
{
this.DragMove();
}
追加でいけました。
>>231
添付ビヘイビアってやつですかね?
DragMoveBehaviour みたいな
0237デフォルトの名無しさん
2010/12/10(金) 04:02:40DragMoveをする添付ビヘイビア - WPF memo http://goo.gl/ZtBZ7
のコードでビヘイビアベースでもいけました。
こっちはかっこいい。
いろいろパラダイム変わってるからとっつきは難しいなぁWPF
0238デフォルトの名無しさん
2010/12/10(金) 09:54:27MS 規則だと割とそうみたいよ、routed event に限らず、-ed 単語の多くが・・・
ほんとなんでそんなことになったのか。
0239デフォルトの名無しさん
2010/12/10(金) 10:05:110240デフォルトの名無しさん
2010/12/10(金) 16:16:01長いからそれを略したと考えれば別に不自然じゃないでしょ
0241デフォルトの名無しさん
2010/12/10(金) 18:09:54なんという不自然な考え方w
0242デフォルトの名無しさん
2010/12/10(金) 19:22:03略して「自動実装プロパティ」と表記されてることも多い。
間に「される」を挟むなら「ルートされる」じゃなくて「ルーティングされる」でしょ
0243デフォルトの名無しさん
2010/12/10(金) 22:40:26Microsoft Visual Studio 2010 Service Pack 1 Beta
http://www.microsoft.com/downloads/details.aspx?FamilyID=11ea69cb-cf12-4842-a3d7-b32a1e5642e2&displayLang=ja
これ入れたらWPF重くなった。
でも、setter Property=""の部分とかstyle Target=""の部分あたりがインテリセンスができるようになった。
0244デフォルトの名無しさん
2010/12/10(金) 22:46:19Silverlight4ツールキットにXAMLデザイナの更新が含まれてたんだったかな
0245デフォルトの名無しさん
2010/12/10(金) 22:52:080246デフォルトの名無しさん
2010/12/11(土) 02:20:14は、ほんとなんとかして欲しい。vsのアップデートまたは機能拡張として正規に適用
されるべきもんだし、そもそもなんでcodeplexみたいな裏街道でこっそりダウ
ソしなきゃならんのだ?
バージョンも2010 april cptとか何が最新なのかさっぱりわからんし。
0247デフォルトの名無しさん
2010/12/11(土) 02:35:14>>246
codeplex は、早期に発表しておきたいという場。
ぶっちゃけ、人柱ほいほい。
安定したのから製品版に入っていくはず。
0248デフォルトの名無しさん
2010/12/11(土) 02:36:38あと、CTP(のことよね?<cpt)は、
β以下の完全人柱バージョンって意味。
さっぱりわからん人は触れちゃダメ。
0249デフォルトの名無しさん
2010/12/11(土) 02:38:23歴史の勉強ソフトとか。
でもそういうことするんだったら、別のソフトつかったほうがいいか。
0250デフォルトの名無しさん
2010/12/11(土) 09:32:250251デフォルトの名無しさん
2010/12/11(土) 14:23:24安土城とか?
0252デフォルトの名無しさん
2010/12/11(土) 14:41:550253デフォルトの名無しさん
2010/12/11(土) 17:12:100254デフォルトの名無しさん
2010/12/11(土) 17:19:14例外なく操作性最悪のゴミだけど
0255デフォルトの名無しさん
2010/12/11(土) 20:18:33見せる相手がいない
まさか自分で見るために作るのか
さびしいのう
0256デフォルトの名無しさん
2010/12/11(土) 20:22:24ドヤ顔でデフォルトのスタイルを作ると言い出した挙句上司が了承した…オワタ
0257デフォルトの名無しさん
2010/12/12(日) 00:16:180258デフォルトの名無しさん
2010/12/12(日) 00:20:070259デフォルトの名無しさん
2010/12/12(日) 00:32:34間違えてBlend Bookとか買っちゃだめよ
0260デフォルトの名無しさん
2010/12/12(日) 00:46:51youtube に Blend 使ったビデオあるから見れば大体はわかる。
0261デフォルトの名無しさん
2010/12/12(日) 01:04:200262デフォルトの名無しさん
2010/12/12(日) 01:13:56まともなのはないけどw
0263デフォルトの名無しさん
2010/12/12(日) 07:34:430264デフォルトの名無しさん
2010/12/12(日) 08:47:280265デフォルトの名無しさん
2010/12/12(日) 08:59:300266デフォルトの名無しさん
2010/12/12(日) 10:52:370267デフォルトの名無しさん
2010/12/12(日) 11:40:13スタイル使う
リソースディクショナリにまとめておけば簡単に切り替えられるし
ユーザーが作ったものを動的に読み込むこともできる
0268デフォルトの名無しさん
2010/12/12(日) 23:54:35スタイルのスキン的使い方をまとめてるようなところない?
0269デフォルトの名無しさん
2010/12/13(月) 16:41:39InputGestureTextが"Ctrl+O"とか設定されるけど,
それを抑止するにはどうしたらいいでしょう?
面倒だけどCommandを使わずにイベントハンドラで処理するしかないのかニャ?
0270デフォルトの名無しさん
2010/12/13(月) 19:50:23http://www.youtube.com/watch?v=TgVuwq1HRPk
0271デフォルトの名無しさん
2010/12/13(月) 19:56:44このメカニズムは保守に重点を置いてる物だから
何でもできると思ってるのなら大間違い
0272デフォルトの名無しさん
2010/12/13(月) 20:02:240273デフォルトの名無しさん
2010/12/13(月) 20:07:23バインディングの強化はWinFormsやASP.NETからの正当な進化であって
バインディングのためにわざわざ新しく作ったわけじゃない
0274デフォルトの名無しさん
2010/12/13(月) 20:09:010275デフォルトの名無しさん
2010/12/13(月) 20:21:22一般にMVC的な構造にバインディングは有効だからバインディングが重視されてるだけ。
コマンドバインディングだってあれは本来Ctrl+Cとツールバーのコピーボタンとメニューのコピーボタンで
共通の処理を行うための仕組みだ。
0276デフォルトの名無しさん
2010/12/13(月) 20:36:56何でもできるようになろうとしたんですよ
努力は認めるが
0277デフォルトの名無しさん
2010/12/13(月) 20:48:29たくさんの処理方法がある場合にはコマンドを使えばいいの?
たとえば、たった一つのボタンを押すしか実行する方法が無い場合はWinFormのようにボタンクリックイベントで
ボタンを押しても、ショートカットキーでも、メニュ−でも、その他いろいろな条件でメソッド呼ばれるようにしたい場合コマンドを使うの?
0278デフォルトの名無しさん
2010/12/13(月) 20:49:420279デフォルトの名無しさん
2010/12/13(月) 20:53:35そうだよ
で、コマンドが実行されたときの処理はコードビハインドに書く。
イベントハンドラも自由に使っていい。WPFは本来そういう設計。
0280デフォルトの名無しさん
2010/12/13(月) 20:56:000281デフォルトの名無しさん
2010/12/13(月) 21:02:030282デフォルトの名無しさん
2010/12/13(月) 21:04:330283デフォルトの名無しさん
2010/12/13(月) 21:07:28直感というよりは先入観だろうな
0284デフォルトの名無しさん
2010/12/13(月) 21:09:13超面倒臭いんだけど、どうにかならないの?
0285デフォルトの名無しさん
2010/12/13(月) 21:12:13MVC的な設計が面倒くさいのは当たり前のことで
それを補って余りあるメリットがあるなら使えばいいんで
無理してMVVM適用する必要ないんだよ?
0286デフォルトの名無しさん
2010/12/13(月) 21:14:040287デフォルトの名無しさん
2010/12/13(月) 21:15:21貴方とはお付き合い出来ません・・・
0288デフォルトの名無しさん
2010/12/13(月) 21:16:480289デフォルトの名無しさん
2010/12/13(月) 21:19:060290デフォルトの名無しさん
2010/12/13(月) 21:27:04アホらしすぎる
0291デフォルトの名無しさん
2010/12/13(月) 21:33:080292デフォルトの名無しさん
2010/12/13(月) 21:49:28特に何をするでもないのに変数とプロパティ両方に分けるのはめんどくさい
変数だけでいい
って言ってるようなもの。
まぁpropで簡単に実装できるようになったけどさ。
0293デフォルトの名無しさん
2010/12/13(月) 22:20:420294デフォルトの名無しさん
2010/12/13(月) 22:32:320295デフォルトの名無しさん
2010/12/13(月) 23:55:53ビューを切り替えるという概念もなさそうだし
0296デフォルトの名無しさん
2010/12/14(火) 00:01:40北海道の上にマウスを置くと北海道が光って
青森の上におくと青森が光って・・・
みたいなのってどうやるんだ。やりたいけど今の俺の技術じゃ無理だ。
きっと単純なコードじゃ無理だろう。あきらめた。
0297デフォルトの名無しさん
2010/12/14(火) 00:03:20それを取り込んでLINQで繋げてはいほいそいで20分でできたと思う
0298デフォルトの名無しさん
2010/12/14(火) 00:05:120299デフォルトの名無しさん
2010/12/14(火) 00:08:03領域をそれぞれ違う色で塗り潰した画像を別に用意しておいて
マウスポインタの下にあるピクセルの色を取得する
0300デフォルトの名無しさん
2010/12/14(火) 00:54:48284だけどビューの切り替えってどうすればいいの?
最初は、たとえばページ選択するたびにデータテンプレートとか切り替えて、
ViewModelの表現方法変えたりしようかとも思ったんだけど、
見た目はタブコントロールのまんまなのに、
タブコントロールとは微妙にコンテキストが違って来てるような気がするし
0301デフォルトの名無しさん
2010/12/14(火) 04:36:22EllipseをDoubleAnimationで大きさや位置を変える
ってやって、マウスをそこそこ早いスピードでEllipseの中に入れたらたまに色変わらないね。ちょっとシビアだけど厄介だなあ。
0302デフォルトの名無しさん
2010/12/14(火) 05:24:26タブ全体と一つのviewmodelを紐づけていいんじゃないの?
一ページにはviewmodelの一部が表示されてる
viewmodelは複数のmodelを管理もしくはより大きなmodelのサブセット
みたいな
0303デフォルトの名無しさん
2010/12/14(火) 09:15:15大量にスニペット自作しないとだめだけどw
0304デフォルトの名無しさん
2010/12/14(火) 09:17:10公開して
0305デフォルトの名無しさん
2010/12/14(火) 10:35:39MVVMの定型句を登録してるだけ
On$Name$ = new DelegateCommand($Name$, parameter=>true);
public DelegateCommand On$Name$ { get; private set; }
public void $Name$(object parameter)
{
}
こんなのとか
0306デフォルトの名無しさん
2010/12/14(火) 11:31:42MS 公式な奴(RIA Services とか)の命名規約見てる感じ、
コマンドが $Name$Command で、実際の処理メソッドが On$Name$ の方がいいと思う。
0307デフォルトの名無しさん
2010/12/14(火) 12:19:48コマンドの方はバインドさせるために補助的に公開しているに過ぎないわけだから。
コマンドをイベントハンドラとして捉えるのであれば,メソッドは名前以前にprivateにしたほうがいい。
0308デフォルトの名無しさん
2010/12/14(火) 20:58:50そうでないならRubyで十分だよ
0309デフォルトの名無しさん
2010/12/14(火) 21:04:180310デフォルトの名無しさん
2010/12/14(火) 21:09:18それってWPFでXAML使わないと言っているようなもんだな
0311デフォルトの名無しさん
2010/12/14(火) 21:36:41XAMLって使っても使わなくてもどっちでもいいよね。
0312デフォルトの名無しさん
2010/12/14(火) 21:52:02>>308
RubyいいよねRuby。ただしUNIX上に限る
0313デフォルトの名無しさん
2010/12/14(火) 22:09:53どこにマニュアル転がってるんだ?
0314デフォルトの名無しさん
2010/12/14(火) 22:32:52オブジェクト指向の実装が透けて見えてなんかヌルヌルした感じが合わない
依存関係プロパティをコードから触ってる感じ
0315デフォルトの名無しさん
2010/12/14(火) 22:42:22で Blend 3 の製品紹介してるから、真似してみればアニメーションとビヘイビアについてはわかるはず。
0316デフォルトの名無しさん
2010/12/15(水) 06:23:21WPFやWIndows Formで開発するほうをオススメしてるみたいだな。
0317デフォルトの名無しさん
2010/12/15(水) 07:26:47いくら進化した言語ができても、ただ覚えることが増えるだけって感じ
0318デフォルトの名無しさん
2010/12/15(水) 10:51:45今更感のあるどうでもいいレスに反応しちゃうぐらいには危機感を感じているようだ。スレ違いだけど
0319デフォルトの名無しさん
2010/12/15(水) 11:00:57何も便利になってないし
0320デフォルトの名無しさん
2010/12/15(水) 11:02:48VBユーザー涙目って感じでもないしな
0321デフォルトの名無しさん
2010/12/15(水) 11:05:42ム板に居るのにまだそんな事言ってるのかw
何年前から時間止まってるんだ?COBOLer?
0322デフォルトの名無しさん
2010/12/15(水) 11:05:52えっ
0323デフォルトの名無しさん
2010/12/15(水) 16:22:30winformのOpenFolderDialogみたいなものは用意されていないんでしょうか?
0324デフォルトの名無しさん
2010/12/15(水) 16:32:050325デフォルトの名無しさん
2010/12/15(水) 16:44:40Microsoft.Win32.OpenFileDialogクラス
WPFアプリケーション作ったときはusingにMicrosoft.Win32がないから
どこかにOpenFileDialogと書いて、Ctrl+.でusing呼び出して書き込む
0326デフォルトの名無しさん
2010/12/15(水) 17:07:280327デフォルトの名無しさん
2010/12/15(水) 17:08:490328デフォルトの名無しさん
2010/12/15(水) 17:13:080329デフォルトの名無しさん
2010/12/15(水) 17:29:460330デフォルトの名無しさん
2010/12/15(水) 17:39:44これだけ重いIDEと実行ファイルで2Dってw
0331デフォルトの名無しさん
2010/12/15(水) 17:40:53デバッグ時は起動元が違うから適用されないこともあるけどね。
0332デフォルトの名無しさん
2010/12/15(水) 17:42:28そのうちコンピューターと会話をしながらプログラミングできるソフトを
どこかが先に作っちゃうぞ
0333デフォルトの名無しさん
2010/12/15(水) 17:43:560334デフォルトの名無しさん
2010/12/15(水) 17:44:15それだよそれ、デバッグ時と違う結果がでるのがイラっとするよね
デバッグ時はウィンドウの外枠で隠れて見えない文字が起動すると見えるとかほんとやめてほしいわ
0335デフォルトの名無しさん
2010/12/15(水) 17:44:500336デフォルトの名無しさん
2010/12/15(水) 17:46:05ド派手なだけで深みはない
0337デフォルトの名無しさん
2010/12/15(水) 17:50:000338デフォルトの名無しさん
2010/12/15(水) 17:52:16なんかWin7でもインテルのオンボードだとめっちゃ重くなる。
0339デフォルトの名無しさん
2010/12/15(水) 19:11:340340デフォルトの名無しさん
2010/12/15(水) 20:11:380341デフォルトの名無しさん
2010/12/15(水) 20:13:190342デフォルトの名無しさん
2010/12/15(水) 21:34:59http://hibari.2ch.net/test/read.cgi/mac/1291602001/
詳しい奴、ちょっと↑きてくれ
0343デフォルトの名無しさん
2010/12/15(水) 22:12:31winformsでいいだろ
0344デフォルトの名無しさん
2010/12/16(木) 02:31:26どうすればいい?
0345デフォルトの名無しさん
2010/12/16(木) 02:35:250346デフォルトの名無しさん
2010/12/16(木) 02:36:14DataGridTemplateColumn
0347デフォルトの名無しさん
2010/12/16(木) 09:44:140348デフォルトの名無しさん
2010/12/16(木) 10:03:19すまんかった
で、選択肢を表示させるところまではできたんだが、選択してもそれが残らない(?)
表示されない、空白のまま
やっぱり助けて
DataGridComboBoxColumnつかってます
0349デフォルトの名無しさん
2010/12/16(木) 10:57:53してないと値はセットされないので選んでも空になる。
0350デフォルトの名無しさん
2010/12/16(木) 12:24:03これからもよろしく
0351デフォルトの名無しさん
2010/12/17(金) 18:08:330352デフォルトの名無しさん
2010/12/17(金) 18:10:27ちょっとだけよのC#
0353デフォルトの名無しさん
2010/12/17(金) 18:15:21XAMLでBindingしたらフォーカスが移動しないとコールバックを呼び出してくれません
XAMLでもC#のように即コールバックを呼び出すように設定できますか?
0354デフォルトの名無しさん
2010/12/17(金) 18:23:320355デフォルトの名無しさん
2010/12/17(金) 18:44:510356デフォルトの名無しさん
2010/12/17(金) 22:18:01XAMLで出来ないこともC#で出来るけど逆はあまりない。
でもちょっとしたことならXAMLの方が短く書ける。
0357デフォルトの名無しさん
2010/12/17(金) 22:55:27完全にC#>XAML
ただし書くのがめんどくさくなったりする弊害がある
0358デフォルトの名無しさん
2010/12/17(金) 22:58:34一般にXAMLで書いたほうがロードも速かったりするけどな
WPFはもともとC#で書かれてるからそういうことはないけど
0359デフォルトの名無しさん
2010/12/17(金) 23:07:330360デフォルトの名無しさん
2010/12/17(金) 23:29:42<DockPanel>
<ListView Name="list" .../>
<GroupBox DataContext="{Binding SelectedItem,ElementName=list}"...><!--詳細を表示 --></GroupBox>
</DockPanel>
みたいなこともやろうと思えばできるけど、
あちこちの連携をやりすぎるとだんだん挙動がイミフになってキモくなるw
0361デフォルトの名無しさん
2010/12/17(金) 23:42:450362デフォルトの名無しさん
2010/12/17(金) 23:56:040363デフォルトの名無しさん
2010/12/18(土) 00:17:17INotifyPropertyChanged でプロパティ実装するのと、
DependencyProperty でプロパティ実装するのって何か変わるの?
更新通知を自由に送れるか送れないかの差?
速度とかはどうなんだろう。
誰か教えてください。
0364デフォルトの名無しさん
2010/12/18(土) 00:26:08親要素の値を継承するようにしたり添付プロパティの定義に使ったりする
速度はたぶんINotifyPropertyChangedの方がだいぶ速いだろうけど
バインディングとかやってる時点でプロパティアクセスの速度なんか無意味だからどうでもいい
0365デフォルトの名無しさん
2010/12/18(土) 00:28:02ありがとうございました。
0366デフォルトの名無しさん
2010/12/18(土) 00:31:40INotifyPropertyChanged、プロパティ名を文字列で解決してるせいで遅いよ。
バインディングに使う場合には実は依存関係プロパティの方が早い。
普段のプロパティアクセス遅くなるけども。
>>365
ただ、DependencyObject 継承しなきゃいけいのがきつい。
ユーザーコントロールとか作るときにはいいんだけどもね。
ViewModel の場合にはあんまり使わない。
0367デフォルトの名無しさん
2010/12/18(土) 00:35:40http://msdn.microsoft.com/ja-jp/library/bb613546.aspx
パフォーマンス気にするなら、まず最初にこの辺りを読んどくといい。
0368デフォルトの名無しさん
2010/12/19(日) 00:57:43辿っていくこともできなくはないけど、ものすごくシンドイ。
0369デフォルトの名無しさん
2010/12/19(日) 01:02:29最新の Silverlight 4 Tools 入れたらプロパティの値の出所表示されるけども?
0370デフォルトの名無しさん
2010/12/19(日) 01:05:150371デフォルトの名無しさん
2010/12/19(日) 01:20:380372デフォルトの名無しさん
2010/12/19(日) 14:09:58しかもmonoじゃ動かないからwindows専用なのか。
だったら、Qtのdesignerが吐き出すXMLを手動で作るのとあんま変わらん気がする
0373デフォルトの名無しさん
2010/12/19(日) 15:24:080374デフォルトの名無しさん
2010/12/19(日) 15:25:440375デフォルトの名無しさん
2010/12/19(日) 16:07:380376デフォルトの名無しさん
2010/12/19(日) 16:10:310377デフォルトの名無しさん
2010/12/19(日) 16:13:450378デフォルトの名無しさん
2010/12/19(日) 16:15:500379デフォルトの名無しさん
2010/12/19(日) 16:16:440380デフォルトの名無しさん
2010/12/19(日) 16:24:230381デフォルトの名無しさん
2010/12/19(日) 16:32:350382デフォルトの名無しさん
2010/12/19(日) 17:41:380383デフォルトの名無しさん
2010/12/19(日) 17:47:49UIと比較して毛が生えた程度ってUI作るためのものなんだから当たり前でしょうが
0384デフォルトの名無しさん
2010/12/19(日) 17:49:010385デフォルトの名無しさん
2010/12/19(日) 17:51:19>>372を一万回読めよ
0386デフォルトの名無しさん
2010/12/19(日) 17:54:270387デフォルトの名無しさん
2010/12/19(日) 17:55:400388デフォルトの名無しさん
2010/12/19(日) 17:57:04windows専用もその通りです
XAMLはデザイナに生成させることができます。少なくともデザイナはQTよりは強力です。
で?
0389デフォルトの名無しさん
2010/12/19(日) 17:57:480390デフォルトの名無しさん
2010/12/19(日) 18:00:200391デフォルトの名無しさん
2010/12/19(日) 18:02:150392デフォルトの名無しさん
2010/12/19(日) 18:15:050393デフォルトの名無しさん
2010/12/19(日) 20:49:280394デフォルトの名無しさん
2010/12/19(日) 21:07:33WPF使わなくても普通にこれくらい出てくるじゃん
0395デフォルトの名無しさん
2010/12/19(日) 21:08:01UIをXMLで記述するのは近年の流行り
HTML+CSS+JavaScript+Flash/Silverlight+Perl/PHP/Java/C#/C/Ruby/Python+SQL
最低でも4言語以上必修の環境が大流行してんのに、たった2言語で音を上げる人って(笑)
0396デフォルトの名無しさん
2010/12/19(日) 21:08:080397デフォルトの名無しさん
2010/12/19(日) 21:09:100398デフォルトの名無しさん
2010/12/19(日) 21:13:430399デフォルトの名無しさん
2010/12/19(日) 21:20:040400デフォルトの名無しさん
2010/12/19(日) 21:26:170401デフォルトの名無しさん
2010/12/19(日) 21:28:18from p in list where p.IsEnabled select p.Textとか書いちゃうんだろ?
0402デフォルトの名無しさん
2010/12/19(日) 21:38:12list.ForEach(p,p=>p.IsEnabled)
0403デフォルトの名無しさん
2010/12/19(日) 23:35:24あんなの、C# のサブセットをツールが読める形式で書いてるだけ。
0404デフォルトの名無しさん
2010/12/19(日) 23:38:56使いたくなけりゃxaml使わずにcsだけでも書けるぞ。
全力でコーディングしれ。
0405デフォルトの名無しさん
2010/12/19(日) 23:56:490406デフォルトの名無しさん
2010/12/20(月) 00:03:07<Button Width="100"/>って書くのを
<Button>
<Button.Width>
100
</Button.Width>
・・・
とか、多少のことでいい。
0407デフォルトの名無しさん
2010/12/20(月) 00:03:30テンプレートに対応したコントロールを作るときはC#でUI触りまくることになるよ
WinForms以上に汚くて泥臭いコーディングが待っている
0408デフォルトの名無しさん
2010/12/20(月) 00:41:12利用者側が泥臭さに触れなければ、実装側は多少泥臭くても。
でも、UserControlでないカスタムコントロール、もうちょっとXAMLで書けないものかねぇ。
0409デフォルトの名無しさん
2010/12/20(月) 01:34:39CustomControlはもうちょっと何とかしてほしいねえ。
ユーザー側で好きにテンプレートいじれるようにしたいなら、
XAML側は単純でも動くようにしたいし、そうなると…
0410デフォルトの名無しさん
2010/12/20(月) 02:14:26モデルはコードで実装したらビューはXMLで書けるってだけ?
それって、Qtでできるのとは違うの?
0411デフォルトの名無しさん
2010/12/20(月) 02:47:510412デフォルトの名無しさん
2010/12/20(月) 03:02:50WPFは決定的なものがないから
0413デフォルトの名無しさん
2010/12/20(月) 03:11:050414デフォルトの名無しさん
2010/12/20(月) 03:29:51今時どの環境でも似たような思想になってると思う。
Qt しかり、Flash の MXML+AS3 しかり、HTML+JS しかり。
それの .NET 版。
>>411
WPF 一択。
>>412
うーん、XAML 使えるのだけが WPF じゃないからなぁ。
MS の GUI 開発のノウハウが詰まってるよ、WPF と Silverlight には。
0415デフォルトの名無しさん
2010/12/20(月) 03:46:050416デフォルトの名無しさん
2010/12/20(月) 04:01:490417デフォルトの名無しさん
2010/12/20(月) 04:09:540418デフォルトの名無しさん
2010/12/20(月) 04:12:30むしろ、そんなに Qt がいいというなら、「Qt ならこんなことできるよ」的コード出してほしい。
それに対して、「WPF ならこう」とかコメント付けるのならいける。
0419デフォルトの名無しさん
2010/12/20(月) 04:28:040420デフォルトの名無しさん
2010/12/20(月) 05:00:510421デフォルトの名無しさん
2010/12/20(月) 05:22:16Windows 環境で Qt ってそこまで競争力あったっけ?
Flash/Flex AIR が競合に上がることはあっても、Qt は検討対象として見たこともないけども。
0422デフォルトの名無しさん
2010/12/20(月) 05:49:41ネイティブでやらねばならないなんてAdobe、Appleぐらい大きなところだけ。
0423デフォルトの名無しさん
2010/12/20(月) 06:02:48Qt > AIR > WPF or Winforms
※差はあまりない
0424デフォルトの名無しさん
2010/12/20(月) 08:18:16ちゃんと理由も一緒に書いてよ
0425デフォルトの名無しさん
2010/12/20(月) 10:22:000426デフォルトの名無しさん
2010/12/20(月) 10:58:290427デフォルトの名無しさん
2010/12/20(月) 13:51:100428デフォルトの名無しさん
2010/12/20(月) 13:53:260429デフォルトの名無しさん
2010/12/20(月) 14:21:390430デフォルトの名無しさん
2010/12/20(月) 15:08:240431デフォルトの名無しさん
2010/12/20(月) 15:17:200432デフォルトの名無しさん
2010/12/20(月) 15:43:510433デフォルトの名無しさん
2010/12/20(月) 15:53:120434デフォルトの名無しさん
2010/12/24(金) 04:03:52htmlとjavascriptのようにホームページでも使えたらいいのに
デスクトップアプリ、WEBサイト両対応の言語ってないのかしら
0435デフォルトの名無しさん
2010/12/24(金) 04:13:190436デフォルトの名無しさん
2010/12/24(金) 09:01:060437デフォルトの名無しさん
2010/12/24(金) 09:17:12一般的な知名度はSilverlightの方がずっと上だと思うけど
0438デフォルトの名無しさん
2010/12/24(金) 09:31:130439デフォルトの名無しさん
2010/12/24(金) 09:50:14と言われてた10年前からえらく出世したもんさ。
0440デフォルトの名無しさん
2010/12/24(金) 09:52:51作られた当時、今みたいな使われ方なんて想像もつかなかったし、誰も責めようはないんだけども。
無理な使われ方してる方がガンか。
0441デフォルトの名無しさん
2010/12/24(金) 11:38:54XAMLでトリガやバインディング書いたりする程度のもんだろ
0442デフォルトの名無しさん
2010/12/24(金) 13:36:44htmlファイルに直書きでできるの?
CGIみたいに対応している鯖じゃないと無理なんじゃないの?
って思って全く勉強してなかった
0443デフォルトの名無しさん
2010/12/24(金) 13:56:51クライアントでプラグインのインストールは必要。でも.NETはいらんしサイズも極めて小さいしMacでも動く。
0444デフォルトの名無しさん
2010/12/24(金) 14:02:38ブラウザの外で動かす機能がある。Flash + AIR + .NET(のサブセット, WPF含む)と思えばいい。
0445デフォルトの名無しさん
2010/12/24(金) 14:10:00でもXAMLみたいなものなんでしょ?
javascriptが使える意義って
何か計算せてプログラムを走らせることなんだけど
それもできるの?
ホームページ上に電卓を作って
入力された数字で計算
なんてことSivlerLightだけでできるの?
0446デフォルトの名無しさん
2010/12/24(金) 14:12:03>ホームページ上に電卓を作って
>入力された数字で計算
できる
ここでぐだぐだ言ってないでVWDダウンロードしてきて作ってみろよ
ただでできるし
それにSL+JSの連携も可能みたいだしな
0447デフォルトの名無しさん
2010/12/24(金) 14:17:04C#からブラウザにJavaScriptのコードをevalさせることもできるしHTMLのDOM操作も自由自在。
マネージコードの中でやりたかったらIronRubyやIronPythonをアプリに組み込んでしまうことも可能。
数式を計算するだけだったら数式評価のC#で書かれたサンプルなんかたくさん落ちてるから
そういうのを使ってもいいし。
0448デフォルトの名無しさん
2010/12/24(金) 15:16:57コードを書かなくてもXAMLだけでDHTMLみたいな動的なページが作れる。
計算にはデスクトップアプリで一般的なC#やVB.NETを使う。
実行時にネイティブコードにコンパイルされる(JIT)ので動作も速い。
さらにWindows向けの開発環境で独占的なシェアを持つVisual Studioが使える。
無料版のVWD(Visual Web Developer 2010 Express)も提供されているため無料で開発できる。(当然、商用利用もOK)
これに諸々の機能が乗っかったものがSilverlight。
普通はHTMLに貼り付けてFlashみたいにして使うけど、
ブラウザ外実行すればHTMLに張られたSilverlightが"そのまま"デスクトップアプリになる。
クリック3回でインストール/アンインストールの超お手軽配布。(右クリック→インストールする→インストールしていい?OKの3回)
0449デフォルトの名無しさん
2010/12/24(金) 17:23:02WPFだといきなりexeファイル実行しろって感じだけど
これなら安心感があるな
0450デフォルトの名無しさん
2010/12/24(金) 21:01:39.NET Frameworkがインストールされてる必要は有るが
.xamlファイルを、IEでそのまま閲覧する事が出来る。
これって、SEO的にはどうなんだろうね。
クローラーでxaml内のテキストを拾ってくれたりはしないんだろうか。
0451デフォルトの名無しさん
2010/12/24(金) 21:23:390452デフォルトの名無しさん
2010/12/24(金) 21:24:26したいのが2chに集まってくる。
0453デフォルトの名無しさん
2010/12/24(金) 21:27:37loose xamlはwpfだろ。
0454デフォルトの名無しさん
2010/12/24(金) 21:31:47exeでもxbapでも無いだけで
0455デフォルトの名無しさん
2010/12/24(金) 23:41:150456デフォルトの名無しさん
2010/12/25(土) 01:45:39にこやかな話し合いだよ。
0457デフォルトの名無しさん
2010/12/25(土) 02:18:45全てを伝えた後で WPF 死ぬ。
全てを伝えきらないうちは生きる。
0458デフォルトの名無しさん
2010/12/26(日) 23:19:28ObservableCollection<CustomerViewModel>としてUIにバインドしようと思うと、
new ObservableCollection<略>(customers.Select(c => new CustomerViewModel(c)))
とかやって自分で変換するの?
0459デフォルトの名無しさん
2010/12/26(日) 23:36:52可能な時は限られているけどこれを回避できることもある。
Modelのリストを直接Viewに公開してしまって、ViewModel的な処理が必要な時は
そのコレクションを管理しているViewModelクラス側で処理すればおk。
0460デフォルトの名無しさん
2010/12/27(月) 00:21:24自作が面倒ならObservableListでググるとMs-PLで丁度いいやつが見つかる。
0461デフォルトの名無しさん
2010/12/27(月) 01:53:280462デフォルトの名無しさん
2010/12/27(月) 13:15:480463デフォルトの名無しさん
2010/12/27(月) 15:46:33MouseAction列挙体見ると、右、左、真ん中ボタンとホイールしかないのですが。
0464デフォルトの名無しさん
2010/12/27(月) 15:49:17基本はこれでこれ以上はマウス側の独自拡張じゃないの?
増えたボタンも結局はキーボードのショートカットキーのパターンを
送り出してるとかそんなんだよね
0465デフォルトの名無しさん
2010/12/27(月) 15:58:33MouseAction と XButton1 で検索するといくつか方法が見つかるようだ
0466459
2010/12/27(月) 17:07:37ありがとう
どうせ小規模だしモデルは元々全部INotifyPropertyChanged/ObservableCollectionだし
ビューモデル固有の操作もほとんど必要ないのでMVVM無視して
全部 class ViewModel { public Model Model { get; set; } }
でいい気がしてきた
0467デフォルトの名無しさん
2010/12/28(火) 08:10:040468デフォルトの名無しさん
2010/12/28(火) 08:23:18相当使えないな!
バカウケ
0469デフォルトの名無しさん
2010/12/28(火) 09:10:490470デフォルトの名無しさん
2010/12/28(火) 11:19:52選択、マウスオーバーするとの説明が出たのですが
WPFでは出ません。仕様でしょうか??
0471デフォルトの名無しさん
2010/12/28(火) 11:25:140472デフォルトの名無しさん
2010/12/28(火) 12:32:470473デフォルトの名無しさん
2010/12/28(火) 12:41:06今まで使い物にならないと思い込んでて放置してたけど意外とまともに使えるね
d:DesignProperties.DataContext要素でダミーのデータを定義してやれば
ちゃんとデザイナからバインドを設定できるし結果をプレビューしてくれる
0474デフォルトの名無しさん
2010/12/28(火) 13:09:590475デフォルトの名無しさん
2010/12/28(火) 15:13:530476デフォルトの名無しさん
2010/12/28(火) 16:21:340477デフォルトの名無しさん
2010/12/28(火) 17:10:290478デフォルトの名無しさん
2010/12/28(火) 17:11:43デザイナは貧弱だけど
0479デフォルトの名無しさん
2010/12/28(火) 19:36:120480デフォルトの名無しさん
2010/12/28(火) 21:39:34CollectionViewSource.GetDefaultViewつかえ
0481デフォルトの名無しさん
2010/12/28(火) 23:01:53Silverlightとの相互運用とか、SL→WPFの移植とか
0482デフォルトの名無しさん
2010/12/30(木) 01:14:02WPF+MVVMバターンでの開発になるらしいです。WPFは簡単なツール作成でちょ
こっと触ったことがある程度。疎結合なデザインパターンは面白そうだけど、MSDN
のMVVMに関する記事読んでも今ひとつピンとこないんですが、年末年始で勉強する
のにいいところ、どっかありませんか?
0483305 ◆Jzt/EX0TGY8T
2010/12/30(木) 04:14:08http://www.atmarkit.co.jp/fdotnet/chushin/introwpf_06/introwpf_06_03.html
[WPF][C#]Model View ViewModelパターンでハローワールド
http://blogs.wankuma.com/kazuki/archive/2009/02/23/168586.aspx
WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン
http://msdn.microsoft.com/ja-jp/magazine/dd419663.aspx
WPFアプリケーションに最適なアーキテクチャ「M-V-VM」とは | グレープシティ株式会社
http://www.grapecity.com/japan/events/handouts/mvvm.htm
【WPF】【Silverlight】 MVVMは各人に合ったレベルで実装すれば良いのではないかと思う
http://blogs.wankuma.com/trapemiya/archive/2009/10/14/182101.aspx
俺がMVVM理解するのに参考にしたサイト
特にリンク先のpdfが参考になった
0484デフォルトの名無しさん
2010/12/30(木) 11:12:42サンクス!!
0485デフォルトの名無しさん
2010/12/30(木) 12:16:07なんかデザイナ向けというよりVSのデザイナのそのまま兄貴分って感じだなあ
これくらいならVSに組み込めばいいのに
VSでスタイルとテンプレートの編集さえ出来れば要らないと思う
0486デフォルトの名無しさん
2010/12/30(木) 12:22:110487デフォルトの名無しさん
2010/12/30(木) 12:28:38他にもパスでお絵描したりとか、そういう完全にデザインな部分だけに
特化したツールとして分離したほうがいいんじゃないかと思う
ビヘイビアとか完全にプログラミングだし、ごっちゃごちゃな印象
0488デフォルトの名無しさん
2010/12/30(木) 12:40:07なかったら誰か作って!
アフィ貼りまくってくれていいから
0489デフォルトの名無しさん
2010/12/30(木) 12:53:29の間違いじゃね?
0490デフォルトの名無しさん
2010/12/30(木) 14:44:15Quaternion xz = new Quaternion(new Vector3D(1, 0, 1), degreexz);
A.Rotate(xz);
回転角degreexz[°]でXZ軸でAを回転させたいのですが、どこがおかしいでしょうか。ご指南お願いします。
0491デフォルトの名無しさん
2010/12/30(木) 14:47:150492デフォルトの名無しさん
2010/12/30(木) 20:40:08Silverlighgtスレかと思ったら違うようだし、
他にXAML/WPfの話題のスレってあったっけ?
0493デフォルトの名無しさん
2010/12/30(木) 21:21:21>481 名前: デフォルトの名無しさん [sage] 投稿日: 2010/12/30(木) 14:45:16
>回転が出来ません!
>Quaternion xz = new Quaternion(new Vector3D(1, 0, 1), degreexz);
>A.Rotate(xz);
>回転角degreexz[°]でXZ軸でAを回転させたいのですが、どこがおかしいでしょうか。ご指南お願いします。
0494デフォルトの名無しさん
2010/12/31(金) 10:27:000495デフォルトの名無しさん
2010/12/31(金) 10:46:32生産性が良くなるとも思えんし。UIとロジックの分離なんて設計次第だろ。
0496デフォルトの名無しさん
2010/12/31(金) 10:51:080497デフォルトの名無しさん
2010/12/31(金) 11:21:200498デフォルトの名無しさん
2010/12/31(金) 11:25:34自由度が高くなっても必要としていない人には関係ない。
0499デフォルトの名無しさん
2010/12/31(金) 13:30:340500デフォルトの名無しさん
2010/12/31(金) 13:45:01めんどくさいから全部でいいよ
0501デフォルトの名無しさん
2010/12/31(金) 13:55:12DirectX使えば普通にできるが?
0502デフォルトの名無しさん
2010/12/31(金) 13:57:400503デフォルトの名無しさん
2010/12/31(金) 14:36:540504デフォルトの名無しさん
2010/12/31(金) 14:43:010505デフォルトの名無しさん
2010/12/31(金) 15:34:090506デフォルトの名無しさん
2010/12/31(金) 16:05:550507デフォルトの名無しさん
2010/12/31(金) 16:11:28失礼しました
0508デフォルトの名無しさん
2010/12/31(金) 21:09:43ボタンの中にチェックボックスを入れてそれをマルチ選択可能なリストボックスに入れるとか
アホなことがし放題。フリーダム!!
もはやどう動くのか想像もつかない状態になるがなw
0509デフォルトの名無しさん
2011/01/03(月) 08:38:52まだ未完成じゃないか(シルバーライトバージョンはちゃんとしているみたい)
0510デフォルトの名無しさん
2011/01/03(月) 10:25:25気に入らなかったらWinFormsのWebBrowserをWindowsFormsHostで使えばいい
どっちを使おうが空域問題は避けられなくて
SilverlightのようにWebページをパズルにしたりはできない
0511デフォルトの名無しさん
2011/01/03(月) 21:12:30中央に固定位置で表示させるのはTextBlockを2つ(Value値と"%"で2つ)使ってできたのですが
ProgressBar.Widthが変化したときにも自動で中央にする方法が分かりません。
お願いします。
0512デフォルトの名無しさん
2011/01/03(月) 21:52:09?
何をお願いしたいのか微塵たりとも分からないし、情報が足りなすぎるが
適当なコントロールにHorizontalAlignmentを設定すればいいじゃないか。
あとTextBlockはネストできるし、BindにはStringFormatを指定できる。
0513デフォルトの名無しさん
2011/01/04(火) 23:36:07ViewModelやModelのプロパティ更新時のエラーはIDataErrorInfoを使用してViewに通知するのはいろんなhpを見て分かったのですが
ICommand.Executeでのエラー通知はどうやるのがMVVMパターンなのでしょうか・・・
今のところViewModelにCommandエラー通知専用のプロパティを作ってバインドしてViewに知らせています
0514デフォルトの名無しさん
2011/01/04(火) 23:40:33通知というよりViewModelにHasErrorとかErrorMessageとかプロパティ定義してバインドするだけ
ダイアログ出したかったらInteractionRequestでググる
0515デフォルトの名無しさん
2011/01/05(水) 00:31:16英語だけどこれ以上の情報はないと思う
0516デフォルトの名無しさん
2011/01/05(水) 18:26:38お勧めのサイトがあったら是非とも教えて欲しい
0517デフォルトの名無しさん
2011/01/05(水) 19:03:020518デフォルトの名無しさん
2011/01/05(水) 19:15:35の中のPrism4.chm
0519デフォルトの名無しさん
2011/01/05(水) 19:54:01トン
0520デフォルトの名無しさん
2011/01/05(水) 20:10:580521デフォルトの名無しさん
2011/01/06(木) 02:32:080522デフォルトの名無しさん
2011/01/06(木) 02:40:21WPF が終わるのは、WPF のほぼ全機能が Silverlight に移った時だと思うんだけど。
0523デフォルトの名無しさん
2011/01/06(木) 09:02:39最初からSiliverlight一本でやってたほうがよかったんじゃないの?
二本立てにすることにメリットあったのかな?
0524デフォルトの名無しさん
2011/01/06(木) 09:06:13色々あるからしょうがない。
例えば、WPF 自身にも、じゃあ、Forms なんて出すなよって思うわけだけど
WPF が完成するまで .NET Framework のリリース遅らせれるかって言ったら、
そんなことしてたら10年近く VS の新品出なかったのよ。
とりあえず Win32 API をラップしただけの Forms 必要だったでしょ。
0525デフォルトの名無しさん
2011/01/06(木) 15:09:54Window.xaml.csにTextBox_KeyDown(object sender, KeyEventArgs e) が作られますが
これをWindow.xaml.csとは別のcsファイルに書く方法ってありませんか
interactivity.dllのEventTriggerをつかうとKeyDownイベントでCommandを呼べるようにはできましたが
CommandParameterにKeyEventArgsを渡す方法が分かりませんでした
0526デフォルトの名無しさん
2011/01/06(木) 16:19:01System.Windows.Interactivity.Behavior<UIElement>あたりから継承
0527デフォルトの名無しさん
2011/01/06(木) 16:47:20ニュー速なんだよあれw
0528デフォルトの名無しさん
2011/01/06(木) 17:20:54ありがとう
Blendからもポトペタでできるようになりました
0529デフォルトの名無しさん
2011/01/06(木) 23:51:32WPFは.Netネイティブだから表示遅いし重いんだっけ?
0530デフォルトの名無しさん
2011/01/06(木) 23:56:380531デフォルトの名無しさん
2011/01/06(木) 23:56:560532デフォルトの名無しさん
2011/01/06(木) 23:59:22WPFよりもかなり消極的でキャッシュも控えめで描画面積が広くなると目に見えて遅くなる。
WPFはフレームワーク自体はC#で書かれてるけど描画はネイティブだよ。
0533デフォルトの名無しさん
2011/01/07(金) 00:17:110534デフォルトの名無しさん
2011/01/07(金) 00:27:58ここにはSilverlightのが表示早いみたいに書かれてるけど。
0535デフォルトの名無しさん
2011/01/07(金) 00:35:43DataGridはもともとSilverlight向けに作られたのでWPFでの調整が十分にできてないだけ。
0536デフォルトの名無しさん
2011/01/07(金) 23:20:31描画に関しては、まだ比較計測していないが
ループ処理は、WPFの方が10倍近く早かった。
0537デフォルトの名無しさん
2011/01/07(金) 23:37:030538デフォルトの名無しさん
2011/01/08(土) 00:03:51for文とかwhile文とか。
0539デフォルトの名無しさん
2011/01/08(土) 00:10:30.NET FrameworkのCLRとSilverlightのCLRはほぼ同じもの
若干Silverlightの方が最適化が控えめらしいが10倍はどう考えてもありえない
0540デフォルトの名無しさん
2011/01/08(土) 00:19:010541デフォルトの名無しさん
2011/01/08(土) 00:34:27文字列連結は誤差範囲、単純なループ+数値の加算だと1〜2倍くらい
0542デフォルトの名無しさん
2011/01/08(土) 01:07:00ガベコレの性能が全然違うんで、
ループの奥でインスタンス生成とかしてるとパフォーマンス10倍変わる可能性ある。
Silverlight の CLR は優秀だったはず。
もしかすると、Silverlight for Windows Phone 7 の話だとすると、
WP7 は Compact Framework ベースなので、確かに遅そう。
0543デフォルトの名無しさん
2011/01/08(土) 12:03:50private void button1_Click(object sender, RoutedEventArgs e)
{
DateTime timer = new DateTime();
timer = DateTime.Now;
for (uint i = 0u; i < 4294967295u; i++) ;
MessageBox.Show((DateTime.Now - timer).ToString());
}
コードはこれで良い?
(xamlにボタン1個置いて、ボタン押したら計測開始の想定で)
0544デフォルトの名無しさん
2011/01/08(土) 12:24:510545543
2011/01/08(土) 12:27:50[ Ctrl ] + [ F5 ] で実行
1回目 : 1.3660000 (秒)
2回目 : 1.3610000 (秒)
3回目 : 1.3620000 (秒)
[ F5 ] で実行
1回目 : 10.2020000 (秒)
2回目 : 10.1960000 (秒)
3回目 : 10.1970000 (秒)
Visual Web Developer 2010 Express
Silverlight 4.0.51204.0
OOB実行 (ブラウザで変わるとは思わないけど、念の為)
[ Ctrl ] + [ F5 ] で実行
1回目 : 10.7090000 (秒)
2回目 : 10.6980000 (秒)
3回目 : 10.7320000 (秒)
[ F5 ] で実行
1回目 : 10.7040000 (秒)
2回目 : 10.6950000 (秒)
3回目 : 10.7140000 (秒)
OSはWindows Vista + SP2 (x86)
CPUはIntel Core2 Extreme X9650 @3.00GHz
0546デフォルトの名無しさん
2011/01/08(土) 12:40:52こっちだと[Ctrl]+[F5]で両方2秒前後で差は無かったよ
デバッグ有効だと両方9秒程度
VWD2010, Silverlight 4.0.51204.0
XPSP3(x86), PenD 3.00GHz
生成されたテストページを直接ブラウザで開いたらどうなる?
0547543
2011/01/08(土) 12:47:18>生成されたテストページを直接ブラウザで
それもやってみたんだけど、やっぱりSL4だと10秒以上掛かった。
IE8とGoogle Chromeで、1回ずつ試行。
こっちの環境が何かおかしいのかな。
0548デフォルトの名無しさん
2011/01/08(土) 13:35:13何10ヶも繰り返していると OutOfMemoryException が発生してしまいます。
海外サイトでも取り上げられていて、同じように実装しているのですがどうしても
発生してしまいます。
何か問題ありますでしょうか?
[DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr hObject);
string[] srcFiles = Directory.GetFiles(srcFolder, "*.jpg");
Array.Sort(srcFiles);
if (!Directory.Exists(dstFolder))
Directory.CreateDirectory(dstFolder);
foreach (string name in srcFiles)
{
using (Bitmap srcImage = new Bitmap(name))
{
string dstName = Path.Combine(dstFolder, Path.GetFileName(name));
IntPtr ptr = srcImage.GetHbitmap();
BitmapSource bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
ptr, IntPtr.Zero, Int32Rect.Empty,BitmapSizeOptions.FromEmptyOptions());
DeleteObject(ptr);
bs = null;
GC.Collect();
}
}
0549デフォルトの名無しさん
2011/01/08(土) 14:23:430550デフォルトの名無しさん
2011/01/08(土) 15:13:31最後の方に入ってるな。
0551デフォルトの名無しさん
2011/01/08(土) 15:19:130552デフォルトの名無しさん
2011/01/08(土) 16:47:410553デフォルトの名無しさん
2011/01/08(土) 16:56:11どこからともなくやってきて問答無用で即死の類
0554デフォルトの名無しさん
2011/01/08(土) 16:58:14拾おうと思えば拾えるのもあるからやれ
0555デフォルトの名無しさん
2011/01/08(土) 17:02:34Image.FromFileは4.0でもOutOfMemory投げてる。
頭おかしい。
0556デフォルトの名無しさん
2011/01/08(土) 18:50:38OOM 例外が発生するのは、
srcIamge.GetHbitmap();
です。
DeleteObject(ptr);
で解放しており、BitmapSource をコメントアウトすると OOM 例外は発生せず何事もなく終了します。
GetHbitmap で取得したオブジェクトは DeleteObject で解放しているようなのですが、
BitmapSource が間に入ると解放されずに保持しっぱなしのようです。
BitmapSource に Dispose がないので、代わりに null を代入して GC.Collect() しているのですが・・・
0557デフォルトの名無しさん
2011/01/08(土) 19:54:23http://www.google.co.jp/search?hl=ja&q=CreateDIBitmap+%E3%83%A1%E3%83%A2%E3%83%AA%E4%B8%8D%E8%B6%B3&aq=f&aqi=&aql=&oq=&gs_rfai=
CreateDIBitmapってのはDIB(GDI+のイメージオブジェクトの中身)からDDBを作るもの
0558デフォルトの名無しさん
2011/01/08(土) 20:02:35BitmapImageに読んじゃ駄目なのかなぁ。
0559デフォルトの名無しさん
2011/01/08(土) 20:17:23BitmapSource をコメントアウトして、GetHBitmap と DeleteObject だけだと
メモリは問題なく解放されているんですよ。
BitmapSource を HBitmap から作成すると解放されませんので、
BitmapSource あたりにに問題があると思います。
>>558
System.Drawing.Bitmap でいろいろやった後に、BitmapSource しなければ
ならない事情が。
0560デフォルトの名無しさん
2011/01/08(土) 20:27:29これだな。Framework のバグ。
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=410590&wa=wsignin1.0
>>558
そういう話の展開はあまり意味ないぞ。
何にもコメントできなくなったやつが、意味もなく言い出すことだ。
0561デフォルトの名無しさん
2011/01/08(土) 20:27:550562デフォルトの名無しさん
2011/01/08(土) 21:02:48マルチスレッドで扱う方法を知らないという落ちじゃないだろうな?
0563デフォルトの名無しさん
2011/01/08(土) 21:13:24WPFのエンコーダが使いたいだけとか
0564デフォルトの名無しさん
2011/01/08(土) 21:18:220565デフォルトの名無しさん
2011/01/08(土) 22:10:33バグですか。これは当分使える見込みなさそうですね。
>>563
そうなんです。WPF のエンコーダであれば PNG 8bit などの保存ができますので。
>>564
こちらの方法で試してみましたが、結果はほぼ同じでした。
http://www.netframeworkdev.com/windows-presentation-foundation-wpf/createbitmapsourcefromhbitmap-dpi-85977.shtml
上の方に書いた方法ですと 2G のメモリを食い尽くして OOM が発生していましたが、こちらの方法であれば正常に終了しました。
しかしタスクマネージャで使用メモリを見ていると、実行を開始すると使用メモリが 20MB からどんどん上昇し、
600MB まで達したところで、ちょうど実行が終了しました。
この方法で OOM は出ませんでしたが、実行中はメモリ使用量が異常に上昇してしまう現象は同じようです。
しかしこのメソッドの実行終了後、使用メモリは一気に元の20MB に戻りましたので、GC は何らかの形で動いているようです。
0566デフォルトの名無しさん
2011/01/08(土) 22:40:460567デフォルトの名無しさん
2011/01/09(日) 09:42:54Viewが更新されても4項目目が一番上に来るみたいですね
そこでデータソートして1番目のアイテムをScrollIntoViewで一番上に表示させたらいいと思ったんですが、CollectionViewSource
使ったソートは項目自体を並び替える訳じゃないようで、一つ目の項目取り出しても最初に入れた項目が出てきます
ListViewのスクロールさえリセットできたら良いんですが、何か良い方法はありませんか?
0568デフォルトの名無しさん
2011/01/09(日) 14:29:410569デフォルトの名無しさん
2011/01/10(月) 15:00:59自分のアプリにつけて配布しちゃっていいってことだよねー
英語できないとだめだなぁ・・
0570デフォルトの名無しさん
2011/01/15(土) 18:41:19検索してもさっぱりだし、うちの環境が悪いのか、みんなWPFなんて試してもいないのかもわからない
0571デフォルトの名無しさん
2011/01/15(土) 19:12:15俺Formアプリで十分作りやすいんだけど
わざわざめんどうなXML編集するほどのメリットがある感じ?
0572デフォルトの名無しさん
2011/01/15(土) 19:23:51まず自分で触れ
0573デフォルトの名無しさん
2011/01/15(土) 20:04:28全体的に API 洗練されてる
コントロール類とほとんど同じノリでベクター画像、3D、動画等混ぜ込める
ビューとモデルの分離しやすい
等々。
0574570
2011/01/15(土) 21:08:39フォーラムでg.i.csがどうとか言ってたのが完全にfixされてないのか
0575デフォルトの名無しさん
2011/01/16(日) 01:44:29なんてWPFと仲悪いんですか?
0576デフォルトの名無しさん
2011/01/16(日) 01:54:090577デフォルトの名無しさん
2011/01/16(日) 02:08:170578デフォルトの名無しさん
2011/01/16(日) 02:09:17実は仮面夫婦なんですよ
0579デフォルトの名無しさん
2011/01/16(日) 03:11:58それは、カン・チョクト夫妻な
0580デフォルトの名無しさん
2011/01/16(日) 04:11:080581デフォルトの名無しさん
2011/01/16(日) 10:05:36全く同期されてなくて 片方で編集→もう一方でプロジェクトをリロード を繰り返すことになる
0582デフォルトの名無しさん
2011/01/16(日) 10:15:350583デフォルトの名無しさん
2011/01/16(日) 11:00:00BlendはバインディングやSetterやxmlns:などで全然インテリセンスが効かない
必要ないということなんだろうけど、たまにどうしてもBlendで直接XAML編集したいときにイラっとする
変更がバッティングしたりして面倒だし、どうせ完全にプログラミング寄りで
どう考えても純粋なデザイナーが使うもんじゃないんだからVSに統合でいいよ
0584デフォルトの名無しさん
2011/01/17(月) 07:47:37コマンドでパラメータを渡す時に、複数のエレメントの値をバインドして渡す場合は
どの様にしたらいいんでしょうか?
0585デフォルトの名無しさん
2011/01/17(月) 20:18:33煮詰まっています。
わからないのは以下の3点です。
1.ListBoxのItemSourceへのデータバインドの方法(XAMLおよびコード)
以下が例です。(ListBoxに表示するのはNAMEのみ)
ID/NAME
1 晴れ
4 曇り
5 雨
2.WTextBoxに依存関係プロパティ(w)を設定する。
このとき、 デザイナよりコントロールを配置し、WTextBox.w = 4
を設定した場合、Listbox の ID と一致する項目が選択されているようにするには?
3.ListBoxで選択した項目のIDをWtextBox.w と同期する方法
どなたか親切な方、よかったら教えてください。
0586デフォルトの名無しさん
2011/01/17(月) 20:55:391.渡したいデータをプロパティとして持つCommandParameter用の型
2.MultiBindingからその型に複数の値をセットするConverter
を作って、それを使ってCommandParameterにBinding。ググれば例は出てくると思う。
>>585
丸投げは関心しない。最低限の基礎を理解してからもう一回出直すことをお薦めする。
0587デフォルトの名無しさん
2011/01/17(月) 21:12:01そういうコードを書く。コードからコントロールを触るためにTemplatePart付けたんだろ?
OnApplyTemplateの中でFindName("PART_ContentHost")として取得したら
あとはコードから触り放題。イベントハンドラも使いまくる。Generic.xamlには見た目以外のことは一切書かない。
カスタムコントロールはそういうもん。
0588デフォルトの名無しさん
2011/01/17(月) 21:34:16そして大小問わずなんでもユーザーコントロールで部品化してメインのウィンドウにペタペタ貼ってる。
ページっていうのがあるけどこれはWPF/Eで使うイメージ。普通のWPFアプリでは使ってるの見ないな。
0589デフォルトの名無しさん
2011/01/17(月) 22:07:53レスありがとう。
1がわからないから2も3も…だと思っています。
Generic.xamlについて
<ListBox ItemSource = "{Binding}">
みたいにかいて、
コード側で???(´・ω・`)
コード側からListBoxのx:Nameが直に指定できないから
FindNameでみつけてやるべくOnApplyTemplateで書きなさいってことですか><
あー ワカラナイ><
0590デフォルトの名無しさん
2011/01/17(月) 22:29:55ComboBoxのテンプレートを作れば十分なはず
0591デフォルトの名無しさん
2011/01/19(水) 02:50:41IntPtrをZeroにしていない終了じゃね?
0592デフォルトの名無しさん
2011/01/19(水) 19:30:13コードでDataContextを設定したいときはどこに書けばいいんですか?
OnApplyTemplateの中に書いても、Loadedに書いてもバインドできたけど、
item.clearしないとだめっぽい。
あと、さらにGeeric.XamlでListBox.ItemContainerStyleのTemplateを書いたら、
止まってしまいました。なぜ???
0593デフォルトの名無しさん
2011/01/19(水) 19:32:10UserControl使う
0594デフォルトの名無しさん
2011/01/19(水) 22:21:21ListView自体にカラム固定機能は元々存在しないし、無理矢理固定する方法もあるらしいが、それによる副作用も見られない
まあ大した不具合でもないけど理屈が判らず気持ち悪い
特別なことと言えばAPICodePackのGlassWindowその他を使っている程度
デバッグをするヒントが判れば嬉しいのですが
0595デフォルトの名無しさん
2011/01/20(木) 00:48:58どういう状態なのか良く解らんが、
カスタムコントロールよりもListBoxのItemTemplateでCheckBox追加するだけで十分じゃないか?
0596デフォルトの名無しさん
2011/01/20(木) 04:18:530597デフォルトの名無しさん
2011/01/20(木) 23:26:20StackPanelでコントロールを引き延ばす事って可能ですか?
Gridは記述が増えて面倒ですし、DockPanelは一番最後の要素のみみたいなので・・・orz
0598デフォルトの名無しさん
2011/01/21(金) 03:43:38stackpanelでコントロールを引き伸ばすってどういうこと???stackpanelは子の最
大サイズに合わせて自分を規定するのが原則でサイズ制御の仕組みはないと思うんだ
けど。uniformgridみたいなことをしたいのかすら?
0599デフォルトの名無しさん
2011/01/21(金) 08:52:56Microsoft.Expression.Interactions.dll
System.Windows.Interactivity.dll
じゃIntellisenseに出てこなかったんですが、
CallMethodActionってBlendを購入しないと使えないんですか?
ChangePropertyAction, GoToStateAction, LaunchUriOrFileAction, RemoveElementAction
は使えるみたいです。
0600デフォルトの名無しさん
2011/01/21(金) 08:59:190601デフォルトの名無しさん
2011/01/21(金) 10:07:25Blend SDKは入れてるんですがCallMethodActionだけ使えないんですよね。
SDKをインストールしなおしてもだめで。
Blend3じゃなくてBlend4以降じゃないとダメとかあるのかな。
0602デフォルトの名無しさん
2011/01/21(金) 11:43:31TriggerActionはあるんだったら、継承してリフレクションでメソッド呼び出すだけだから自作しても一瞬だろ
0603デフォルトの名無しさん
2011/01/22(土) 08:51:47Public Shared 以外で宣言してもいいのですか??
0604デフォルトの名無しさん
2011/01/22(土) 10:38:240605デフォルトの名無しさん
2011/01/22(土) 10:48:05インスタンスメンバにするのは重複したりメモリリークしたりするからダメ
0606デフォルトの名無しさん
2011/01/22(土) 19:54:27MACでも動作するWebアプリを作りたいのですが、GUIは何で作るのが
おすすめでしょうか?ベテランさんアドバイスをお願いします。
0607デフォルトの名無しさん
2011/01/22(土) 19:59:190608デフォルトの名無しさん
2011/01/22(土) 20:02:59UserControlにボタンを1個配置して
window1.xamlにclr-namespaceを設定してUserControlタグを配置しただけのコードなんだが
VS2008+C#では動くのに
VS2008+VBでは参照エラー
調査しようと思って家でVS2010+VBを入れてテストしたら普通に動いた
これじゃ会社の環境で開発が進まないんだけど
似たような現象にあった人はいませんか?
0609デフォルトの名無しさん
2011/01/22(土) 20:12:06いやあ、アレ一回使ってみたいだけなんですが
0610デフォルトの名無しさん
2011/01/22(土) 20:13:31もしくはエラー内容で自分でググる。
0611デフォルトの名無しさん
2011/01/22(土) 20:20:22d:DataContext属性にダミーのViewModelのインスタンスを指定する
Blendならサンプルデータも自動生成してくれるんだけどね
0612デフォルトの名無しさん
2011/01/22(土) 23:52:23<my:dbDataSet x:Key="DbDataSet" />
<CollectionViewSource ... Source={StaticResource DbDataSet}}"/>
数カ所にあるDbDataSetをDbDataSet1に変えると動作しなくなります
このDbDataSetというKeyの名前は自分で決められるわけではないのでしょうか?
0613デフォルトの名無しさん
2011/01/23(日) 03:08:38Mac OS みたい見た目にならないが
マルチプラットフォームなRIAならSilverlightでできるよ
0614デフォルトの名無しさん
2011/01/23(日) 04:41:39Silverlightを使用すると、Win上とMac 上では見た目が異なるということでしょうか?
web開発素人なものですみません。。
0615デフォルトの名無しさん
2011/01/23(日) 08:58:26(まあ、見た目なんて好きに弄れるけれども)
0616デフォルトの名無しさん
2011/01/23(日) 09:12:26ありがとうございます。
Mac上でも見た目同じであれば、ありがたいです。
Macがまだないもので、テストできず色々調べているのですが
なかなか思う情報に辿り着かない為困っています。。
0617デフォルトの名無しさん
2011/01/23(日) 09:20:06IISならSilverlightの前に普通にASP.NETじゃダメなのか?
0618デフォルトの名無しさん
2011/01/23(日) 09:34:30ありがとうございます。
みてる方ほとんど同じだったのですね(^^;;
デザインもプログラマーが作るのであれば
Silverlightの方がいいのかと思いまして。
ビジネスロジックはASP.NETになると思いますが。。
0619デフォルトの名無しさん
2011/01/23(日) 20:40:39塗りつぶしって可能ですか?
お絵かきソフトでよく見るような、インクバケツをひっくり返したアイコンで
閉じた領域を指定した色で塗りつぶしたいのですが。。
もしサンプルとかご存じであれば、教えてください。
0620デフォルトの名無しさん
2011/01/23(日) 21:58:25ビットマップ系のお絵かきソフトとは根本的にやってること違う。
0621デフォルトの名無しさん
2011/01/23(日) 22:02:060622デフォルトの名無しさん
2011/01/26(水) 21:32:04Resourcesはコレクションなので
1.これはコンパイル出来るのはわかります
<Window.Resources><ブラシ1/><ブラシ2/></Window.Resources>
2.これもコンパイル通ります
<Window.Resources><ResourceDictionary/></Window.Resources>
3.しかし、これがコンパイル通らないのは何故なのですか?エラーメッセージ意味不明
<Window.Resources><ブラシ1/><ResourceDictionary/></Window.Resources>
ResourceDictionary使うなら2の形式を常につかえってことでしょうか
0623デフォルトの名無しさん
2011/01/26(水) 21:57:25<Window.Resources>
<ResourceDictionary>
<ブラシ1/>
<ブラシ2/>
</ResourceDictionary>
</Window.Resources>
ResourceDictionaryを複数使うときはMergedDictionariesに設定したような気がする
0624デフォルトの名無しさん
2011/01/26(水) 22:33:00ありがとう、理解出来ました。
MergedDictionariesでどちらもリソースとして含める事ができました
623の指摘で、ResourcesのクラスにContentProperty属性が付いてるのかと思いましたが
違いました。さらに調べるとここに答えがあって
ttp://msdn.microsoft.com/ja-jp/library/ms788723.aspx
Resourcesクラスが実装しているIDictionaryが省略を可能にしてるんですね
0625デフォルトの名無しさん
2011/01/29(土) 10:36:23もしかしてUserControlってバインディングと相性悪い?
0626デフォルトの名無しさん
2011/01/29(土) 10:44:44ViewModelにバインドするときはだいたいUserControlにバインドする
アプリケーション固有のビューを作るためのもので、汎用的なコントロールを作る際には使わない
0627デフォルトの名無しさん
2011/01/29(土) 11:07:41特定のVMとBindでベッタリくっついた状態で機能する、
CustomControlはVMは外部から任意のものをセットする前提で
VMなしでも単独で機能する、という認識でいいのだろうか。
なんかまわりを見ていると人によってこの境界がマチマチな気がする。
0628デフォルトの名無しさん
2011/01/29(土) 11:19:31UserControlは振る舞いとビューを分離できない。
カスタムコントロールは振る舞いとビューが分離されていて、必要ならビューを差し替えることができる。
ここでいうビューはMVVMのViewのことじゃなくて、たとえばコントロールの文字列型のプロパティを
TextBlock使って表示するかボタンのキャプションにするかというようなUIの実装の詳細という意味で、
端的にはコントロールテンプレートのこと。振る舞いはコードビハインド。
0629デフォルトの名無しさん
2011/01/29(土) 14:43:020630デフォルトの名無しさん
2011/01/29(土) 19:21:18MessageBox的なものを自分で作りたいんですが、
はい/いいえ/再試行/キャンセルなどを言語環境に合わせて変えたい場合どうすればいいですか?
自分で言語設定ファイル置くんじゃなくて、インストールされてる言語パックなんかから取ってきたい。
メッセージボックスで使われている語彙だけでいいんです。
0631デフォルトの名無しさん
2011/01/29(土) 21:30:180632デフォルトの名無しさん
2011/01/29(土) 21:35:42そもそも実現できるだろうか
0633デフォルトの名無しさん
2011/01/29(土) 22:18:37http://ideone.com/yf6La
0634デフォルトの名無しさん
2011/02/01(火) 10:56:12マイクロソフトはいつになったらそういう細かい部分を改修してくれるんだろう。
機能的には不備はないんだけれど見た目がね。人は見た目が9割。
0635デフォルトの名無しさん
2011/02/01(火) 13:17:140636デフォルトの名無しさん
2011/02/01(火) 13:17:570637デフォルトの名無しさん
2011/02/01(火) 16:46:50例えばあるネットワークアプリにおいて、コアの機能(例えば通信等)を別のライブラリに置くとすると、
モデルとなるものは、ライブラリの中に書くと思いますが、
この場合はINotifyPropertyChangedやコレクションはObservableCollection(or INotifyCollectionChanged)を予め使い、モデルを実装した方が
GUIとの連携の際楽かと思いますが、この実装は正しいでしょうか?
(予め実装するのはなんとなく気持ち悪い気はしますが・・・)
またその場合に、対応するVisualModelを作成せず、直接MainWindow等のViewModelへモデルのインスタンスを置くのは
微妙な実装ですかね?
あとライブラリが自分の作った物では無い場合は、ラッパークラス(対応するVisualModel)を作ったりするのでしょうか?
変更通知イベント等を捕まえるのかな・・・
0638デフォルトの名無しさん
2011/02/01(火) 19:57:50モデルがINotifyPropertyChangedやINotifyCollectionChangedを実装している場合は
わざわざViewModelでプロパティを全部ラップしなくてもそのまま公開してViewとバインドしても構わない
0639デフォルトの名無しさん
2011/02/02(水) 01:02:48レスありがとうございます
なるほど、>>518のドキュメントってそういう事等が書いてあるんですね・・・と思ったけど英語・・・orz
時間あるときにでも頑張って呼んでみたいと思います!
0640デフォルトの名無しさん
2011/02/02(水) 05:13:15ネットワークをコア機能と考えてる時点でもうmvvmとは離れてるんジャマイカ?
prismはべつにmvvmのフレームワークでもなんでもなくて、コンパウンド・アプリケーションのフレームワークが最近は
mvvmもサポートしてますよ〜ってだけだから、それを参考にしてmvvmのベスト
プラクティスでございますっていうのは、よく考えたほうがいいぞ。
0641デフォルトの名無しさん
2011/02/02(水) 20:02:19コンボボックスを継承したカスタムコントロールを作ったんですけど、
デザイナでそのコントロールを置くと、中のアイテムが表示されません。
デザイナでもアイテムが表示されるようにするにはどうすればいいんですか?
0642デフォルトの名無しさん
2011/02/04(金) 02:00:47テンプレートやビヘイビアで改造するのが流儀なんですが・・・
0643デフォルトの名無しさん
2011/02/04(金) 07:13:19継承元のコンボボックスもカスタムコントロールなんです。
0644デフォルトの名無しさん
2011/02/04(金) 07:33:47もしその継承元のコンボボックスが見た目程度しか変更してないのであれば
そんなコントロールを使うのはやめて
WPFのコンボボックスの見た目をテンプレートで変えるコードに書き直せばいい
時間が許せば。
0645デフォルトの名無しさん
2011/02/04(金) 13:39:420646デフォルトの名無しさん
2011/02/04(金) 20:48:11取り敢えず継承だけして、機能を一切追加せずに使うとかは?
0647デフォルトの名無しさん
2011/02/04(金) 20:50:55最近は.NETでもJavaでも他のでも「継承は悪」が基本
0648デフォルトの名無しさん
2011/02/04(金) 21:24:590649デフォルトの名無しさん
2011/02/04(金) 21:36:03全派生先で同じ実装するくらいなら、素直に継承すべき
0650デフォルトの名無しさん
2011/02/05(土) 10:15:480651デフォルトの名無しさん
2011/02/05(土) 10:17:59クラスライブラリとしてコントロールを提供する場合はそんなもん使わない
0652デフォルトの名無しさん
2011/02/05(土) 10:32:410653デフォルトの名無しさん
2011/02/05(土) 10:36:450654デフォルトの名無しさん
2011/02/05(土) 10:39:30これは多重継承できちゃう言語が戦犯なだけじゃないの?
0655デフォルトの名無しさん
2011/02/05(土) 10:44:22仕様変わるならsealしとけカスって思うけどね
0656デフォルトの名無しさん
2011/02/05(土) 11:03:390657デフォルトの名無しさん
2011/02/05(土) 11:14:37BがAを継承せずに内部で使っているだけなら、CはBにしか依存しないわけだ
だからAの仕様が変わってもBだけ変更すれば済む
0658デフォルトの名無しさん
2011/02/05(土) 11:21:500659デフォルトの名無しさん
2011/02/05(土) 11:25:570660デフォルトの名無しさん
2011/02/05(土) 11:31:13Barする機能を追加したBarControlがあったとして
FooとBar両方が欲しくなったらどうするのか? という問題もあるな
0661デフォルトの名無しさん
2011/02/05(土) 11:35:070662デフォルトの名無しさん
2011/02/05(土) 11:35:12まーやり方はいろいろあるけど
FooControlもしくはBarControlのどちらかを継承したクラス(HogeControlを作って
継承しなかった方はHogeControlのコンストラクタでインスタンスを作って
アクセス用のメソッドを作るとか
HogeControlを外から見れば両方継承してるように見ればいいだけだし
0663デフォルトの名無しさん
2011/02/05(土) 12:15:07継承は悪、の根拠は結合密度の問題。
is-a = 元クラスはホワイトボックス。元クラスの実装を変えたら影響を受ける。
has-a = 所持クラスはブラックボックス。所持クラスの実装を変えても仕様が変わらなければおk
継承を使ってもちゃんと設計しハリウッドの原則に従えば疎結合にはできるし必ずしも悪ではないが、
protected変数を書き換え元クラスを制御ようなアホがいる限り"継承は悪"を言い広めるのが世のため人のため
0664デフォルトの名無しさん
2011/02/05(土) 12:21:02>>663
protected変数の書き換えが出来る時点でフレームワークがダメダメ
リフレクション前提ならそれもバカな話だ
0665デフォルトの名無しさん
2011/02/05(土) 12:27:42基本的に継承しても意味のないつくりになっていて、継承するのは継承専用に設計されたクラスだけ
0666デフォルトの名無しさん
2011/02/05(土) 12:38:540667デフォルトの名無しさん
2011/02/05(土) 12:48:33というか派生クラスに書き換えてもらうためにprotectedにしてるんじゃないのか
0668デフォルトの名無しさん
2011/02/05(土) 12:49:48やたらと細かい仕様があるからな
いかに基底クラスの変更を危険視してるかがわかる
約束事が通じる範囲なら勝手だけど、不特定多数向けのクラスライブラリ向けなら
protectedフィールドはpublicフィールドと何も違わない
0669デフォルトの名無しさん
2011/02/05(土) 16:27:22つーか、ここWPFのスレなんだけど。
一般論展開したいなら余所のスレに行けばいい。
0670デフォルトの名無しさん
2011/02/05(土) 16:30:01継承前提で使うクラスと、コントロールの継承とでは意味が違うんですが。
0671デフォルトの名無しさん
2011/02/05(土) 16:33:09両方とも俺じゃなくて>>647に言えよ
0672デフォルトの名無しさん
2011/02/05(土) 16:35:24継承によって小単位でカプセル化された特性やポリシーを
いくつも組み合わせて提供することができないから
「継承は悪」と思ってきたけど、そうじゃないの?
0673デフォルトの名無しさん
2011/02/05(土) 18:30:07>>ハリウッドの原則
もしよければ参考になる記事をおしえてくださ〜い。
>protected変数を書き換え元クラスを制御ようなアホがいる限り
継承したクラスが親クラスのprotectedで定義されている変数を直接いじるって解釈でOK?
0674デフォルトの名無しさん
2011/02/05(土) 18:55:20たいして難しくないから「ハリウッドの原則」でググってみればおk。
多分大抵のプログラマが無意識にやっているはず。
> OK?
変数に限らず、親クラスの挙動を子クラスが制御すること自体マズい
0675デフォルトの名無しさん
2011/02/05(土) 19:01:080676デフォルトの名無しさん
2011/02/05(土) 19:18:590677デフォルトの名無しさん
2011/02/05(土) 19:44:36protectedまでしかない言語じゃないんだし、
書き換えられたら困る場合はprivateにするんだよ。
違う言語の話が混じってないか?
0678デフォルトの名無しさん
2011/02/05(土) 20:00:27VSじゃなくてExpression Blendの話?
0679デフォルトの名無しさん
2011/02/06(日) 09:16:03VS(VS10)の話です。
具体的には、↓です。
カスタムコンボボックス(ComboEx)にDCountという名前のプロパティを作ったんですけど、
そのCountの値によって、中身の個数をかえたいと思っています。
たとえば、
DCount = 3 → 1月,2月,3月
DCount = 4 → 1月,2月,3月,4月
DCount 1 〜 12 以外 → 1月〜12月まですべて
のように、DCountの値とComboExのItemを対応させたいんです。
ためしに、DCountを考慮せず、
1) ComboExクラスで、1月,2月をaddしたものを、Main.Xaml(デザイナ)にツールボックスから配置する
2) 実行すると1月,2月が表示される
3) ComboExクラスで、さらに3月をaddする
4) Main.Xaml(デザイナ) には、1月,2月 が表示されたまま。
どのように実装すればよいか、アドバイスいただけたら嬉しいです(´Д⊂グスン
0680デフォルトの名無しさん
2011/02/06(日) 09:37:050681デフォルトの名無しさん
2011/02/06(日) 09:42:03http://ideone.com/pbfk8
0682デフォルトの名無しさん
2011/02/07(月) 12:08:16EventTriggerで頑張るしかないのかな。
MVVM light使ってます。
0683デフォルトの名無しさん
2011/02/07(月) 12:59:05ListBoxから継承するかコードビハインドかビヘイビアでコード書く。
ビューのコードからコレクションを並び替えるには、CollectionViewを使う。
0684デフォルトの名無しさん
2011/02/07(月) 13:18:04もっさりしたアニメーションでチェックが入るんだけど
どうにかならないのでしょうか?
0685デフォルトの名無しさん
2011/02/07(月) 13:48:21自作しちゃう?
0686デフォルトの名無しさん
2011/02/07(月) 14:44:05テンプレートを入れ替える
http://msdn.microsoft.com/ja-jp/library/ms752319.aspx
これにはアニメーションは含まれてないっぽいので単にコピペして使えばアニメーションしなくなるはず
0687デフォルトの名無しさん
2011/02/07(月) 15:47:050688デフォルトの名無しさん
2011/02/07(月) 16:21:48{Binding Value , StringFormat={}{0:N0}Hz}"
{Binding Value , StringFormat={}{0,4:F1}℃}"
{Binding Value , StringFormat={}{0,5:F1}%}"
{Binding Value , StringFormat={}{0,5:N0}rpm}
やっとWPF3.5で動くようにしたのにWPF4にしたら動かなくなってしまった(XamlReader経由)。
もう泣きたい。
0689デフォルトの名無しさん
2011/02/07(月) 17:49:42Expression Blendには、デフォルトのテンプレートをコピーした上でそれをベースにして編集する機能がある
BlendないならコントロールのTemplateプロパティの値をXamlWriter.Save
0690デフォルトの名無しさん
2011/02/08(火) 10:01:38XBAPでボタンを配置してボタンを押すと他のWebページに画面を遷移させたいけど
作法が解りません・・。
ちなみに・・
Private Sub btnBack_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles btnBack.Click
NavigationService.Navigate("http://www.yahoo.co.jp")
End Sub
としてもブラウザ画面にhttp://www.yahoo.co.jpと文字が表示されてしまいます。
0691デフォルトの名無しさん
2011/02/08(火) 10:17:14によると、HTMLページのFrame内でXBAPをホストしている場合、
JavaScriptのwindowオブジェクトが取得できるらしいから
あとはJavaScriptでのページの移動と同じ方法が使えるはず。
でも正直XBAPなんか使わない方がいいよ。WPFなら普通のアプリとして作ってClickOnceで配布するか、
ブラウザで動かしたかったらWPFよりもSilverlightを強く推奨。
SilverlightならブラウザやHTMLページの操作も強力にサポートされてる。
0692デフォルトの名無しさん
2011/02/08(火) 10:27:07Private Sub goButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
Me.NavigationService.Navigate(New Uri(Me.addressTextBox.Text))
End Sub
Vb使わんから良く解らんが、MsdnさんはUriオブジェクト使えと言っている
0693デフォルトの名無しさん
2011/02/08(火) 10:39:17ありがとうございます。Silverlightは触ったことすら無いので一度勉強してみます。
>>692
ぉお!まさにこれでした。・・・って試してみたらIE(XBAP)が終了した・・。
なるほど、そういうものなんですね。勉強になりました。
御返答頂いた方々、ありがとうございました。もっと功夫積んできます。
0694デフォルトの名無しさん
2011/02/08(火) 20:37:39るのですが、ファイルがロックされてしまい、exif情報を取り出したファイルの操作
ができません。IDisposableでないので、Dispose()もできず、freeze()してみても変
わりません。どうしたら、ロックを解除できるでしょうか?
0695デフォルトの名無しさん
2011/02/08(火) 20:40:040696デフォルトの名無しさん
2011/02/08(火) 21:22:56取れるのはOS依存だけど、そのOSのExplorerで読める物は大丈夫なはず
http://code.msdn.microsoft.com/WindowsAPICodePack
0697デフォルトの名無しさん
2011/02/08(火) 23:10:38Stream渡しでStreamをCloseするとファイルがロックされることはなくなりましたが、
こんどは BitmapFrame.MetadataがStreamのクローズと共にnullになってしまい
ました。MetadataをCloneしても、CloneCurrentValueしても変わりません。
Streamをクローズするまえに必要なタグ情報は全部読みだしておくことで回避していますが。。。
>>696
なんと! そんないいものがあったんですか? apicodepackは使っているんですが
知りませんでした。早速調べてみます。
0698デフォルトの名無しさん
2011/02/08(火) 23:16:17Streamだけのオーバーロードだと、遅延読み込みになるっぽい
http://msdn.microsoft.com/ja-jp/library/ms615998.aspx
http://msdn.microsoft.com/ja-jp/library/system.windows.media.imaging.bitmapcacheoption.aspx
0699デフォルトの名無しさん
2011/02/09(水) 00:27:29デバッガでステップ実行してみると遅延実行か否かにかかわらず、BitmapFrame.Metadataを
Cloneした時点でexif情報は一応読み込まれてImageMetadataにコピーされているようです。
Cloneなのでもとのデータとは参照関係にないのですが、Streamを閉じると、コピーしたImageMetadata
の各項目がnullになってしまいます。(ImageMetadata自体はnullでない)。
謎な挙動なのですが、ImageMetadataはFreezable(DependencyObject)なので、もしかすると
もとのStreamとバインディングでもされているんでしょうか???
>>696
使ってみました。これは便利、と思いきや、BitmapFrameを使った方法では取得できる
項目にnullが返ってきたり、今ひとつ大丈夫なのかどうか心配です。
CanonicalNameが間違っているのでしょうか?
0700デフォルトの名無しさん
2011/02/09(水) 00:49:50api code packでexifをとろうとするとnullが帰ってくる件自己解決しました。
int dobleなどプリミティブ型はすべてNullable<T>になっていたため、
GetProperty<T>でTにNullable型を指定しないといけないのが原因でした。
0701デフォルトの名無しさん
2011/02/09(水) 14:22:47反応しないことってありますか?
今再現性100%で起きてるんですが・・・
モード切替ボタンが3つあって
起動直後にボタン1を押すと正常
その後ボタン2を一回押すとボタンの見た目だけ変わるけど
その先のコードが呼ばれない
もう一度ボタン2を押すとコードが正常に呼ばれる
これはボタン3つとも同じ結果になります
0702デフォルトの名無しさん
2011/02/09(水) 14:57:59結果は変わらずでした・・・
よくわからん・・・
0703デフォルトの名無しさん
2011/02/09(水) 15:20:450704デフォルトの名無しさん
2011/02/09(水) 15:32:05バグ修正したカスタムコントロールで俺は対処した。
0705デフォルトの名無しさん
2011/02/09(水) 15:36:59晒せません・・・
>>704
Toggleじゃないです
あほなことをしてたかも・・・
Buttonが乗ってるCanvasにListBoxも乗ってるんですがこいつのSelectedIndexを
場合によっては-1にしてるんですが(つまり選択無し)こいつが影響してたようです・・・
0706デフォルトの名無しさん
2011/02/09(水) 16:10:09WPF SLともに似たような感じの別ソースを作って実験してみましたが
そちらでは再現しませんでした。
どうも今書いてるソースの問題のようです。
おさわがせしました・・・・
0707デフォルトの名無しさん
2011/02/09(水) 19:24:27VisualChildrenに入れ忘れた時に似た症状(たまに再描画されたりされなかったり、
操作できたりできなかったり)を見たことがある。
0708デフォルトの名無しさん
2011/02/09(水) 19:55:390709デフォルトの名無しさん
2011/02/09(水) 20:54:490710デフォルトの名無しさん
2011/02/09(水) 21:14:15分かりやすいです。
0711デフォルトの名無しさん
2011/02/09(水) 23:14:260712デフォルトの名無しさん
2011/02/09(水) 23:40:490713デフォルトの名無しさん
2011/02/09(水) 23:45:360714デフォルトの名無しさん
2011/02/09(水) 23:52:050715デフォルトの名無しさん
2011/02/10(木) 00:11:30どうも表示上まったく無関係なコントロール間に参照ができ、
破棄したはずのコントロールへの参照が相当数残っている模様…
これ直しようがないよね…
0716デフォルトの名無しさん
2011/02/10(木) 01:23:06<UserControl.InputBindings>
<KeyBinding Key="A" Command="{Binding ACommand}" />
</UserControl.InputBindings>
みたいな操作を実装しようと思ったら、代替手段って何になるの?
0717706
2011/02/10(木) 11:06:17確かにCanvasを継承してちょっと機能を持たせてる独自コントロールがいるんですよね・・・
ほかのパーツもいろいろ影響受けてるのかよくわからない動きも他にでてきてるし・・・
使いこなせれば確かにバインディング含めて便利なんだが便利機能がある分
ブラックボックス化してる部分が多くて返って大変かも・・・・
0718デフォルトの名無しさん
2011/02/13(日) 01:41:17でないと思ってて、実際どんなに小さい値をIntervalに入れても60くらいを示すんだけど、
Intervalを0にしたらウン万fpsたたき出す。どうなってんのこれ。
あとSystem.ThreadingのTimerなら120行けるんじゃと思って試してみたけどDispatcherTimer
と同じような精度だった。たしか分解能10msほどだっけ。
ソースはここのを使わせてもらった。
http://d.hatena.ne.jp/mitsc1729/20101106/1289045053
0719デフォルトの名無しさん
2011/02/13(日) 14:07:570720デフォルトの名無しさん
2011/02/13(日) 19:21:25連載:WPF入門
第5回 WPFの「データ・バインディング」を理解する
http://www.atmarkit.co.jp/fdotnet/chushin/introwpf_05/introwpf_05_02.html
0721デフォルトの名無しさん
2011/02/14(月) 01:48:45上から順に012とか読み取れるような方法って標準でありますか?
0722デフォルトの名無しさん
2011/02/14(月) 23:24:00ViewModelからBind経由で値をとりたいのか、それともView側で直接とりたいのかetc...
そもそもの目的が分からないからなんとも言えないが色々と手段はある。
0723デフォルトの名無しさん
2011/02/18(金) 17:19:09CanvasだけにEffectを設定できないの?
0724デフォルトの名無しさん
2011/02/18(金) 21:10:08BorderかRectangleでも置いとけ
0725デフォルトの名無しさん
2011/02/19(土) 21:54:47.64なレイアウトにできるのはGridだけ?ストレッチが1つならDockでも可能だけど。
0726デフォルトの名無しさん
2011/02/20(日) 01:57:34.94<TextBlock>
前半<Bold>太字</Bold>後半
</TextBlock>
リテラルなら上で良いけど、前半、太字、後半をバインドする方法が分からないです。
0727デフォルトの名無しさん
2011/02/20(日) 02:50:33.990728デフォルトの名無しさん
2011/02/20(日) 03:02:36.10リテラルに見えるが<Run>を省略できるだけ。
Inlineクラス
http://msdn.microsoft.com/ja-jp/library/system.windows.documents.inline.aspx
0729デフォルトの名無しさん
2011/02/20(日) 04:16:14.720730デフォルトの名無しさん
2011/02/20(日) 12:11:14.43XAMLで書ける要素はXAMLで書きたいな、と思っております。
実際>>728さんのアドバイスで試してみて2つ問題が。
・Run.Textは依存プロパティではないからバインドできない。
・問題というほどじゃないのだけど、要素をきれいに並べたくて下のような書き方すると改行部分で空白が入る。
<TextBlock>
<Run>前半</Run>
<Bold>太字</Bold>
<Run>後半</Run>
</TextBlock>
>>726の書き方だと「前半太字後半」となるのが、上だと「前半 太字 後半」になってしまう。
<Run>前半</Run><Bold>太字</Bold><Run>後半</Run> と書けばいいんだけど…。
>>729さんの言うようにコンバータ作るのが良いのか、そもそも初手の発想が駄目で
テキストの一部修飾はもっとスマートなやり方があるんでしょうか?
0731デフォルトの名無しさん
2011/02/20(日) 12:16:51.12<Stackpanel>
<TextBlock/>
<TextBlock/>
<TextBlock/>
</Stackpanel>
こんな感じでTextBlockが横に並ぶようにしちゃうとか
0732デフォルトの名無しさん
2011/02/20(日) 12:45:12.42条件後出しになってごめんなさい。
「前半太字後半」で1文として扱われてほしいのです。
TextBlockとして並べてしまうとたとえば改行の際の動作がおかしいので。
<希望の動作>
前半太字後
半
<TextBlock並べた場合>
前半太字後
____半
0733デフォルトの名無しさん
2011/02/20(日) 13:07:05.700734デフォルトの名無しさん
2011/02/20(日) 13:27:18.800735デフォルトの名無しさん
2011/02/20(日) 14:21:24.51VisualStudio2005 C# Designer を使用して Form を作成中です。
GUI 上に Panel ってのを追加してみたけど、やっぱ止めようとしてます。
で削除したいのですが、削除、切り取りとも、
苦労して配置したボタンその他みんな道連れになって削除されてしまいます。
パネルだけを削除する方法は?
0736デフォルトの名無しさん
2011/02/20(日) 14:23:10.910737デフォルトの名無しさん
2011/02/20(日) 14:23:47.08ではどこに?
0738デフォルトの名無しさん
2011/02/20(日) 14:24:38.900739デフォルトの名無しさん
2011/02/20(日) 14:26:22.62本屋やネットみて基本身につけたほうがいい。
0740デフォルトの名無しさん
2011/02/20(日) 14:26:57.460741デフォルトの名無しさん
2011/02/22(火) 08:38:29.50VerticalScrollBarVisibilityがtrueなRichTextBoxがありますが、Documentプロパティを入れ替えて行数の多い文書を投入してもスクロールが有効になりません。何か手続き漏れているでしょうか?
0742デフォルトの名無しさん
2011/02/22(火) 09:13:30.460743デフォルトの名無しさん
2011/02/22(火) 09:27:27.98すみません741ですがautoでした。
0744デフォルトの名無しさん
2011/02/22(火) 09:44:49.59あんなの行ってなにが得られるというのだね
わんくま(笑)
0745デフォルトの名無しさん
2011/02/22(火) 15:20:03.670746デフォルトの名無しさん
2011/02/22(火) 17:10:41.21kwsk
0747デフォルトの名無しさん
2011/02/22(火) 18:24:58.930748デフォルトの名無しさん
2011/02/22(火) 19:15:31.68あれどうなってんのw
0749デフォルトの名無しさん
2011/02/22(火) 22:27:52.260750デフォルトの名無しさん
2011/02/23(水) 00:48:41.94よく落ちるんじゃなくて、
たまに運がいいと繋がるって感触なんだが……。
0751デフォルトの名無しさん
2011/02/23(水) 08:26:50.980752デフォルトの名無しさん
2011/02/24(木) 07:21:13.740753デフォルトの名無しさん
2011/02/24(木) 08:01:10.97Ribbon UIのサンプルをいじって実験していたところ期待通りの動作とならず質問しましたが、シンプルな WPFアプリケーションで試したところ問題ありませんでした。
Ribbon時の原因はまだ特定できていませんがリフレクションからみで何かあるのかなと推測してます。
0754デフォルトの名無しさん
2011/02/24(木) 08:35:27.75エッセンシャル
0755デフォルトの名無しさん
2011/02/24(木) 09:35:38.480756デフォルトの名無しさん
2011/02/24(木) 09:38:49.08向こうのスレは役にたたない
0757デフォルトの名無しさん
2011/02/24(木) 09:46:44.76WPFに共通する話題ならこっちでやってもいい。
共通する話題か判断できる人は自己解決するだろうけどさ
0758デフォルトの名無しさん
2011/02/24(木) 09:47:01.82SilverlightはWPFじゃなくて.NET Frameworkのサブセットだよ
SilverlightでEntity Frameworkを使うときの話とかWPFスレでやるの?
0759デフォルトの名無しさん
2011/02/24(木) 16:30:35.63やはりページ毎に全ての印刷要素のインスタンスを作らないと駄目ですかね?
ページ数多いとメモリ消費が凄いことになりそうで。
WinFormsはそこらへん効率的だったのに・・・
0760デフォルトの名無しさん
2011/02/24(木) 16:44:35.340761デフォルトの名無しさん
2011/02/24(木) 19:55:00.31あと TextOptions 使ってテキストボックスの文字表示を調整したり、MVVM Light使え等の小技も結構紹介されてた。
しかしデモ見てたら、MVVMって検証含めるとイベントハンドラよりコードが肥大化する印象があるけどどうよ。
0762デフォルトの名無しさん
2011/02/24(木) 21:05:14.26テストしないんだったらVMなんかいらん。
0763デフォルトの名無しさん
2011/02/24(木) 21:26:00.15テストの手間を考えたら構造が少々複雑になったりコードが増えたりするくらいのコストは無視できる。
MVVMでないとWPFのバインディングを活用できないみたいな誤解があるけど
実際は全然そんなことない。
0764デフォルトの名無しさん
2011/02/24(木) 21:34:26.890765デフォルトの名無しさん
2011/02/24(木) 21:42:26.470766デフォルトの名無しさん
2011/02/24(木) 21:46:59.470767デフォルトの名無しさん
2011/02/24(木) 22:36:25.690768デフォルトの名無しさん
2011/02/25(金) 10:27:22.25http://www.youtube.com/watch?v=6Cf7IL_eZ38
0769デフォルトの名無しさん
2011/02/25(金) 10:59:31.090770デフォルトの名無しさん
2011/02/25(金) 12:34:57.950771デフォルトの名無しさん
2011/02/25(金) 13:53:41.820772デフォルトの名無しさん
2011/02/25(金) 16:07:03.720773デフォルトの名無しさん
2011/02/25(金) 16:12:08.390774デフォルトの名無しさん
2011/02/25(金) 16:12:46.390775デフォルトの名無しさん
2011/02/25(金) 16:13:53.810776デフォルトの名無しさん
2011/02/25(金) 16:24:09.09静電容量式で使えないやつもあるから購入前に要チェック。
A型の俺はiPodにも自作タッチペン。
導電スポンジ切ってボールペンの芯の替わりに詰め込むだけの単純な工作だ。
0777デフォルトの名無しさん
2011/02/25(金) 16:27:57.98kwsk
0778デフォルトの名無しさん
2011/02/25(金) 16:30:36.25iPod タッチペン 自作 あたりでググると作り方書いてあるよ。
導電スポンジはAmazonあたりで売ってる。
0779デフォルトの名無しさん
2011/02/25(金) 16:46:12.17ほほぅ〜 これはよさげだw
勉強になったよ ありがとう
0780デフォルトの名無しさん
2011/02/25(金) 16:47:05.10タブで、そのセルにフォーカスあてると一旦ユーザコントロールにフォーカスが移って、
次にTextBoxという具合になるんですが、
いきなりTextBoxにフォーカスあてるためにはどうしたらいいですか?
0781デフォルトの名無しさん
2011/02/25(金) 19:30:03.07ピンチイン・ピンチアウト等、二本指必要な操作が問題だ。
つか、将来的には
直接触らなくても、近付けて指を振るだけで動く様にして欲しいかも。
0782デフォルトの名無しさん
2011/02/25(金) 20:51:20.140783デフォルトの名無しさん
2011/02/25(金) 21:41:02.100784デフォルトの名無しさん
2011/02/25(金) 21:46:21.080785デフォルトの名無しさん
2011/02/26(土) 00:09:44.27ContentControlとかはデフォルトだとフォーカスを受け取るから
タブ押してフォーカス移動しながらSnoopとかでフォーカスを持ってるコントロールをチェックしてみ。
0786627
2011/02/26(土) 02:11:22.84例えばWindowが持っているResourceCollectionにSolidColorBrushが入っているとして、それを子ボタンの背景に手動で適用する場合、
MyButton.Background = (Brush)MyStaticResouceExtension.ProvideValue(IServiceProvider);
ここの「IServiceProvider」にはどこのインスタンスを指定すればよいのでしょうか?
0787デフォルトの名無しさん
2011/02/26(土) 03:16:56.330789デフォルトの名無しさん
2011/02/26(土) 06:54:31.600790デフォルトの名無しさん
2011/02/26(土) 17:13:13.31タッチパネル対応箸の出番だな
0791デフォルトの名無しさん
2011/02/26(土) 18:04:38.98光学式のは厳密には触れなくても反応する。
どこまで指を上げればいいのか分からなくて慣れるまでダブルクリックできないけど。
0792デフォルトの名無しさん
2011/02/26(土) 18:08:24.110793デフォルトの名無しさん
2011/02/26(土) 23:39:43.78紹介する流れができたわけですね。
0794デフォルトの名無しさん
2011/02/27(日) 00:07:54.770795デフォルトの名無しさん
2011/02/27(日) 14:34:22.89おまいらありがとう
0796デフォルトの名無しさん
2011/02/27(日) 14:40:11.05発売から1週間経ってないのに3万とはタッチパネルも安くなったもんだな。
1台買おうかと思って製品仕様見てきた。
IPSなのはいいけどグレアパネル使ってるのか。ノングレアだったら買ってたのに…
0797デフォルトの名無しさん
2011/02/27(日) 15:36:11.56IOのもNANAOのもグレアパネルだしな……
0798デフォルトの名無しさん
2011/02/27(日) 15:37:51.250799デフォルトの名無しさん
2011/02/27(日) 15:37:55.22ただ光学式ならモニタ表面に何張ってもいいので、アンチグレアフィルムでも貼ればいい
0800デフォルトの名無しさん
2011/02/27(日) 15:39:52.580801デフォルトの名無しさん
2011/02/27(日) 15:46:44.340802デフォルトの名無しさん
2011/02/27(日) 15:49:41.08後ろを確認するのに便利とかいうから
0803デフォルトの名無しさん
2011/02/27(日) 16:41:54.67.,.‐''";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`'‐.、
,.‐´;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`‐、
,‐´;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`‐、
,l";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;゙'i,
,l";;;;;;;;;;;;;;;;;;;;;;;;;;;く ̄` `''=;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`゙l、
,,,,L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`i, _,,,,、 ゙'''li;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i、
.,i",-..,.゙ヽ;;;;;;;;;;;;;;;;;;;;;;;;l" ` .~ヽ、 ~'=i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;i、
゙,l´;;;;;;l l;;;;;;;;;;;;;;;;;ノ''',,,==二^'''i、 ゙' ,、 ゙゙゙'!i;;;;;;;;;;;;;;;;;;;;|
`イ;;;;;;| |;;;;;;;;;!" ヽ,,,_ ゙゙i;;;;;;;;゙l,, i、 `゙゙ヽ、;;;;;;|
. ;;;;i´::,l";;;;;;;i" ゙ `'t;j.、ミ;;;;;;;;;`''゙;> ,l゙ ,,,,,,-''"ヾ |;;;!
. ,;;|`::,l;;;;;;;l" `'''─゙''ー--''"ノ /, .ヘ_,,,..-'ヽ,ノ;;l
'';>,l;;;;;;;;l゙ _,,,,-‐ .,,." '.ノ;;;;;;;;;;ッ-、!l;;i´
l, /;;;;;;;;i' _,,r‐‐''"` | l, ゙ミ'a .、_ッ//
. "く;;;;;;;;;| ,,,r‐'" .i. ,!:l::::`"''"//"
:',:::',゙ー-" ,,r''" ,、 ,i ,!::|::::::::::://
、゙l,::' :--、,,,, i::::|:::::::://
'゙;;,'、:: `ヽ;;;;;;;;>":::|::::://
゙、;;ヽ、::ヽ jll、,,,,,,,,,,,,,,.:'',、:::::::::::::::,,ソ"
゙、;;\:::\ `゙゙);;':::::::.,,∠-'
ヽ;;;\:::゙.、 ー-=-'''-、 ``:::::/` 用件を聞こうか
\;;`ヽ;:ヽ、 , "、:::/
\;;;"-、゙'- ,_ ノ レ'"
‐、. \;;;;`ー、;:~''ー、,,,__,,.ノ
`‐、. ヽ;;;;;;;;;゙-、l" `
゙‐、 \;;;;;;;;;;゙゙'-、
0804デフォルトの名無しさん
2011/02/27(日) 17:35:45.300805デフォルトの名無しさん
2011/02/27(日) 17:58:09.700806デフォルトの名無しさん
2011/02/27(日) 18:23:31.660807デフォルトの名無しさん
2011/02/27(日) 19:47:31.790808デフォルトの名無しさん
2011/02/27(日) 22:58:45.18CurrentColumnとCurrentItemを設定してBeginEdit()かな。
0809デフォルトの名無しさん
2011/02/28(月) 02:34:47.70アプリの設定項目としてアニメーションを無効にできるようにしたいとき、
どういうふうに書くといいのかな。コードならストーリーボードの追加・削除はわかるんだけど。
0810デフォルトの名無しさん
2011/02/28(月) 09:03:20.95細かいことはリソースディクショナリとして別のXAMLファイルに分離しておいて
スタイルを入れ替える
0811デフォルトの名無しさん
2011/02/28(月) 22:25:55.85「WPFのTextBox」
<TextBox Name="textBox1" FontSize="16" AcceptsReturn="True" FontStretch="Normal" FontFamily="MS PGothic" />
の表示に文字幅の差異が生じるのですが、どうすればWinFormと同じように表示できますか?
左がWinFormの望ましい表示で、右がWPFの文字幅がズレた表示です
http://www1.axfc.net/uploader/Img/so/108711.bmp
また、表示しているのは以下の文字列です
| | 半角で「&emsp;」、全角スペース+半角スペース
| _ | 半角スペース2個+_
| .| 全角スペース+ドット
| . | 半角スペース2個+ドット
| ~| 半角スペース+~
| | 全角スペース
| _| 半角スペース+_
| ゙| 半角スペース+゙
| .| 半角スペース+ドット
|~|
|..|
| | 半角スペース
|゙|
|.|
| | (「&thinsp;」)
0812デフォルトの名無しさん
2011/03/01(火) 00:40:23.77GDI+に強く依存した表示だから再現するのは大変。
WinFormsで作ったコントロールをホストするのが一番簡単じゃないかな。
0813デフォルトの名無しさん
2011/03/01(火) 05:03:46.42ttp://tsushima.2ch.at/s/news2ch126984.png
0814デフォルトの名無しさん
2011/03/01(火) 05:10:01.30この辺の話か
0815デフォルトの名無しさん
2011/03/01(火) 19:56:35.39別途ViewModelを作って、*.xaml.csの中身は空にするというのが。
0816デフォルトの名無しさん
2011/03/01(火) 20:00:34.160817デフォルトの名無しさん
2011/03/01(火) 20:04:04.06コードビハインドに書いてしまうとUIがくっついてくるから単体テストしづらい
VMはプレーンなクラスなので、できるだけそちらに書いておけば単体テストしやすい
それだけ
0818デフォルトの名無しさん
2011/03/01(火) 20:17:03.240819デフォルトの名無しさん
2011/03/01(火) 20:23:09.76IDialogServiceインターフェイスとか作ってDIしたりとか
かなり大掛かりな仕組みが必要になるんだよな
面倒だからといって、絶対にVMから直接ダイアログを開いたりしてはいけない
理由はとにかく「単体テストの邪魔になるから」
そこまでする気がないならMVVMなんか何の意味もないんですよ
0820デフォルトの名無しさん
2011/03/01(火) 20:31:51.53少なくとも個人ならコストかかる部分だけやる選択肢もある。
0821デフォルトの名無しさん
2011/03/01(火) 20:37:22.83バインディングは実際>>815で普通に使えるわけでMVVMのメリットではないよ
0822デフォルトの名無しさん
2011/03/01(火) 20:39:59.16相手すんのもアホらしい。
0823デフォルトの名無しさん
2011/03/01(火) 20:44:03.430824デフォルトの名無しさん
2011/03/01(火) 20:44:41.21意味がわからないうちは*.xaml.csにイベント書いたりしてていいんじゃないの?
そのうちバインド使った方がいろいろ楽できることに気がつくから
その辺が見えない人に利点を説いても無駄
0825815
2011/03/01(火) 20:50:40.46空の*.xaml.csに何の意味があるかがよくわからないという話です。
0826821
2011/03/01(火) 20:50:40.89そうじゃなくて、.xaml.csに書いたらバインディングが使えないというわけではないってこと
ビュー自身のプロパティにバインドすることも普通に可能
>>815の「なぜVMを別のクラスにするのか」という質問に対して、
「バインディングが便利だから」は回答になってないよ
0828デフォルトの名無しさん
2011/03/01(火) 20:52:57.800829デフォルトの名無しさん
2011/03/01(火) 20:55:01.51ウインドウの*.xamlに書くべきだけど書けない(またはスゲー量になる)部分をコードとしてそこに書くんだと思ってな
0830デフォルトの名無しさん
2011/03/01(火) 20:57:03.895日前から誰もバインディングの話なんかしてないが
0831デフォルトの名無しさん
2011/03/01(火) 20:57:59.23そのコード全部をテストしないといけないが、バインドをうまく利用すれば
書くコード量も減るので、自分で面倒みる部分もかなり減る
つまりバグの作りこみも減る
この辺は理屈で言ったところで納得しないだろうから
コード書けって言ってる
ネットで転がってるサンプル程度ではなくてもうちょっと大きなのを
0832デフォルトの名無しさん
2011/03/01(火) 21:02:00.82別にダイアログ呼んだっていいんだよ。それでトータルコストが浮くのなら。
正義は何だ?MVVMパターンを100%適用することか?
ちげーだろ。
0833デフォルトの名無しさん
2011/03/01(火) 21:05:36.66>正義は何だ?MVVMパターンを100%適用することか?
バインド使うことを覚えると将棋の最短手を考えるようにバインドだけで何とかできないか?
とコード減らすことばっかり考える奇妙な状態になるけどなw
それだけ便利
0834デフォルトの名無しさん
2011/03/01(火) 21:06:04.450835デフォルトの名無しさん
2011/03/01(火) 21:07:00.450836815
2011/03/01(火) 21:10:15.33バインドを使わないとか、コードビハインドで書きたいとかいっているわけではなくて、
単純になぜ*.xaml.csとは別のViewModel.csを用意するのかという話です。
*.xaml.csにバインドするプロパティやコマンドを定義しては駄目なの?、っという所が出発点です。
0837デフォルトの名無しさん
2011/03/01(火) 21:10:24.83>かなり大掛かりな仕組みが必要になる
なんてのは確かに手間考えるとどっこいな気もする
0838デフォルトの名無しさん
2011/03/01(火) 21:11:53.22ぶっちゃけIDEの仕様
0839デフォルトの名無しさん
2011/03/01(火) 21:14:48.26が一番シンプルな答えじゃないの
最初の質問で「MVVMで」って言ってるんだから
0840デフォルトの名無しさん
2011/03/01(火) 21:16:49.64バインディング使いたいだけなら別にそれでも構わない
クラスを分けるのは、単体テストのしやすさと
どうせならクラスごと分けてしまったほうが役割分担や設計がはっきりするから
0841デフォルトの名無しさん
2011/03/01(火) 21:18:48.430842デフォルトの名無しさん
2011/03/01(火) 21:21:03.160843デフォルトの名無しさん
2011/03/01(火) 21:25:15.20それくらいは最低限必要
0844デフォルトの名無しさん
2011/03/01(火) 21:27:20.520845デフォルトの名無しさん
2011/03/01(火) 21:28:57.420846デフォルトの名無しさん
2011/03/01(火) 21:31:41.490847815
2011/03/01(火) 21:32:29.19- なので、責務を考えればViewModelは別クラスにするのが当然
- InitializeComponentしかない*.xaml.csが出来ちゃうのは開発環境的な都合
- *.xaml.csが空なのは気にすんな
- 逆に、MVVM的な責務を気にしないなら、*.xaml.csにコマンドやプロパティを定義するのはあり(別にそうやりたいわけではないですが)
っという認識で合っていますでしょうか?
これで合っているのなら、自分的には納得ですが。
0848デフォルトの名無しさん
2011/03/01(火) 21:33:33.59・インターフェイスを被せておいて、その実装クラスでダイアログ開く。VMからはインターフェイス経由で扱う。
ファイルダイアログなら後者のほうがいいと思う
特定のビューでしか使わないダイアログなら前者でもおk
0849デフォルトの名無しさん
2011/03/01(火) 21:36:42.17>InitializeComponentしかない*.xaml.cs
もしかしてXAMLでイベントハンドラを指定すれば
*.xaml.csにイベントハンドラのコード部分がかかれるんだが・・・
*.xaml.csってWinFormでいうところのForm1.csと同等に扱えるぞ
*.xamlはWinFormでいうところのデザイナーが勝手に書き換えするやつ(名前忘れた)と同等
0850デフォルトの名無しさん
2011/03/01(火) 21:45:09.94Modelに関係ない、純粋にViewでしか使わないようなプロパティばかりだからViewModelに
書くってのはなんか違うような気もするし。
0851デフォルトの名無しさん
2011/03/01(火) 21:46:43.42コードビハインド側で名前を頼りにWinFormのころのようにコードを
ごりごり書くってやり方も可能なんだが、そういうのもよくわかってないのかな?
0852デフォルトの名無しさん
2011/03/01(火) 21:53:19.86>Modelに関係ない、純粋にViewでしか使わないようなプロパティ
ViewModelはそういうのを置くための場所
ViewModelはModelのラッパーじゃなくて文字通りViewのModelなんだよ
0853815
2011/03/01(火) 21:54:38.29いや、さすがにそれは分かっています。
*.xaml.csが空と言っているのは、VMを作ってコマンドやプロパティを定義したり、
Blendでビヘイビアとか使えば*.xaml.csってほとんど空になりますよね、っという話です。
0854デフォルトの名無しさん
2011/03/01(火) 21:57:58.54そうだよ
WinFormのころはForm1.csにごりごり書いてたビュー関連の
コードを書く必要がなくなる仕組みがあるんだからw
だから何?って話だけど
0855デフォルトの名無しさん
2011/03/01(火) 22:00:05.32なるほど。
あとはコードビハインドなら初めから依存プロパティを宣言できるってのもある。
ViewModelでもDependencyObjectを継承すればいいけど、ネット上で見つかるViewModel
の実装はなぜかINotifyPropertyChangedの方ばかりだね。
0856デフォルトの名無しさん
2011/03/01(火) 22:04:27.17モデルが特定の実装技術に依存するのは糞
っていうのが最近の流行りだから
POCOってやつ
0857デフォルトの名無しさん
2011/03/01(火) 22:15:36.30もうちょっと手抜きさせてもらえないのかねw
微妙に定型をまいど書くのがなんかしっくりこないw
0858デフォルトの名無しさん
2011/03/01(火) 23:58:53.470859デフォルトの名無しさん
2011/03/02(水) 00:06:49.040860デフォルトの名無しさん
2011/03/02(水) 00:19:55.42使わなくても作れる。
0861デフォルトの名無しさん
2011/03/02(水) 01:09:07.600862デフォルトの名無しさん
2011/03/02(水) 01:18:11.85ViewModelではなんで使わないの?>>856のいうモデルとは違うだろうし。
0863デフォルトの名無しさん
2011/03/02(水) 03:22:05.38Style.Triggersはいろんなトリガ使える。
FrameworkElement.TriggersはEventTriggerだけ。
このへんの関係がよくわからん。EventTriggerでXAML内でさくっとプロパティ値変えたいのに、
それはハンドラでやれってか。
0864デフォルトの名無しさん
2011/03/02(水) 04:58:17.45最初からViewModelも作るのは不必要な抽象化だと思うし
既存コードを再利用する必要があるとかでない限り
ViewModelには依存プロパティすればいいと思う
0865デフォルトの名無しさん
2011/03/02(水) 07:13:23.79テストに大きな影響は無いと思うんだが。
0866デフォルトの名無しさん
2011/03/02(水) 09:35:53.69トリガは過去の遺物
VisualStateManagerを使う
0867デフォルトの名無しさん
2011/03/02(水) 17:03:22.24じゃあアニメーションはそれでやる。
イベントに対して(他の要素の)プロパティを変えるのはやっぱコードからしかないか。
ようやくXAMLでできる動的なことの限界が見えてきた気がする。
0868デフォルトの名無しさん
2011/03/02(水) 19:41:03.74一瞬で終わる離散キーフレームのアニメーションにする
0869デフォルトの名無しさん
2011/03/02(水) 20:15:51.25してる状態なので、アニメーションを削除しないとその値は有効にならない。
アニメ化したいプロパティはユーザーの希望でアニメーション無効にしてても、
実装自体は終始アニメーションで固めてしまったほうがいいってことかなあ。
0870デフォルトの名無しさん
2011/03/03(木) 00:52:02.94Blend使うとそんな感じになる
論理的な状態の変化はVMかコードビハインドで
0871デフォルトの名無しさん
2011/03/04(金) 15:29:43.000872デフォルトの名無しさん
2011/03/04(金) 15:30:56.19え・・・
そんなに難しくはないだろ
0873デフォルトの名無しさん
2011/03/04(金) 15:43:45.76やっぱBlend依存でやるしかないのかな?
どうもBlendいやなんだよな・・・
0874デフォルトの名無しさん
2011/03/04(金) 17:16:29.680875デフォルトの名無しさん
2011/03/05(土) 22:13:21.54画像にぼかしかけたり、モザイクとアニメーションを同時にやるとか
そういうのは結構難しいんだよな
0876デフォルトの名無しさん
2011/03/05(土) 22:16:00.80XAMLだけでやろうとしなければそれほどでもなくね?
一旦コードビハインド側でコード書いてXAMLに直せそうならやってみればいいし
0877デフォルトの名無しさん
2011/03/05(土) 22:16:06.68仕組みが分かれば超簡単でクソ速い
0878デフォルトの名無しさん
2011/03/05(土) 22:21:06.22Effectじゃだめじょん?
0879デフォルトの名無しさん
2011/03/05(土) 22:23:02.88http://wpffx.codeplex.com/
ピクセルシェーダのサンプル
0880デフォルトの名無しさん
2011/03/06(日) 08:30:27.44Blend 使えば簡単なんだけどね。
Visual Studio のライセンスで Blend 自由に使えればいいのに・・・
0881デフォルトの名無しさん
2011/03/06(日) 08:33:51.09実行するかどうかはあなた次第
というかそんなに難しいか?
というかそういうtipsサイトってないのかな?
みんなツール依存なの?
0882デフォルトの名無しさん
2011/03/06(日) 16:37:22.47Windowクローズするならイベントハンドラにしないと無理そうなんだと思うんですが、どうよ?
0883デフォルトの名無しさん
2011/03/06(日) 16:45:25.31きっちりMVVM的にやるなら、
PrismのInteractionRequestなりMVVM LightのMessengerなりつかって
VMからViewへメッセージ投げるべき。
View 内に完結してやるにしても、
Button.Click とかのイベントハンドラーで Close() するのはいまいちで、
Button.Command に ApplicationCommands.Close を指定した上で、
CommandBindings で Close() する方がいいと思う。
0884デフォルトの名無しさん
2011/03/06(日) 17:01:13.76インターフェイスを使うのもアリ
interface IWindowService {
void CloseWindow(string windowName);
void ShowWindow(string windowName);
}
例えばこういうのを実装してViewModelのIWindowService型のプロパティに渡しておく
これだとウィンドウ剥き出しすぎるからもうちょっと抽象的な名前のほうがいいかもしれん
メッセージよりはわかりやすくて使い回しも利く
0885デフォルトの名無しさん
2011/03/08(火) 10:09:04.22↓みたいにXMLファイルをバインディングするのと
<MenuItem Header="{Binding Source={StaticResource Strings},XPath=String[@name\=\'menu1\']/@value}" >
↓みたいにショートカットを指定するのを両立させるにはどうしたらいいでしょうか?
<MenuItem Header="File(_F)"/>
0886デフォルトの名無しさん
2011/03/08(火) 10:42:16.42そのXMLファイルをResourceDictionaryのXAMLにすればいい
XAMLが嫌で俺XMLで書きたいなら
XSLTでXAMLに変換するとかXLINQでコードでMenuItem作るとか
メニューなんてアプリ中にいくつもあるもんじゃないんだから、
悩んでる暇があったらそれくらいコード書け
0887デフォルトの名無しさん
2011/03/08(火) 11:59:57.33C#
Window2 w2 = new Window2();
Background = Transparent;
AllowsTransparency = true;
OpacityMask = White;
w2.Show();
XAML
<Grid>
<Image Source="test.jpg" />
</Grid>
これでtest.jpgの画像で白い部分を透過させたいんですが透過しません
jpgもC#で違う画像を指定して入れ替えて使いたいんですが、どう書けば良いんですか?
0888デフォルトの名無しさん
2011/03/08(火) 12:09:23.63コントロールの透明度として使われるというもの。特定の色を透明にするというようなことはできない。
だいたい、jpgは白で塗りつぶしても正確に白にはならないのでそういう用途には不向き。
アルファPNG使いましょう。
0889デフォルトの名無しさん
2011/03/08(火) 12:09:42.540890デフォルトの名無しさん
2011/03/08(火) 12:30:39.620891デフォルトの名無しさん
2011/03/08(火) 12:56:49.740892デフォルトの名無しさん
2011/03/08(火) 13:13:47.250893デフォルトの名無しさん
2011/03/08(火) 13:16:14.570894デフォルトの名無しさん
2011/03/08(火) 13:16:25.750895デフォルトの名無しさん
2011/03/08(火) 14:12:27.70サンプルにゲームがあるんだけど
0896デフォルトの名無しさん
2011/03/08(火) 14:14:27.69Microsoftが「かっこいい見た目」を前面にだしすぎたため
「かっこいいのを作るだけが目的」と誤解されている
C#だけでなく、ザムルも覚える必要がある
勉強ページや勉強本が少なく、自分で考えても車輪の再発明よりむしろ劣化にしかならない
0897デフォルトの名無しさん
2011/03/08(火) 14:26:18.40JavaのJTableは重くならないために中はコンポーネントじゃなくて独自実装になってるというに
WPFのはスクロールしただけで中のコンポーネントの幅をみな再計算するため酷い重さ
0898デフォルトの名無しさん
2011/03/08(火) 14:47:31.55ゲームの描画なんて画像と文字と線を指定位置に描画することさえできれば充分なので
Direct3DやXNAのような低レベルなAPIでも無問題だから
Silverlightならクロスプラットフォームだしブラウザ上で動かせるのでメリットはあるが
WPFでゲームを作るメリットはない
ベクターベースのゲームならメリットはあるかもしれないけどね
0899デフォルトの名無しさん
2011/03/08(火) 14:53:18.36またオサレGUIかw
0900デフォルトの名無しさん
2011/03/08(火) 15:12:57.980901デフォルトの名無しさん
2011/03/08(火) 15:34:31.13WPFの次のバージョンではSilverlightのホスティングに対応するらしいから、
いずれはWPFのUIといえばウィンドウいっぱいにSilverlightHostコントロールを貼り付けただけになるんだろうなw
0902デフォルトの名無しさん
2011/03/08(火) 15:41:54.19>WPFのUIといえばウィンドウいっぱいにSilverlightHostコントロールを貼り付けただけになるんだろうなw
それでいいと思うよw
0903デフォルトの名無しさん
2011/03/08(火) 15:45:03.420904デフォルトの名無しさん
2011/03/08(火) 15:48:22.00SilvelrightはActiveXコントロールとしてホスティングできるから、
フルセットの.NETからSilverlightのVisualTreeを操作できるように橋渡ししてやればいいだけ
現在のSilverlight4+.NET4でも実現は難しくないはず
0905デフォルトの名無しさん
2011/03/08(火) 16:33:17.890906デフォルトの名無しさん
2011/03/08(火) 20:30:00.92みたいにx:Keyを付けないと
private void Button_Click(object sender, RoutedEventArgs e)
{
var resource = (ResourceDictionary)Application.LoadComponent(new Uri("Dictionary1.xaml", UriKind.Relative));
grid.Resources = resource;
}
のように動的にリソースを入れ替えても瞬時に切り替わるけど、
x:Keyを明示的に付けてStaticResourceとして参照してると切り替わらない(DynamicResourceならOK)。
x:Keyを付けないときはDynamicResourceと同じ扱いになるのかな?
0907デフォルトの名無しさん
2011/03/08(火) 20:57:37.77正確には、アクションゲームみたいなフレームごとに描画しなおすタイプのゲームに向かない。
WPFはイベント駆動で画面再描画することを前提にパフォーマンス最適化されてる。
0908デフォルトの名無しさん
2011/03/08(火) 22:54:21.15実際、資料が少ないのが厳しいな
WPF解説してるサイトとかほとんどないし、とっかっかりが無い
Googleで「WPF 入門」で検索しても、1ページ(10件)目に出てくるのは
上から順に
企業サイト
http://www.atmarkit.co.jp/fdotnet/chushin/introwpf_index/index.html
http://msdn.microsoft.com/ja-jp/library/ms771449(v=vs.80).aspx
http://codezine.jp/article/detail/910
http://codezine.jp/article/detail/928
個人サイト
http://d.hatena.ne.jp/hilapon/20100520/1274374572
http://z80a.blog48.fc2.com/blog-category-38.html
http://blogs.wankuma.com/kzt/category/2039.aspx
これくらいしか有用なページ無いもんな
2ページ以降は似たようなちょっとした情報ばかりだし
0909デフォルトの名無しさん
2011/03/08(火) 23:00:22.77WPFやSLのお作法でいきなり作ろうと構えるとそれだけで負担になるので
とりあえずは名前付けてイベントハンドラ使って従来の方法で触ってみるのが
一番だよ。
その中で従来の方法で書いたコードをバインドなどWPFやSLのお作法で
書き直すとどうなるかってアプローチが一番いいと思う
大体の人はWinFormになれてるんだし
0910906
2011/03/08(火) 23:22:56.90ここによると
>また、リソース システムは、リソースが変更された場合に、そのリソースにバインドされている要素プロパティが自動的に更新されて変更を反映するようにします。
とあるので、リソースを入れ替えたら勝手に反映してくれるわけだ。
でもx:Keyを付けたリソースをStaticResourceでバインドしてると勝手に反映してくれないので、
入れ替えるリソースファイルにx:Keyの付いたリソースがあるならDynamicResourceでバインドしておく。
こんな理解でおk?
0911デフォルトの名無しさん
2011/03/09(水) 01:51:46.76WPFで一番戸惑ったのはポトペタでGUI作りにくかったことだな
Blend抜きだとタグを直接書いた方が楽だなんて何処にも書いていないし
0912デフォルトの名無しさん
2011/03/09(水) 02:43:59.31MVVMの流儀だと、どう実装したらいいの?
例えば、接続されているハードウェアを列挙して、アイコン付きの
ラジオボタンあたりで選択させたいみたいな状況です。
(NVIDIAコントロールパネルのディスプレイ周り等)
0913デフォルトの名無しさん
2011/03/09(水) 03:34:31.940914デフォルトの名無しさん
2011/03/09(水) 18:24:06.57で例外がでるんですが、ストーリーボードのリソースはXAMLから検索してくれるんじゃないんですか?
<Storyboard x:Key="Story">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="SB">
0915デフォルトの名無しさん
2011/03/09(水) 19:09:05.30値を整数で変化させるにはどうしたらいいですか?
0916デフォルトの名無しさん
2011/03/09(水) 19:12:05.41数値としてならConverter書いた方がいいのかな?
文字で欲しいのならStringFormat
0917デフォルトの名無しさん
2011/03/10(木) 00:18:44.42http://www.infoq.com/jp/news/2011/03/WinForms-ERP
0918デフォルトの名無しさん
2011/03/10(木) 00:26:07.76WPFはまあ・・・あれだがSLはいいと思うんだけどなあ・・・
やっぱりFlashとかの方が歴史が長いだけに開発者が多いので
厳しい目で見られるってことなのかね?
0919デフォルトの名無しさん
2011/03/10(木) 00:36:10.64というだけの記事だろ
0920デフォルトの名無しさん
2011/03/10(木) 00:38:15.63相変わらずの超翻訳で安心した
0921デフォルトの名無しさん
2011/03/10(木) 00:51:50.99切り捨てられたらショックだろうな
逆にWPF切り捨てならWinForms叩きでもっと荒れただろうな
別にただそれだけのこと
0922デフォルトの名無しさん
2011/03/10(木) 19:40:01.79MediaElement.SetSourceで出来そうだけどSilverlight限定?
0923デフォルトの名無しさん
2011/03/11(金) 17:28:01.86見つかりません
ご存知の方いませんか
0924デフォルトの名無しさん
2011/03/15(火) 21:48:43.64Xamlとコードの両方に共通化したい部分がある場合はCustomControl化してしまったほうがいいの?
デザイナーによる支援が貧弱になるのは痛いけど、UserControlを継承して…ってのはなんか違う気がする。
0925デフォルトの名無しさん
2011/03/15(火) 22:02:16.25直接URL渡せばWMPで再生できるなら再生できるよ
>>924
XAMLも一緒ならUserControlでいい
カスタムコントロールはXAML(テンプレート)とコードを分離できるコントロールを作るためのもんだ
0926デフォルトの名無しさん
2011/03/15(火) 22:33:15.690927デフォルトの名無しさん
2011/03/15(火) 23:01:20.41UserControlの継承はやり方がよくわからんです。
継承元(一元化したい部分を含んでいる)はコードのみで書かないとうまくいかない感じです。
0928デフォルトの名無しさん
2011/03/15(火) 23:06:02.25・コードをビヘイビアとして再利用できないか
を検討してね
0929デフォルトの名無しさん
2011/03/15(火) 23:15:44.07上が一番簡単そうだけど管理が煩わしそう。
下は今回のケースなら適用できそうです。
XAMLはResourceとして括れるだけ括ってみます。
0930デフォルトの名無しさん
2011/03/15(火) 23:19:12.21プレイヤーを起動すれば?
0931デフォルトの名無しさん
2011/03/17(木) 01:07:26.98WPF攻略しないの?
0932デフォルトの名無しさん
2011/03/17(木) 01:55:35.10めんどうだけどBlendの方のビヘイビア使うべきか。
0933デフォルトの名無しさん
2011/03/17(木) 04:04:36.19情報も古いままだし、初心者とって紛らわしい使えないサイト
0934デフォルトの名無しさん
2011/03/17(木) 08:56:08.38これテンプレに入れといてもいいかもしれない。
0935デフォルトの名無しさん
2011/03/17(木) 22:14:40.140936デフォルトの名無しさん
2011/03/18(金) 02:28:51.68Expression Blendとかいうのがなかったらきつすぎるから。Visual StudioだけでやるならWindows Form のほうがいいし。
ごく一部の専門家が使うイメージだ。
解説ペーjなんて作っても
WPFやるならExpression Blendを買おう。
これ買ったこと前提ですすめます
なんてやったら、そもそもそんなの買うようなのは解説ペーjなんてなくてもMicrosoftのページでいいだろうし全然よんでもらえないし
かといってExpressionなしでやるのも
なにこれ?XAMLでアニメーションとか依存プロパティとかテンプレート作るのコード複雑になりすぎてちょっと無理ある
でもアニメーションとか使わないんだったらWindows Formでよくね?ってなるし。
0937デフォルトの名無しさん
2011/03/18(金) 02:45:02.420938デフォルトの名無しさん
2011/03/18(金) 06:33:26.31WPFでも、Formsで実現できるレベルの事しかしないならBlendなんか要らん。
つか、使ってもたいして楽にならんよ。
0939デフォルトの名無しさん
2011/03/18(金) 09:46:01.12バインディングの失敗とは違って
制御はコードにあるんだからどうとでも
好きにできるだろ
0940デフォルトの名無しさん
2011/03/18(金) 12:45:08.22レイアウトエンジンの有無
半透明のサポート
の方がよっぽど需要。
これらはBlendが無くても十分役立つ。
0941デフォルトの名無しさん
2011/03/18(金) 15:04:29.42バインディングの設定自体はVSのデザイナでも十分やれるけど、
BlendがVMのデータを適当に自動生成してくれて、プレビューしながらUI作れるのは便利
0942デフォルトの名無しさん
2011/03/18(金) 15:39:53.35BlendはVS2010以上に重いし
0943デフォルトの名無しさん
2011/03/18(金) 16:54:47.300944デフォルトの名無しさん
2011/03/18(金) 17:37:18.250945デフォルトの名無しさん
2011/03/18(金) 17:50:23.39・・・・そうなったらおれも使う
0946デフォルトの名無しさん
2011/03/18(金) 19:21:02.770947デフォルトの名無しさん
2011/03/18(金) 20:56:55.34全く分けてる意味無いと思う
こんなもんプログラム書けない人が使えるわけないわ
ビヘイビアとかInteractionRequestとか、どんどん本末転倒な方向に進んでる
0948デフォルトの名無しさん
2011/03/18(金) 21:54:58.290949デフォルトの名無しさん
2011/03/18(金) 22:08:22.83デザイナーはDesign使ってろってこった。
0950デフォルトの名無しさん
2011/03/18(金) 22:16:13.60デザイナ向けツールはあっても良いけど、VS単体でプログラマが作業できるようにならないと、WPFなんて絶対流行らんわ。
0951デフォルトの名無しさん
2011/03/18(金) 22:20:45.10そんなことできる会社が日本のどこにある
0952デフォルトの名無しさん
2011/03/18(金) 22:23:03.400953デフォルトの名無しさん
2011/03/18(金) 22:32:24.18結局XAMLでプログラミングしてるだけじゃん
0954デフォルトの名無しさん
2011/03/19(土) 11:02:58.840955デフォルトの名無しさん
2011/03/19(土) 11:03:42.620956デフォルトの名無しさん
2011/03/20(日) 04:01:40.82<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="RenderTransform.X" Storyboard.TargetName="LayoutRoot">
<EasingDoubleKeyFrame KeyTime="0" Value="{Binding ActualWidth, ElementName=LayoutRoot}"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
こんなふうにValueに動的に値をいれたいんだけど、Storyboard内ではBindingは使えないらしい。
ウィンドウサイズによって値が変わるので動的にやりたいんだけど何かいい方法ないですかね?
0957デフォルトの名無しさん
2011/03/20(日) 21:26:04.30MSDNではBlurEffect使えって書いてあるけど
元絵とブラーさせたやつを重ねるのはメンドクサイ
何か良い方法はありませんか?
0958デフォルトの名無しさん
2011/03/22(火) 09:29:10.940959デフォルトの名無しさん
2011/03/22(火) 12:03:42.970960デフォルトの名無しさん
2011/03/22(火) 15:43:52.280961デフォルトの名無しさん
2011/03/22(火) 16:10:17.04添付プロパティとして親のサイズに対する比率(0-1)で要素の位置を指定できるPanelを自作するとか
ピクセルシェーダならそういう条件での移動は簡単にできるので、移動させるだけならさすがにやりすぎだと思うけど
他にもエフェクトかけたりするならついでに移動もピクセルシェーダでやってしまう手もある
>>957
DropShadowEffect{ShadowDepth=0}
0962デフォルトの名無しさん
2011/03/22(火) 16:25:39.63なるほど、カスタムパネル、ピクセルシェーダー。目から鱗です。
Canvas並の機能のGrid軽量版をつくろうかと思ってたのでまずはカスタムパネルやってみます。
0963デフォルトの名無しさん
2011/03/22(火) 17:32:43.80MVVMで作成しようとしています。
このとき、MainViewModelのコマンドからダイアログ(HogeDialog)を開くにはどうするのがいいんでしょうか。
(1) HogeDialogを先に作り、HogeDialogの中でHogeDialogModel(ViewModel)を作る
(2) MainViewModelでHogeDialogModelを先に作り、HogeDialogを後付けする
どちらにしても、HogeDialogをMainViewModel内で直接newすると
VMがVに依存することになってしまうので、HogeDialogはMainViewModel以外の場所で作る必要がありますよね。
それを考えると、(2)の方が(1)よりも構造がシンプルでVM間のデータの受け渡しも楽になると思うのですが
webでよく見かけるのは(1)の方ですよね。
そもそも単体テストを楽にするのが目的なんだから、(2)のようにVM同士を依存させるのは避けて
必要なものだけInteractionRequestなどを通して間接的に渡した方がよいということなんでしょうか。
0964デフォルトの名無しさん
2011/03/22(火) 19:13:17.24DropShadow使ったらいいのか…
ありがとう、できました。
0965デフォルトの名無しさん
2011/03/22(火) 20:17:33.370966デフォルトの名無しさん
2011/03/22(火) 20:25:14.960967964
2011/03/22(火) 20:52:21.59下のと比べると薄い…
ttp://msdn.microsoft.com/ja-jp/library/system.windows.media.effects.outerglowbitmapeffect.aspx
0968デフォルトの名無しさん
2011/03/22(火) 22:08:50.87Storyboadで回転しながら拡大しつつ色を変化させて移動
なんてDirectXとかでやったらちょっとコードがごちゃごちゃするけどXAMLならスッキリかける
0969デフォルトの名無しさん
2011/03/23(水) 11:54:36.84そういうのはストーリーボード相当のものを自前で実装するからごちゃごちゃしませんよ。
0970デフォルトの名無しさん
2011/03/23(水) 13:23:06.19Direct3D相当の抽象化レイヤを自前で実装して直接ハードを叩けばごちゃごちゃしないね
0971デフォルトの名無しさん
2011/03/23(水) 13:28:29.18アニメーションエディターは2DだとFlashやDirectorやアフターエフェクツから取り込んだりね。
ほとんどのところではベクター画像とりあつかってないよ。
3DだとMayaとかMaxのデータをそのまま再生できるようにしてりしてます。
0972デフォルトの名無しさん
2011/03/24(木) 15:28:35.140973デフォルトの名無しさん
2011/03/24(木) 15:49:25.440974デフォルトの名無しさん
2011/03/24(木) 16:07:45.700975デフォルトの名無しさん
2011/03/24(木) 16:11:40.07それと同じこと
0976デフォルトの名無しさん
2011/03/24(木) 16:13:52.03OnPropertyChangedは関係ないな
使い方が悪い
0977デフォルトの名無しさん
2011/03/24(木) 16:24:11.620978デフォルトの名無しさん
2011/03/24(木) 16:34:57.71情報を出してください
0979デフォルトの名無しさん
2011/03/24(木) 16:49:25.60ObservableCollection<A> OCを用意して
ItemsControl内でRectangleGeometryでAのプロパティをBindingして箱パコパコ描いてて
MouseMoveでOCのヨウ素の文字列を書き換えてるだけ
0980デフォルトの名無しさん
2011/03/24(木) 16:54:52.160981デフォルトの名無しさん
2011/03/24(木) 20:30:17.20http://ideone.com/Zq6TX
CommandParameterの指定をもう少しマシにできないものか
CommandParameter="{Binding PlacementTarget.SelectedItems,RelativeSource={RelativeSource FindAncestor,AncestorType=ContextMenu}}"
じゃなくて別なアプローチで…
これが駄目な理由はよく分からない
http://ideone.com/5BguP
0982デフォルトの名無しさん
2011/03/24(木) 23:53:35.32ワープロソフトにたとえるなら保存するときはいちいちファイル→名前をつけて保存(or上書き保存)をクリックしなきゃならなくて
Ctrl+Sキーで保存する機能がない、みたいな。
プログラマはもっとユーザーインターフェースのこと考えようぜ。
0983デフォルトの名無しさん
2011/03/24(木) 23:58:02.930984デフォルトの名無しさん
2011/03/25(金) 02:35:38.800985デフォルトの名無しさん
2011/03/25(金) 09:06:22.82実現できますか?
0986デフォルトの名無しさん
2011/03/25(金) 13:08:34.04あるプライベート変数が
イベントハンドラから見たときと
それと別のスレッドから見たときとで値が異なるということが起きてるのですがなぜでしょう?
0987デフォルトの名無しさん
2011/03/25(金) 22:55:23.95スレッドローカル属性付けちゃってるか?
0988デフォルトの名無しさん
2011/03/25(金) 22:56:33.75ViewModel側でObservableCollection使うのやめて、
自前で、自分の好きなタイミングでCollectionChanged起こすようなコレクション作ればいいんじゃないかな。
0989デフォルトの名無しさん
2011/03/26(土) 08:13:41.66http://togetter.com/li/116145
0990デフォルトの名無しさん
2011/03/26(土) 08:24:35.69まで読んだ
0992デフォルトの名無しさん
2011/03/26(土) 13:55:01.55アーキテクチャパターンを実装パターンと混同してるからそういうことになるんじゃないのかな。
MVCとかMVVMってどっちかって言うとアーキテクチャパターンなのに、
実装レベルの同一性で議論してないか、それ。
0993デフォルトの名無しさん
2011/03/26(土) 15:24:16.55ViewとPresenterの間の通信にWPFのバインディング機能を使えば便利じゃね?
というのがMVVMなんだから、どうしても実装抜きには議論できないと思う
0994デフォルトの名無しさん
2011/03/26(土) 15:34:47.450995デフォルトの名無しさん
2011/03/26(土) 15:35:40.61正直、ステートフルで仮想化されまくりなGUI向けMVCって言い方でもよかった気がする。
0996デフォルトの名無しさん
2011/03/26(土) 15:44:45.71もしWinFormsで実装するとしたら、Viewがdynamic型を通してViewModelを監視したり
ViewModelのコマンドを実行するようにすれば、V->VMの結合の強さもMVVMと全く同じになるけど
それをMVVMと呼ぶかというと…やっぱりMVPじゃないかなw
0997デフォルトの名無しさん
2011/03/26(土) 15:46:28.14「ステートフルで仮想化されまくりなGUI向けMVC」長いよw
0998デフォルトの名無しさん
2011/03/26(土) 15:50:46.81どうせ細かい実装わかってない人にはそれで十分じゃなかったかなぁって。
0999デフォルトの名無しさん
2011/03/26(土) 15:55:29.611000デフォルトの名無しさん
2011/03/26(土) 15:58:28.12http://hibari.2ch.net/test/read.cgi/tech/1301122694/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。