WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part11
2 :
デフォルトの名無しさん :2011/11/07(月) 16:59:10.94
2get
書き込みが980超えると即死判定に引っかかって一定時間書き込みないと落ちちゃう
こんなもん普通にコードビハインドに書くか ビューでインターフェイス実装してVMから呼べよ さすがにこれ見て MVVMってすてき! と思う奴はいないだろうw
>6 VMのコマンド内で、条件によってViewをクローズするという用途には使えるだろ。
V Closingをキャッチ。VMに通達、戻り値を待つ VM 終了判断。確認ダイアログをVに通達 V 確認ダイアログ表示、結果を返す VM 終了処理あるいはキャンセル V そのまま終了あるいはClosingをキャンセル ここまでやらないと意味ないよね 最小化最大化はVの範疇じゃないのVMに通達する必要はあるの
インターフェイスでいいよ ウィンドウの挙動なんてどうせ細かいコード書くんだから
Livet の作者のブログ、なくなってるじゃんw
ダイアログとかメインウィンドウの操作とかは使い回すから IMessageBoxService mb = this.messageBoxService; //コンストラクタかプロパティで設定 mb.ShowDialog("終了しますか?", (result) => { if (result) { IApplication app = this.application; app.Exit(); } }); みたいに扱えた方が便利だし、何に依存してるかはっきりするし、 メッセージと違ってちゃんと型がある
>8 VMはVを知らなくてよい。VとVMの双方向通信だと疎結合じゃなくなるよね。よってその案は却下。
クラスの使い方のサンプル見てステキって思う奴いるのか? SHA256クラスのサンプル見てステキ言う人間は想像しがたいな
14 :
デフォルトの名無しさん :2011/11/08(火) 18:07:09.88
処で、Drag&Dropは何処に実装すべきなの?
SHA256クラスを使わない場合に比べてはるかに少ないコードで済んでいればステキだろ
>>5 の例はどう考えてもコード書くより手間かかってるし
特にメリットもないだろ
使い方を説明するのに必ずしも合理性は必要ないってことだろ アスペかてめーは
はい
>>14 コードビハインドで受けてVMのメソッドを呼ぶ
使いまわすならドロップを受け取るメソッドを宣言したインターフェイス用意して
VMに実装してビヘイビアから呼び出す
>>12 それじゃVとVMが分離できないじゃない。VがVMに依存しちゃう。
メッセージを「ブロードキャスト」して通信する以外癒着しちゃうよ
>>19 VM に V を参照させろとでも?V が VM に依存しちゃいけないの?
21 :
デフォルトの名無しさん :2011/11/08(火) 18:41:11.29
>>18 >コードビハインドで受けてVMのメソッドを呼ぶ
ここまでは当然だが、メソッドの粒度を大きめにすべきか
小さくしてロジックをコードビハインド主にするかのさじ加減はどうでしょうか?
質問が細切れになってすいません
VはVMに依存するはずだけどな VMの「型」には依存しないけど
参照の向きだけで言えばVMはVを間接的に参照してるぞ だから変更通知が行われるんだよ Vの「型」には依存しないけど
>23 ああなるほどね。でもそれはプログラマが意識することじゃないよね。
おれらMVVM教の教義のためにやってるんじゃないんだからさぁ 「(デザインとコードを)分離できる」というメリットがないならMVVMやる意味なんてかけらもないんだよ それ無視して「MVVMとは〜」って、意味ないよねそれ
前スレでtabcontrolへのコントロールの動的追加で教えてもらったものです。
もう1ヶ月半前になるのですが。
ttp://ideone.com/iRw1H このサンプルコードを作ってもらってあれこれやってましたが、
どうもわからんことがあって解決できんので教えてください。
Items = Enumerable.Range(0, 10).Select(n => 10 + r.Next(60)).ToArray();
を
Items = Enumerable.Range(0, 100).Select(n => 10 + r.Next(60)).ToArray();
に変更してビルドして動かし、addボタンでタブを追加して表示されたlistviewをスクロールすると、
タブにある全てのlistviewのスクロールバーが連動してうごきます。
連動しないようにできないものでしょうか。
>25 メリットを感じるならやる必要あり。 メリットを感じないならやる必要なし。 メリットが判らぬならうんこっこすべし。
>25 イベントハンドラで頑張ってねw
おまえらすっかり忘れてるけどコードビハインドじゃなくてxamlの中にC#書けるんだよね
んなのPC98の頃から知ってるわ。
>>26 ListViewがタブごとに生成できてないってのは想像ついてるか?
>29 Xamlの中にLisp書けるのは知ってるが、それは知らなかった。
つーかWPFがMVVM前提でできててイベントハンドラはおまけみたいなもんだから リスト関連のコントロールとかは仮想化まわりで変な挙動したりリークしたりする リークはさすがに何とかしてほしいが
>33 そう。幾つかのイベントで Forms じゃ考えられないおかしな挙動をする。 フォーラムやフィードバック見ると、幾つか問題報告されてるよ。
だからMVVMで組んだ方がそういう意味でも楽なんだよね・・・ SLでもそうだが
>>5 自分でTriggerAction作ってやってるな
てか、こうやるのって少数なんか
いやまぁコードビハインドに書くより手間はかかるけど・・・
livetのサイト繋がらないんだけど
MSに組み込まれたとか…
更新忘れて権利がなくなっただけじゃないの 見る限り
更新忘れてただけっぽいな
WPFのC#コードとXAMLの関係は HTMLとCSSの関係みたいなもんか! デザインに関する部分をべつふぁいるにするーみたいなー?
それ言うならHTMLとJSだろ。
レイアウト/スタイル/コード HTML/CSS/Javascript XAML/XAML/C#
全然違う スキームが違う HTMLはレイアウトすら担当してない
>>43 それをいうならこうだろよ
レイアウト/スタイル/コード/サーバーサイド
HTML/CSS/Javascript/Java servlet
View(XAML)/View(XAML)/ViewModel(VBorC#)/Model(VBorC#)
htmlは意味づけされた文章やブロックが乱雑に突っ込んであるだけ レイアウトは別
43の言うレイアウトは構造の話じゃないのか
>48 最近の話かと思ったら放置プレイかよ・・・
ViewModel側で今デザインモード時かって分かる方法ありますか・・・?
何かがnullを返した気がする
BlendってListView.GridViewColumnのCellTemplateやHeaderTemplateって対応してないのかな。 (XAMLをいじってTemplate作ってからなら参照できるけど・・・) DataGridでやれってことですか。
WPFおもしれぇ デザインしているだけでおもしろい でも、デザイン時と実行時のサイズが違うのはなぜだ・・・orz
ちゃんと理解しないでデザイナにたよりすぎるからそうなる
>>55 VSでデザインしてるからだろ。Blendだと実行時に近いデザインできるよ。
書いてる奴が必要だと思うところまでやれば良いんだよ MVVMではプログラマが死ぬ必要がありますと解説されていたら死ぬのかお前は
MVVM原理主義者なら、死ねと言われたら死にます。
まあ、いかにVの処理をVMに書くかという本末転倒な議論になってしまっているのは事実 コードビハインドを無くすことを目的にするのはよろしくない
>>62 XAMLにデザイナー用の寸法が入ってる場合があるよ
さすがにXAMLのイベントトリガの中でメッセージ出すのは本末転倒だと思う 結局XAMLにコード書いてるだけじゃねえか
>>62 VSはデザイナでXAMLを正確に表現できません。特にエフェクトは絶望的。
唯一のメリットはユニットテストくらいか?
どっちみち
>>64 みたいなのはView表示してみないとテストできんでしょ
完全にコードビハインドを書かないことが目的化していて
XAMLにロジックが入って(MVVMではなくWPF本来の意味での)コードとロジックの分離も崩れて
コードよりデバッグしづらいしXAMLの見通しも悪くなる
68 :
67 :2011/11/14(月) 11:40:09.90
ビューとロジックの分離 の間違い
主流がどこに移るかは旗振り役次第だ MVVMの次は何だ?
メッセージボックスを出すのはViewの領域だと思うやつもいる VMがメッセージボックス出さなくてViewに委譲すればメッセージボックスじゃなくてステータスバーに出したりできるかもしれない
>>65 まじかー、Blendがある以上、MVVMみたくビュー関連はそっちにまかせるって感じになりそうだな
VSはいずれコードしか書けない重いテキストエディタになりそうw
VSも11でBlendの機能かなり取り込むけどね。
コントロールの1つのプロパティに複数のバインドができないからな やれることには限外がある
>>70 同意。確認メッセージやファイルダイアログ程度なら、Viewに責務持たせてもいいじゃん。
Viewでもいいけどコードビハインド書けって話 ボタンが押されたらダイアログを表示する処理をXAMLだけで書くのは そりゃただの「XAMLプログラミング」だ
ファイルダイアログ程度 ジョークだよな?
>>75 イベントハンドラでViewModelのコマンド呼び出すんですね。よくわかりますwww
どいつもこいつもメモリリークのこと考えてないだろ。
ビヘイビア化しておくとわざわざその都度コードビハインドに書かなくてよくなるんだよ あと仮想化関連でのハンドラの奇妙な挙動やリークとかも防げる
81 :
デフォルトの名無しさん :2011/11/14(月) 12:05:50.32
>75 ダイアログ表示するならVMじゃね?コードビハインドいらんだろ。
VM->Vの通知にメッセージ使うのは誰も否定してないでしょ 別にInformationDialogInteractionMessageActionの類をやめてコードビハインドで実装したところで 全くメモリリークの原因にはならないし他の何かがビューに依存するわけでもない
ビヘイビアを100%Vだと言い切ってるのか?
ぐおおおおおおおおおおおおおおおおおおおおおおおおおお internalじゃバインドできないのか!!! 俺の5時間かえせええええええええええええええええええええ
>82 ん?VMにコマンド定義してるのに、YesNoダイアログをViewのクリックイベントで表示? どちらのボタンが押されたか、どうやってVMに通知するの? 試しに実装してみそ?
Blend使っている人からすればMVVMにすれば楽なのかしれないが xamlを手打ちしてる俺からすれば xamlにいろいろやらせるために頭ひねって長ったらしいコード書くより コードビハインドとかでパパっと書いた方が圧倒的に早いんだがw
YesNoダイアログでYes押したときとNo押したときで違うコマンドが実行されるようにすればいいんじゃね
もちろんDebug.WriteLineとかもVにやらせるんだよな?
>86 Blend使わない人からすればコードビハインドにすれば楽なのかしれないが Blendを使ってる俺からすれば Viewにいろいろやらせるために頭ひねって長ったらしいコード書くより Blendでパパっと操作した方が圧倒的に早いんだがw
>>87 あのう・・・コマンド、Buttonにバインド済みなんですが・・・
VとVMどっちにやらせるかってのは Vを削除してもエラー無くコンパイルできるかって考えてやってる
>>85 実際
>>58 はそれをXAMLだけでやってるんだよ
それで済む状況はもちろん限られるけど、その場合にビヘイビア使ってXAMLだけで書くか
コードビハインドで書くかという話
もちろんそういうの無しで全部VM経由でっていうのもアリ
めんどくさいだけで利点無
BlendのExpressEditonとか出してくれよ・・・ 1回触ってみたい 体験版じゃ1回期限切れたら二度と使えないからなー
なんという思想家のむれ バカが
こういうのが業務に流行ると物が全く仕上がらないね
なんせ重い重いとしか言わないスレだからな どうせリークとか考えないやつらばっかりなんだろ
ブレンド高いとか言ってるけど、それくらい自分で投資しろよw
次のが待ち構えてる今わざわざ買うかよ
ヒント:仮想マシン
趣味プログラマの学生に買えるかわけないだろw
もうBlend買った俺には関係ない話だけど
前みたいにBlendとVSセットのお得なパッケージなんかはあっていいと思うけどね。
>>101 学生なら格安のアカデミック版があるし、DreamSparkでVS 2010 ProとExpression Studio 4 Ultimateがタダで貰えるじゃないかw
たしかに、VSとBlendのパック欲しい まぁ私は学生なのでDreamSpark
104 :
デフォルトの名無しさん :2011/11/14(月) 12:38:32.76
>学生なら格安のアカデミック版があるし、DreamSparkでVS 2010 ProとExpression Studio 4 Ultimateがタダで貰えるじゃないかw うををを!!!!!こんなのあったのか、マジスゲェ!!!!早速申請して使わせてもらおう!! さらばVS!!今日から俺もBlend使いになるっす!!!!
Phoroshopとかは学生時代に買うのが基本だな
@ugaya40は
>>59 をお気に入りに登録しました
>>106 つっても、自己流MVVMとかやっても大抵良いことにならんだろ。
まぁ、俺の勉強不足だろうが。
プログラミングに限らず、なんでも自己流は良いことはない
MVVMだって最初は自己流だったろ
バカな俺たちはVMとVの関係なんてprism様に任せときゃいいんだよ。 たくさんのセオリーを提供してもらってんだから。 つか、MVVMの実装って実際VVMな気がする。
>>110 確かに。俺はVVM派です。VMとMの分離が面倒ですw
>>111 VMとMの分離ってなんぞ?
つか最近、MとVMのラップがメンドイ。
Silverlightだとwcf ria servicesで更にめんどい。
DataContext
↓
DataContextのラップModel
↓
DataContextのラップModelのラップViewModel
これって実装方法間違ってんのか?
ビジネスロジックMと、インターフェースデザインVと、アプリケーションVMの3つに 「作業的に」別れなきゃいけないんじゃないの 同じxamlファイルやcsファイル二人で書いて問題起こさないならいいけど
VMとM分離しなきゃMが表示用の追加情報のプロパティを用意することになるんだが まさか全部コンバータで代用させるわけにもいかんし
>>58 に続きが来てるな
もともとViewで完結できるちょっとした処理だからViewでやってしまおうということで
ビヘイビアで書いたのに、それをVMに移してどうする
コードビハインド使ってはいけない理由に全くなってないじゃん
メッセージボックスの表示とかをVMから分離したいなら、その分離先はVじゃなくて、 別の仕組みを使うべきじゃないのかなぁ。
>>115 前提が違う。
まずコマンドのバインドが大前提として存在し、ビヘイビアを使って View で完結できる。
>>116 別の仕組み ―> ビヘイビア使ってんじゃんw
Viewでビヘイビアを使うことで分離するんじゃなくて、 IMessageBox的なインターフェースをVMにインジェクトする的な。 メッセージボックスはVでもVMでも無い扱い。
>>117 ならコードビハインドからVMのコマンドかメソッドを呼び出せばVで完結する
どうしてもV->VMの密結合が許せないならもちろんその方法は使えない
宗教じゃないんだからそんなもん状況に応じて考えろよ
Blendって単体で売ってないのか Expression StudioのUltimateの中に含まれてるだけだよね 興味あるのBlendだけで、それ以外欲しくもないのに…
>120 バカじゃね。 だったらVMにコマンドなんか用意せず、メソッド呼び出すだけの話じゃんw その時点でMVVMじゃなくなってバインドのメリットがなくなるけどねw
MSはMVVMのコードビハインドを容認してますが
意味だけを追い求めるのは哲学的に紙の上でやってくれ
コードビハインド自体は否定しないよ。実際コードビハインドでないと対処できないこともある。 ただしボタンクリックイベントハンドラでViewModelのコマンド呼び出すのはアホとしか思えん。 だったらバインドせずに全てコードビハインドに実装するか、 ViewModelのコマンドに全て実装するか、 ビヘイビア使うかの三択になる。
アホと思っててもいいから引っ込んでてくれ この話はおしまいな
本来バインディングの機構のところ以外はWPF関係ないからMVVMはスレ違いだろ
コードビハインドはリークの危険があるし、イベントによってはおかしな挙動をする。 VMに全て実装すればいいが、ダイアログの表示もすべて含めるとテストしづらい。 でもビヘイビア使えばバインドもできるしテストもしやすくなるので楽になる。 開発の手間も、ブレンド使えば全く苦にならんしね。
ugaya40さんのサイトがiPhoneで見れないです 落ちていませんか?
リークするのはDataTemplateの中で利用されるようなケースだろ? 子と親(コントロールとコードビハインド、またはコードビハインドとVM) の寿命が一致する限りは問題ないんじゃないの。 イベントの挙動はビヘイビアだって結局イベント使うし。 そういう心配事が減るというのは確かにメリットだろうけど
まだドメイン戻してないのかよ
いま急ぎでMVVM学習中なので、 早く復旧してクリ
>>130 >子と親(コントロールとコードビハインド、またはコードビハインドとVM)
>の寿命が一致する限りは問題ないんじゃないの。
それは仰る通り。問題はVMやMの寿命が長いケースだよね。
そこで心配事はMVVMフレームワークに押し付けるのがベター。もちろんベストとは言わないけどw
あとイベントトリガーが弱参照ならいいんだが残念ながら強参照。
探せばイベントトリガーを弱参照で実装してるフレームワークもあるかも知れんが。
>>132 CodeZinかどこかにUgaya40の記事なかったっけ?
8GBの時代でメモリリークなんて大したことないわ おれはコードビハインドに書く
VとVMは概念上の区分で本来1つだし、Mは完全独立でどこにも影響出さないはずじゃないの もしツリーに取り残されてリークするなら設計ミスのひとことで片付くはず
大量のデータが表示される部分にリークがあれば 8GBなんてあっという間に消える。
よくあるテキストボックスをクリックすると文字列が全選択するってやつ WinFormだとMouseDownイベントでSelectAllしてやればいいだけだったのに WPFだと、MouseDownでもMouseUpでも何しても選択後解除される TABキーで移動した場合はGotFocusだけでいけるけど どなたか教えてください
firefoxのメモリリークは目に余る
コントロールのイベントにコードビハインドのイベントパンドラを突っ込む場合、 コントロールがコードビハインド側を参照するだけだから コントロール側が再作成されようがコントロールのGCの妨げにはならんだろ そもそもほとんどの場合寿命も一致してるはずだけど
そしてその後WPFは重いとのたまうわけだな
1万件バインドでリークしてたらさぞかし壮観であろう
どうせなら、最初からイベントハンドラ使えないようにしとけば、こんな問題発生しなかったのに。 設計チームの根本的ミスだと思わないか。
>>143 メモリリークが問題になりうるのはVMのイベントにコードビハインドのイベントハンドラを登録する場合なので
WPFとは直接関係ない領域
>145 VM使ってなくてもリークはありうるよね。
WinForms的な使い方する限りは問題にならんがな
ラジオボタンなんだこれ IsCheckedをバインドできないじゃないか こんな必要最低限の機能もないって ほんと糞だなWPF
マジかよとんでもねえな 断固として抗議すべきだなハハァ〜ン
151 :
デフォルトの名無しさん :2011/11/15(火) 02:05:02.88
つか、WPF使ってる奴ってFormsからの移行組が大半だろ? 何から何まで違うんだから、そりゃ悲劇が起きるだろうよ。
MVVMなんて高レベルの技術者は片手間でしかやらないけどな。 技術者コミュニティでも内心バカにしている人は多いよ。
MVVMって分離することで改良に強くなるっていうけど 分離するために時間かけて書くより ゴリゴリ書いた方が何十倍も速いよな 実際Vを一新するようなこともほとんどない あくまで、MVVMとして完成されたものと、 依存しまくりのVVMと比べると改変が早くて楽ってだけで 1から作成してViewを別のに差し替えるまでを比べた場合でも WinFormで依存しながら書いた方が圧倒的に速い デバッグも糞重くメモリリークに使えないコントロールだらけのWPFはハゲが進行するだけ
これだけ議論を続けても未だたいして進歩が無いということは MVVMというパターンに根本的な部分に無理があるんだろう。 MVVM以外の洗練されたパターンを求めたほうがいい。
今時、データバインド無しで書くなんて ありえないだろ コードビハインドに全て書くのは楽なだけで、今のアプリ設計には合わない
>>149 うおおおおおおおおおおおおおおおおおおおおおおおおおお
3.5のバグかよwwwwwwwwwwwwwwwwww
コンバーターとかよくわからねーのやろうとしたりwwww
4.0にしたら一気に解決したわwwwwwwwwwwwww
それに中身のないアイテムがListboxにバインドされてた場合選択できてたバグとか
いろいろ解決したわwwwwwwwwwwwwwwwwwwwwwww
このバグ対処に10時間かかったわwwwwwwwwwwwwwwwwwwwwwwwww
何で誰も教えてくれないんだ? お前ら愚痴だけでWPF使ってないんじゃねーのwwwwwwwwwwwww
コードビハインドに書きまくってたらメンテが死ぬわ
そんなので死ぬかよw
しきりにXAMLにコードのようなもの書きたがるの見てると 今は亡きJavaFXみたいにスクリプト使うのもメリットあったんだな HTMLにJavaScript混ぜるくらいが一番良かったのかも
考え方として V開発者がこの機能に見合ったものを作れって要望をVM製作者に伝えるのか VM開発者がVに対してこれらのデータを表示するようなもの作れって考えるのか どっちがいいの?
>>157 わざわざノウハウをタダで提供するのは馬鹿
必要な勉強量ではネイティブと比べて全然難しくない
それがばれると困るんで黙ってるだけw
希少だが無価値で将来廃れる技術で儲けるのが.NET開発ですから
↑こういう思考って無能だよな 抱えるほどの知識もないくせにw
今出ている議論のレベルがそんなにたいしたものでは無いというのには同意だけどね。 煽りや混乱するような発言も多いだけで、OOの基本や責務の分離がわかっている 人にしてみれば、MVVM自体については長々とどうこういうことも無いと思う。
ところでWPFとSilverlightに挟まれて微妙なXBAPはどうなった? SilverlightがVer3になった頃から元気がない。
WPFアプリの配布と動作の一形態ってだけだろ 閉じた環境で使うもんであって特に普及とか気にするもんではないと思うけど
MetroがでたらWPFからまた新しくプログラム作り直しか ははーん
>>163 俺みたいな初心者の質問ですら恐れるお前って
相当レベル低いんだな
まともな解説サイトやってる人って高学歴のエリートが多いよな
この程度の知識教えたぐらいで俺を抜けるわけがないって自信があるんだろう
ていうより、人間が出来ているんだろうな
2ちゃんなんかでの質問者程度に仕事奪われると危惧しているようなマヌケじゃないのは確かwww
その時がチャンス! 秀丸とかシェアならまだしもフリーソフトがすぐにWPFやWinRTに移植されると思う? 下らん雑音は無視で今からMETROを研究するのが勝ち組
日本語でおk
MVVM自体というかMVVMの実現の方法だろ パターンとはいえ解釈の仕方は人それぞれ 一番効率的だと思うやり方でやればいい
>>163 マイクロソフトみたいな名のある会社で働いているような人は
ここなんて見ないし、仮に見たとしてもお前みたいな発言は絶対しない
そういう発言自体、自分を貶めていることに気付かないなんて
ほんと恥ずかしいですねぇ
つか、すぐ回答欲しけりゃMSDNフォーラムで質問しろよ。
煽って情報を引き出すってやり方にうんざりしてるんだよ。 情報が欲しいなら「糞だな」じゃなくて「教えてください」って言わないと。 特にWPFの場合は糞だってことは皆同意してるので、 情報を持ってたとしても、反論する気にならないしな。
>>166 XBAPは即死したがSilverLightも終わりかけ
Metroで復活するかっつとしないと思う
XAMLは受け入れられなかったんだよ・・・
何言ってんだコイツ
winformには閉じるボタンを描画出来るクラスがあったけど WPFにはないんですか?
無いんだよ糞だねー
スマホですらあれだけ軽いGUIなのに どうしてハイスペPCでこんな糞重いアプリができちゃうんだろう OS共々糞だな
重くならないよう作る能力もないのか
WPFが悪いんじゃなく、コントロールに問題が有るだけだってのな 動作速度をチューンしたかったら、カスタムコントロールで頑張れ
デフォルトで用意されてる部品が糞なのはプラットフォームの責任じゃないんですかそうですか
デフォ部品は、動作の軽さよりも柔軟性を重視してるっぽいんだよなあ 出た当時は重いと言われ不評だったVistaが、 今では「良いOSだったよ。当時のローエンドPCではスペック不足だっただけで」と言われるくらいだし 後数年経てば、WPFも然程重いと感じない様になってそうな気もする
どんなに頑張ってもC++には敵いませんけどねww
アンチは放置で 次のフレームワークは簡単にドッグアンドドロップで itemを入れ替えられるようになっててほしいなあ
言語とフレームワークを比較するとか馬鹿なの?
>>186 それは俺も標準で欲しいわ
後、XBAPとSLは統合してくれていい
並べ替えは単純に考えてもCollectionViewの兼ね合いとかソートの状態とかあって 一筋縄では行かない気がする
190 :
デフォルトの名無しさん :2011/11/16(水) 03:24:15.83
CollectionViewと言えば、まともにカスタムソートできるようにして欲しいわ
Windowsの外観の基盤
@ITに繋がらないのは俺だけかい?
VSのデザイナーだめすぎるな Blendで作ってたやつ再現できてないのが多すぎ・・・ 次では改良されてることに期待しとこう
改良されたらBlend売れねーだろ 誰がするんだよ
便利なビヘイビアください
Blend SDKにたくさんついてるぞ SDKは誰でもダウンロードできる
Livet でたくさん提供されてるよ。
Livetって、 > 今は2011年5月。6月にはドキュメントの整備を終えて、6月中にver 1.0リリース。おそくとも7月には英語化を始めるつもりです。 って宣言したところで時間止まってない? ドキュメントもまだ全然ないみたいだし、ネットでググったりしても情報見つからない。 メッセンジャーだのトリガだの色々あるみたいだけど、ドキュメントも何もないから使い方さっぱりわからん…
bitbucketの方見れば進んでるの分かるぞ 使い方はサンプルとブログ記事くらいしかないが
自分で作るのも楽しいよ
文字に縁取り?できるラベルってないですか?
リストで一覧表示されてるデータを選択して修正ボタンを押下すると、サブ画面が表示されて修正できるよう作っています。 修正前にBindingGroup.BeginEdit、終わりにCommitEditを利用したいのですがMVVM的にはどこでよぶのでしょうか。 サンプルサイトありませんか。
204 :
デフォルトの名無しさん :2011/11/17(木) 10:27:39.56
在庫管理ソフト作ることにしたんだけど、 データベースいじるなら今は Entity Framework 使うのが 鉄板? スタンドアロンで、パフォーマンスが問題になるほどデータも多くない んだけど。 NHibernate とか Linq To SQL とか System.Data.SQLite とか いろいろありすぎて何使えばいいかわかんないよ、ママン
Accessでいいよ
>>204 EF+SQL Server CE 4.0が鉄板だね。
208 :
204 :2011/11/17(木) 23:32:05.18
>>207 そうなのか。ありがとう。
プログラムは本業じゃないんだけど、
一応仕事で作ることになったので
鉄板の環境で作っとくのがいいのかなと
思ってぐぐったけど、わかんなくって
困ってたんだよ。
安心して EF について勉強するわ。
Code First 便利そうだけど、
鉄板で作りたい場合は
時期尚早だよね?
「君が組んだこれ、印刷できないの?」 「え…?」
PrintScreenでも何でもやってくださいよ 知能が足りないな
でAccessで簡単にリプレースされるわけですね
TriggerActionに依存プロパティでICommandを作ってBlendで貼り付けてみると その他のところに表示されてデータバインドできるのに Behaviorで依存プロパティICommandを作ると Blendからは表示でCommandトリガーになってデータバインドできなくなるのですけど仕様?(XAMLを自分で書けばバインドできるけど) TriggerActionと同じようにマウスで簡単にバインド先を選ぶようにできませんか??
>>209 ,210
XPSで出力出来る様にしとこうぜ
「XPSって何?PDFじゃないの?」 「え…?」
>>214 調子のんなよXPSとPDFは信大と東工大くらいの差があるぞ
「ここでも動かしたいんだけど?(Win2000)」 「え…?」
PDF → Readerのインストールが必要 XPS → OS標準 このアドバンテージをさっぱり活かせていないのが何とも
>>216 Hey !
サポート切れのOSなんざ窓から投げ捨てちまえよ、HAHAHA!
WPFアプリをWinFormsで作り直すときの敗北感といったら
Flow Document や Loose XAML から XPS か
SilverlightのライブラリにもXPSを標準で付けるべきだったのだ…
Windows
出力とかExcelでいいよ (あれっ、Accessでよかったんじゃ…)
LightSwitchェ…
WinFormsで糞コード書いてたけど WPFでMVVM試したら、なんだろうこれ 完成したときの安心感安定感がハンパないな 一番ややこしい部分が綺麗に書けるから どこに問題あるかわかりやすいし メンテしやすい
どこを縦?
>225 お前は俺かwww
ローカライズってxamlのResourceDictionaryでやったほうがいい? 文字列だけだったらリソースファイル(resx)で問題なさそうなんだが
>>228 WPFの場合、ResourceDictionaryが定番です。resx は XAML が改行を認識できない。
表示画面の高さや幅ってどうやって取ればいい?
>231 ActualHeight / ActualWidth
えっ!
えっ
えっ?
これで良いだろ?
(実行環境はWindows PowerShell ISE)
--------
Add-Type -AssemblyName "PresentationCore","PresentationFramework","WindowsBase"
$view = @"
<Window xmlns="
http://schemas.microsoft.com/winfx/2006/xaml/presentation " Name="MainWindow">
<Window.Title>Test App.</Window.Title>
<StackPanel>
<Button Name="GetHeightButton" Width="128" Height="23">ActualHeightの取得</Button>
<Button Name="GetWidthButton" Width="128" Height="23">ActualWidthの取得</Button>
<TextBlock Name="DisplayText" Width="64" Height="23" />
</StackPanel>
</Window>
"@
$window = [System.Windows.Markup.XamlReader]::Parse($view)
$window.FindName("GetHeightButton").add_Click.Invoke({$window.FindName("DisplayText").Text = $window.ActualHeight})
$window.FindName("GetWidthButton").add_Click.Invoke({$window.FindName("DisplayText").Text = $window.ActualWidth})
$window.ShowDialog()
質問の仕方が悪かった 表示画面解像度ってどうやって取ればいい?
SystemParameters
プライマリだけなんだ マルチモニタは非対応と仕様に入れとこう
240 :
デフォルトの名無しさん :2011/11/19(土) 14:19:10.99
>>239 System.Windows.Forms.Screenクラス使えば大丈夫
非対応にしておきます もし要望があれば有料で対応しますw
ViewModelにViewを適用できるんだな。 TabCtrlでやってすげーとか思ってしまった。 おら久しぶりにわくわくしてきたぞ。
>>236 PowerShellでも出来るんだなあ
出来るのは知ってたが、PowerShellからWPFのウィンドウを出す有効な使い方は思い付かないな
BitmapImage等のWPFで扱う画像なのですが、MSDNを読むと 画像ファイルと、読み込んでデコードされた画像との間にキャッシュがある感じですが なぜキャッシュが必要なのでしょうか? 一旦デコードされたらキャッシュは必要ないと思うのですが。
必要だと思った人がライブラリに追加したはずなのでその人に聞いてください 我々が追加したわけではありません
デコードされたイメージはサイズが馬鹿でかいからだろ 表示してない時は実イメージ消去しておけばいい
それ以前に5000x5000とかやろうとして失敗するのはいかがなものかと思ってる
画像周りのメモリ管理は酷いな。 頻繁に画像の生成と破棄を繰り返す場合、 手動でGC.Collect()を呼び出してやらないと例外がスローされる。
ScrollViewer.MouseLeftButtonDownが反応しやがらねぇヨォォォォ
下層の誰かがHandledしてるだけだよ Preview見ろ
c#wpfまわりの学習をしているが、 ufcppさん、 ugaya40さん、 neueccさん、らが書いている記事が良く出来といる事がわかった。 この3巨頭が書いていること、発言していることか、すらすら読めるようになるまで 勉強を続ける
ご勝手にどうぞ 今日も8時間かけて書いたソースが消えた… VSをもっと何とかしろよ
ビジュアルソースシュレッダーってあったね
あまりに唐突すぎてションベンちびりそうになったわ 貴重な日曜返せよ…
8時間セーブなしで書いてるのか? それは凄い、けど、VS以前にやり方を見なおしたほうがいいような
eclipseでも落ちるわそんなもん
しょっちゅう無意識にctrl+s押してるわ
>>249 そうなんだ?
かなり頻繁に画像表示を繰り返してる…というかリストの中に最低1画像(行数1万ぐらい?画像フォルダは5GB超) をスクロールとかしまくってるけど例外は出たことないな…
さすがにメモリは結構喰ってるけど、取り敢えず例外も気をつけとくか…
ブルースクリーンで落ちて、ソースが全て空白文字で埋め尽くされたことならあった。 運良く前日にバックアップを取ってあったから1日分の作業データが飛んだだけですんだけど、バックアップ取ってなかったらと思うとゾッとする。 それ以降はバックアップを頻繁に取るようになった。
きみらパソコン大先生なのにハードもアナログで劣化して壊れるってこと忘れてるよね メモリ診断とかやったことないんじゃない?
>>259 画像だけでなく、マネージドなオブジェクトもある程度使用している場合は
GCが起動し、ファイナライザでネイティブメモリが解放されるので、
わざわざ手動でGCを呼び出さなくても問題ない。
あと、64bitプロセスでも例外は出ない。
また、Imageコントロールでは画像のデコード中に発生した例外は
内部で握りつぶされるので、例外ではなく画像が表示されないという形で異常が現れる。
>>262 なるほど…マネージ使ってるのと64bitのみにしてるために出てなかったのか…
タスクマネージャーレベルでは一定の間隔でメモリ減ってるし…
勉強になったわ、ありがとう。
オートセーブ設定くらい皆してるかと思ったは
つうか、個人の趣味でも構成管理サーバくらい使えよ オープンソースじゃ無くても無料で使えるのいくらでも有るだろ?
構成管理サーバって何?
あれ expressバージョンはオートセーブ機能とかなかったんだっけ
すれ違いだけどGitとかいいんじゃない? と言ってみるテスト
あとVSなら普通ビルドすれば保存されるよね。 これもすれ違いだが。
>>252 ugara40氏は、確かに凄いとは思うんだが
どうにも、「MVVM原理主義」っぽさがなあ。
以前は馬鹿を誘導するのに有効だと言っていたが、結局 理解してない奴に強制しても無駄だという当たり前の結論に達したようですね
誰にでもわかる当たり前の結論を予想してないのが馬鹿ってことだろw どこにでもいるよな 頭のいい馬鹿がw
どの世界においても尖った先駆者は必要だよ。 おかげでよくも悪くも技術に対する理解が広がる。
頭のいい馬鹿は褒め言葉
ugaya40に抱かれたい
とりあえず日本語でMVVMの本書いてくれ。
英語も分からない奴がプログラミングする意味が解らない 低学歴には無理だよ
ugaya40さん、wikipediaの日本語版では、まだ、mvvmの項目が未編集です。 ぜひ、編集してください。
[要出典]
MVVMは次の仕組みまでのつなぎっぽい気がする
>>281 俺はMVVMでいいけどなあ。
但し、ちゃんと整備されたインフラが 「MS公式から、標準で」 提供される事前提で。
MVVMの次ってーと、どんな仕組みが良いと思うよ?
WinRTは現状のMVVMで戦えるの?
戦えるけど WinRTはあまりにも不完全
WPFのCommandって、いまいちよくわからない… 複数のボタンやキー操作から呼ばれる場合は、CanExecute定義しておけば 1つ1つenabledをオンオフしないで済む、っていうのはメリットだと思うけど、それだけ? それ以外に何かメリットあるんでしょうか?
次はイベント層が区別されて4層になるよ
元々はコマンドはRoutedCommandにイベントハンドラ引っ掛けて使うもの ショートカットキーやツールバーやメインメニューから共通の機能を呼び出すのに使う バインドして呼び出せるからってPMの実装に流用された
手法の利点が見えないなら自分がいちばん簡単だと思う方法でがしがし書けばいいんだよ おれらがgdgd言ってるのは見通しやすさとか保守性とか複数人での開発とかの話だし
だよねぇー仕事で使う物を左右できる立場にいないくせに 大丈夫だよWPFなんか出てこねえから
面接でWPFやってますって言ったら 何それ?って言われた
むかし面接でDelphiやってますって言ったら 何それって言われたなあw
俺なんか仕事場でMVCの話して何それって言われたわ
Web系じゃなけりゃ、まあ…
無能だから人事やってるわけだからな プログラムなんて全く分からないだろう
日本のitは、技術軽視だからな 人売り第一だもの wpfなんて覚えても儲からないなら、やらない奴ばかり。 技術を極めようとする気がない。
人売りはとりあえずPHPとJavaしか求めんからな
プログラマーが日本で生まれると損をする。 アメリカならリッチな暮らしが出来るのに。 日本でプログラマーだと、社会的階級が低くて貧乏。 技術に興味がない人売りがIT業界での地位が高い。 日本に生まれて損した。
今からでも出てけよ 止めないぞ あるいは来世に掛けるとか このまま不毛な時間を過ごすのか?
プログレスバーがCPU食いまくる
xamlって圧縮されないままコンパイルされるんだな スキン増やすとその分だけファイルがでかくなるし スキンのコード丸見え
bamlになってるだろ? 縮むわけじゃないけどそれいったらC#もまる見えだし
Windowをbmpやpng画像の形でリージョンしたいんですが どうやるんでしょう??
AllowsTransparencyとBackgroundでWindowの背景透明じゃダメ?
windowsstate
306 :
303 :2011/11/24(木) 09:26:45.55
プログラムの仕事したことねーけど WPFってクライアント側に需要あんの? たとえばボタンが普通のWindowsっぽい、地味な灰色で四角いやつより radiusなんちゃらとか使って角を丸っぽくしてアニメーションしたりグラデーションかけたりしたボタンのほうが 需要あんの?
現状ないが、 たまに作り手側を考慮しない奇形UIを提案する顧客とかに対応する事ができる。しないけど
WPFで作ったら糞重くて使えないってクレームが来ました
データ依存だっけ? テキストボックスにカラーコードを入力したらWindowのbackcolorだかbackgroundだかの色がそのまま変わるみたいなやつ Windows formだといちいちonclickだとかonchangeだとかにごちゃごちゃ書かなきゃいけないけど すっきりかけて良い。 WPFはよくわからんけどあの相互関係プロパティ機能だけは便利だと思ったよ。
データバインディング?
>>307 「ビジネスアプリでオリジナルスタイル使うんじゃねーよ
出来るからとりあえず使うとか子供か」、ってMSのガイドラインが言ってた
richtextboxのwidthってコンテンツの幅に自動調整できないの? 海外のサイトじゃできないって書いてあるけど
>>307 需要はある。
他のフレームワークでは面倒だが、WPFなら簡単にできる事を要求されることは結構ある。
ただし、
> たとえばボタンが普通のWindowsっぽい、地味な灰色で四角いやつより
> radiusなんちゃらとか使って角を丸っぽくしてアニメーションしたりグラデーションかけたりしたボタンのほうが
> 需要あんの?
こんなものに需要はない。
株関係のアプリケーションのように、顧客の求める機能を詰め込んだ結果、
派手なデザインになってしまうことはあるが、
派手なデザイン自体に需要があるわけじゃない。
>>308 開発者にとっては奇形UIでも、
顧客にとっては業界の常識に則った直観的なUIだったりするんだぜ?
そう考えたらMVVMなんかあんまり意味無いな WPF使うんならUIの要件がアレでコードからビューをクソ細かく制御してなんぼ
そんなもんカスタムコントロールやろ? NumUpDown付けてくれって言われたらコードビハインドで書く気かい
>315 俺が関わる案件はそんなんばっかだなw データを3Dやタイムラインで表示しろ。 エンティティをドラッグしてをラインで結合しろ。 グリッドの選択セルにイメージを表示しろ。 選択してない行にはイメージじゃなく文字列を表示しろ。 デザインもありきたりなデザインじゃなく、かっこよく作れ。 等etc。 だから WPF で開発するよう推奨してる。
319 :
デフォルトの名無しさん :2011/11/24(木) 22:41:32.68
>>316 Viewを細かく制御しても見通しが確保できるのがMVVMの利点だろ
>>318 いいなぁ。大変そうだが楽しそうでもある
>>318 やだ、カッコイイ。
まあ、MVVMは定型の処理向きという面はあるだろうね。
アドホックなUIを開発している人には、また違う検討事項があるだろうし。
Silverlightってなんなのよ JavaスクリプトやCSSみたいなもん?
>>307 Winタブであった
タブレットの場合、そもそも標準のボタンやチェックボックスなどのマウス想定のデザインは使わなかった
そのためグルーピングなどで色分けやグラデーションとかも普通に使ったし(仕様レベルで定義)、
画面遷移もWPみたいな感じで別ウィンドウとかあんま使わなかった
>>322 JavaAppletかFlashの方だ
325 :
318 :2011/11/25(金) 10:37:30.47
>319 そう、View と ViewModel と Model を完全分離できるので、各パーツを細かく管理できる。 コード量も大幅に減るから見通しがよくて変更時助かる。 客の要求でいきなり画面デザインやコントロールが劇的に変わっても、とっても楽に対処できるのがいい。 View は見た目や操作が劇的に変わるから、客には大変な工数かけてると思われるので、 1人工の工数で10人工分請求してもまったく文句言われませんw
見せ方(View) 表示する要素(ViewModel) 実際の処理とデータ表現(Model)
見せ方はVMだろ
コードが減ったかといえば正直微妙
そりゃコードが減るわけないだろ コードが移動することによって見通しが良くなるだけだ
人間がバイナリで理解できるようになればいいんだよ
331 :
38 :2011/11/25(金) 12:14:04.67
>329 いや間違いなくコードは減った。 何しろFormsの時はDataGridのセル内容をAPIで描画し直すとか反吐が出るようなことばかりしてたしw
>>326 見せ方(ViewModel)
表示する要素(View)
333 :
318 :2011/11/25(金) 12:15:55.39
>331 間違えた、318ね。
もともとオーナードローやってた人には良かったんだろうけど それはごく一部だと思うよ
>>332 見せ方(ViewModel)
その見せ方の実装(View)
リモコン(ViewModel) テレビ(View)
View View-SUICA PASMO
VMってインターフェイスだったのか
露出(ViewModel) ちんこ(View)
WPFとはMicrosoftにとってなんだったのか
WinRTへの足がかり?
フルーツゼリー(ViewModel) ゼリーの型(View)
ViewModel
イベントドリブンからデータドリブンへの回帰じゃね? 20年も前のWinではなかった時代はデータドリブンだったって先輩が言ってた
コマンドは普通にイベントドリブンだろ
一々指示しなきゃ動かなかったGUIが、自立して勝手に動いてくれるようになった って感じ。
それはないな エージェント志向ってどうなったんだろ…
日本はWPF使えるプログラマは本当に少ない。 WPFっていっても、名にそれ?聞いたこともないってのが95%くらい。 WPFを使いこなせるようになっただけで神扱いだよ。
>>349 なあ…その理屈だとさ。
俺達 「WPFを使いこなせる様になったよー」
95%のPG達 「何それ?聞いた事も無いよ」
こうなるんじゃね…?
95%は金にならないからやらないだけ
95%「何それ聞いたことない」
>>350 「WPFを使うとこんなことがこんなふうに簡単にできるようになるんだよ!」
95%のプログラマたち「おおすげぇ!こんな便利なものあったのかよ!
>>350 マジ神!」
こうなるんだよ
WPFがMonoに移植されればなぁ
>>353 DirectXが使えない環境に移植されても無駄だろ
355 :
350 :2011/11/26(土) 17:28:09.98
PGなら見た目よりイベントの仕組みとかに感動しそうだけど
ルーティングイベントの仕組みはクソ 依存プロパティの仕組みもクソ
C言語を勉強した人がC#を勉強するとガベジコレクションとかに感動する。 C#を勉強した人がVisualStudioとか使ってWindows Formで間単にGUIプログラムを作れて感動する Winformをやった人がWPFを使うと、その高機能に感動する。
添付プロパティはありえないほどクソ
依存プロパティの仕組みがいまだに理解できてない
Swingの重さに感動した記憶ならある
えっ!
>>349 > 聞いたこともないってのが95%くらい。
根拠は?
添付プロパティがなかったらGrid.RowもDockpanel.Dockも使えないじゃないか ButtonBase.Clickも
まあ職業PGでLISP知ってるやつも2割以下だろうし
DGのスクロールの糞重さに落胆 コントロールの少なさに落胆 IDEの糞重さに落胆 コマンド大量に書かないといけないからめんどくせ 結局PHPでいいじゃんってことになる
PHP5.3.7のバグを僕は忘れない テスト失敗しているにもかかわらずリリースを行ったコミュニティの目くら具合を忘れない
>>366 コマンドは別に、必須な物では無いんじゃね?
ViewとViewModelの結合具合を気にしないなら、イベントハンドラからViewModelのメソッド呼べば良いよ
スクリプト言語なんかと比べるんなら全部イベントハンドラに書けばいいよ
CallMethodActionだ
>>366 コントロールは自分で作るんだよ
自分でいろんなパーツ作りためておくと作るのがどんどん楽になってくる
その作りためた奴をうpしてくれよ
2chのどこぞの馬の骨にただで譲るくらいならコンポーネント集として売るわ
livetのヘルプというか、ドキュメントはないのか? 作成中なのかな?
>>373 お前の糞コントロールなんて売れるかよカス
>>373 みたいなケチが日本人には多いよな
大したスキルもないくせに偉そうにしてw
こうやって日本のプログラマは廃れていくんだよ
知識は教えても減らない むしろ集団全体としては増える 日本の国益を考えるなら 率先して教えよう
知らない香具師ほど出し惜しみする罠
海外フォーラムで聞け
むしろUIコンポの商売は海外のほうが主流な気がするが
ただの乞食だよね
乞食という割にはこんなスレ見に来ているのはどうしてかな? 解説の記事やブログ今まで見たことがないと? 日本のプログラマの底上げを促そうとしてくれている善意ある人達の 恩恵を受けておきながら、自分は社会に対して何も貢献しないとw 日本人同士でいがみ合っている間は海外には勝てないだろうな 有用なツールやソフトはいつも海外製 日本人はそれを翻訳する程度しかできないw ほんと腐ってるわこの島人
Win32APIスレとふらっとで定期的に海外について煽ってる人っぽいので、触らん方がいいと思いますね
147 デフォルトの名無しさん sage 2011/11/23(水) 11:31:00.97 人違いだから気にすんな 海外ガーは定期的に現れるアホだ 337 名前:デフォルトの名無しさん[sage] 投稿日:2011/03/16(水) 04:44:55.92 たかが名前の付け方のしつもんだけなのに 誰も答えられないし、言い訳ばかりするし えらそうに説教するし ほんと役に立たないスレだな そうやって敷居高くしてろよ 間口狭くしてろよ その結果糞プログラマしかいなくなって 海外のプログラマに負けた現状にヒーヒー言ってろよ 技術独占してケチ臭くした結果がこれだろ? 優秀なフリーソフトはいつも外人が作る ゲームソフトもすべて外人 日本人プログラマはゲームエンジンもフレームワークも作れない 自社製の糞重い時代遅れのゲーム作りつづけて倒産 ライバルが減るからいいやって思っているバカ 分母が減るってことはそれだけ需要も減るってことなんだよ 自分の首絞めていることに気付いてないんだなこいつらは 海外フォーラムなんて本当に親切に教えてくれるぞ おまえらにはもう頼まないバーカ死ね
136 デフォルトの名無しさん sage 2011/11/23(水) 05:35:46.12 プログラマも日本人より中国人雇ってやらせたほうが 仕事早くて人件費も少ないからな これからどんどんお前らの仕事なんて減っていくよw 海外フォーラム見てみろよ 皆で情報出し合ってソースも公開して国全体の技術力アップに貢献している 教えても意味がないやつもいるかもしれないが どんな質問にでも答えるという雰囲気がプラスに向かっていくんだよ 質問者一人に対して答えるんじゃなくてそれを見ている他の人にも伝える効果がある マンツーマンでチャットしてるわけじゃないんだからさwwwわからないのかねー 既に答えのあるものを、調べたり考えたりするより教わった方が上達早いんだからw そうやって助け合えば将来の担い手も育成できる お前らみたいなどうしようもないカスもおこぼれもらえるってことだよ 市場が完全に海外にシフトしたらお前らおこぼれももらえなくなるぞww 他の業種見て学べよwwww
日本語という日本人しか使わない特有の言語をもっとうまく使ってほしいね 日本語で解説しても日本人しか見ないんだから それさえもしたくないというのは日本人が嫌いなんだろうな 学生時代いじめられたのかな?w 日本から出て行けよ朝鮮人www それに比べて欧米諸国は母国語があるのにもかかわらず 英語で解説したりソース配布したりしている ほんと心広いよね 日本人でソース公開してる人なんていないよな カスみたいなサンプルソフトのソース程度しかないww そんな糞みたいなお前の技術を必死に守って何がしたいの?w
はい次の人ー
978 デフォルトの名無しさん sage 2011/11/17(木) 00:14:17.59
>>974 アホでもなんでもいいんで、やり方あるなら教えてください
教えられない理由とかあるんですか?
ケチ臭いね日本人って
有名なツールは大抵外人が作ったものだし
ほんとこういう煽りや出し惜しみするから
技術力で海外に負けるんだろうな
994 デフォルトの名無しさん sage 2011/11/17(木) 00:27:35.55
>>988 そんなことしなくてもできるのはわかります
だめだな、やっぱり日本人に聞いたのが間違いだわ
口だけの無能ばかり
海外フォーラムで聞いてくるわ
お前らみんな精神病みたいだな
お気の毒にw
996 デフォルトの名無しさん sage 2011/11/17(木) 00:32:50.78
日本人は口だけのカスばっか
有名なツールはすべて海外製w
日本にはクレクレ乞食しかいない
それもこれもケチで煽り屋で閉鎖的な気質が問題
俺がえらくなったらお前らみたいな日本人雇わない
すげえコンプレックス抱えてるみたいだな…
プログラムを組むのが上手くても分かりやすく解説するのが上手いとは限らんぞ
海外ではパターン変えて煽るツールとか開発してないんですかぁ?
>>390 うまくなくてもいいんだよ
何か人に貢献しようという意思が大事
それが日本人には欠けている
× 日本人には ○ 匿名掲示板には サンプルコードや公開ライブラリが欲しいなら、ブログでも漁って来いよ 2chに何を期待してんだお前
>>384 こういう愛国者の振りしたおっさんは
TPPについてはどう思ってるんだろうな()
つーかさ スルーしてくんない? スルーできないこどもならおそとであそんでてね
>>393 2chだからなんだってんだ?
言ってみろよw
2chだから荒らしてもいいの?
これだけ多くの人が集まるところで
こんなカスみたいなやり取りしかできない日本人って腐ってるな
>これだけ多くの人が集まるところで doubt
スルーしてくんないかな?
クスクス
>>397 じゃあここより人がコミュニティあるのか?
日本最大規模のコミュニティが
こんな糞みたいなレスしかしないなんて
日本人の恥をさらしているようなもの
そりゃ中国に負けるわw
スルーしろ
中国人に仕事覚えさせたのは日本人なのに コピー商品作られて文句言ってる日本人ってww自業自得だろw 向こうは原材料も工場も技術もある 日本にいるのは腑抜けたバカだけになっちゃったw もう日本終わりだね
せめてWPF絡みの雑談でもするか。 Style.TriggersとVisualStateManagerって、どっちを使うべきだと思う?
まるで犬の訓練だな。 相手してる奴は総じて犬未満か。 今後は犬見かけたらお犬様と呼べよ。
日本の優秀な人材も中国企業に買収されているしww これからは日本人がシナチョンに飼われる番だなwww 日本をだめにしたのはお前らみたいなケチ臭いクズのせい
>>403 Silverlightへの移植を考えると、VisualStateManager
C#スレでぼっぼこにやられて奴が 次に住み着いたのがここか
パーツが欲しければ検索しなよ。まあパーツゆーても
>>144 みたいなささやかな話。
codeplexとかcodeprojectとかにいっぱいあるだろ?
なんにせよ、ひとのコード使っても魔法みたいにプログラムができあがるわけじゃない。
みんなこつこつ作ってんのさ。「出し惜しみしてんじゃねーよ」とかやめなよ。
Silverlightとの統一性や機能性でVisualStateManagerだな。 何段もDataTrigger重ねるようなものだったらそっちのほうがいいこともあるが。
>>408 コンポーネントなんて汎用クラスだろ
コピペすりゃそのまま使えるんだから出し惜しみせず公開しろよ
どうせ出来上がる者は同じようなものなんだからさ
それとも誰にもまねできないようなアルゴリズムで作ってるわけ?違うだろ
手間が省けるに越したことはないんだよ
お触り禁止ね
そういや、Win8のMetroUIで動くIE10ではSilverlightが使えないそうだが XBAPも駄目なんだろうか
>>402 アメリカが日本に教えたときは
肝心なところはブラックボックス化して絶対に教えなかった
一方おひとよしな日本人は虫ゴキ人にケツの穴の皺の数まで全部教えてしまった
マクドナルドとかそうだよな 焼き方、盛り付け方は教わるが 原材料や調理法は一切明かされない でも中国も日本と同じで結局真似事しかできないだろうな アジアは発明や発想の転換が苦手だからな でも確実に生産ラインは中国にシフトした もう日本には技術者はいない
WPFってのはさ、やれることが多すぎるんだよ。だから「手持ちのカード」で作るのさ。 アニメーションなんて要らん。カスタムコントロールも要らん。 10000個のコントロールとかそんな仕様叩き壊せ。あほかっつーの。 きみは上を見すぎなんだよ。そんで技量が付いていってない。努力もしない。 もっと頑張れよ。それこそ他人に「魔法のコンポーネント」を与えられるように。
アニメーションは、適切に使えば有効じゃないか? 一般に想像される様な、仰々しいアニメーションは要らんけれども 例えば、Google Chromeでタブを入れ替える時の様な 自然なアニメーションは、UX向上に有効だと思うんだが
趣味で年に1個ソフト作るだけなのにそんなに プログラムのことばっかり考えてられるか! 作りたいときに作るための情報をその都度収集してやるだけ だから、効率的に収集できるかが問題 技量なんて1年やってなかったらすぐ忘れるわw 有用な汎用クラスなどの資産もない ここに来るやつなんてそういう奴が大半だろ? プログラムで稼いでいるような奴がここに来ても意味ないだろww もしそういう奴がいたとしたら、仕事の愚痴の掃き溜めにするぐらいだろう そういう奴らがム板をだめにするんだよ ここはもっと初心者同士で慣れ合うような雰囲気にすべき 能無しのプロは来なくていいよ 相手してほしいならリアルで友達作れ 評価されたいならリアルでやれ
いい加減にム板じゃなくマ板でやれ
俺はお前らと違って友達も多いし 恋愛も人並みに経験している でも、プログラマの友達もいない お前らみたいな気持ち悪い奴らとリアルでは接点ないからなw だから完全に独学でやるしかないんだよ 基礎を学んでいれば独学でもいけるんだろうが 基礎もないしな それをプログラマに向いてないだとか やる気がないとか言われたくないね 生き方が違うんだよお前らみたいな陰気な奴らとはな
>>417 きみは「客観視」とか「他者の内面化」とかいうやつが苦手らしいな。
君がもうひとりいると考えてごらん。
そしてちまちまとサンプルに毛が生えたようなプログラムを頑張って書いた。
みてくれは悪いがちゃんと動くし立派なプログラムだ。おめでとう。
それを君は「こんな素人でも書けるようなものはクズだ。再利用もできない」と罵るわけだ。
実に不毛だと思わないかね。みんな君と変わらんのだよ。スペシャルな人間がここのどこにいる。
荒れているところすみません ROMってたんですけど カスタムコントロール作るのは非常にめんどくさいですよ 外部に提供する機能について依存プロパティを延々と 作らないといけないのは非常につらいですよ
お触り禁止って言ったじゃないですかぁーっ!
>>419 XBAPも駄目か。残念。
WPF早々に終了wwwwwwwwwww
VisualStudioの様な複雑なアプリは、当分の間は旧来のデスクトップアプリとして構築される方針だろ? 何も問題無いじゃないか
いやもっと早々に終わるかと思ってたけど、意外に続いている印象
娯楽目的ならまだいいけど、仕事用のアプリでMetroUIはねーなw
>>427 WPF出たばかりの頃も全く同じ事言ってたな
ということは?w
いや、全アプリが強制フルスクリーンとか吐き気がするだろ スマフォやスレートなら良いが、デスクトップPCのディスプレイでだぜ
Metroはタブレット用じゃねーの
ほとんどの人にとってPC買う必要がなくなったな
Microsoft製だから品質が悪いのは仕方ないか。 WordもExcelもPowerpointもInternetExplorerも品質悪いし。
ネトゲで「その装備くれ」って喚いて断られたらシャウトする小学生そのまんまだな あるいは「おまえPCオタクだろハードタダでくれよ半分でいいから」っていうDQNか
>>432 MS製っていうか、それ大体どっかからの買収品じゃねーか
Word以外はそこそこ性能いいだろ 何と比べてるのかしらんが
>>435 え?
いまだにExcel とかIEとか使ってんの?
Don't touchでおねがいしますね
なんだ無職か
おぃぃ スレ進んでるから何の話題してるのかとわくわくしてみたら・・・ おれのわくてかを返せ
じゃあお前、話題ふれや。
WPFと関係無いけど、WindowsAzureのスレとかってねーのかな
ちょっと前はあったよ
落ちたのかorz Thanks.
テキストエディタ部分でCtrl+マウスホイールで 文字が拡大したりするけど ああいうのを自作ソフトに盛り込むにはどうすればいいの? ソフト全体の文字やコントロールを等倍に拡大したいんだけど
淡々と作れ
ViewBoxとかTransformとか使えるんじゃね
FontSizeを指定しなければ親のFontSizeと同じになるから WindowのFontSize変えれば全体が変わるよ。
Livetのちゅ〜とりある、まだぁ?
ugaya40さん、livet使いたいのですが、 ヘルプ作ってくれないと、使えません。
取説もライセンスもなかったtelnetでアクセスし“help”とタイプすればいいんだよ Andrew Tridgell
サンプルならあるが
なんかWPF系って、ど素人レベルの初心者向けの説明サイトと、 上級者の人のやたら高度なサンプルは見つかるんだけど、その両極端で、 その間のレベルを埋められるような知識を得られるところが見つからないんだな… どこかいいサイトとかないだろうか
ありまっせん
xamlなんて人間が書くようなコードじゃないよな 誰が考えたんだこんなもの
当たり前だよBlendで書くものだもの
そりゃVSありゃ人間もある程度読み書きできるが 基本Blendなどのデザイナが扱うものだからな
この手のUIを定義するXMLって結構当然のように手書きさせられるもんだよ デザイナが無かったりしょぼいのをごまかすために最悪手書きできるようにしてるようなもんだからな WPFはVSのデザイナだってそれなりに使えるし、Blendもあるし贅沢言い過ぎ
VSのIntelliSenseのおかげでXAML手書きメインの俺だっているぞ
Blendあるしって当然のように言っているが10万もするようなもん 素人が買えるわけないだろ
シリアルならそこらにいくらであるだろ
実行時型決定?のためにインテリセンス聞かない場合が多くてイライラするよ
素人はプログラミングなんてしなくていいぞ 誰かがお前に「どうかプログラミングしてくださいおねげーしますだ」と頼んだか
Expression Studio 4 Ultimateのアップグレード版は実売3.7万ぐらいだが、どこから10万なんて数字が出てきたんだ? Visual Studio 2010 Professionalと合わせて買ったとしてもそんな金額にはならんよ。
>>463 してもいいだろ、お願いされなきゃしたらいけないのか?
>>463 こんなスレに来ているような負け組精神病プログラマが偉そうにいうなよwww
WPFって最新技術だよね いまだにExcel2003やらIE6やら使ってる人が大多数で Excel2007とかIE9とか使ってる人はごく少数。 それと同じようにいまだにWindows Formが主流。 参考サイトとかもWindows FormのTIPSばかりだし
どこの世界線で生きてるんだよお前は
excel2007から使いづらくなったよね ツール→オプションとかで ファイル 編集 表示 とかのメニィーバーを簡単にカスタマイズできたのに Excel2007以降はややこしくなってる。 ALTキーでメニューバーにカーソル合わせてキーボードで操作しまくる俺としては ほしい機能をリボンカスタマイズできないのは悲しいよ。 Visual Studioはリボンにならないでほしいわ。
検索ワードにwpf入れててもwinformのページが引っかかる
IE6とか7のクソ仕様のせいでHTMLやCSSが無駄なことかかなきゃならん。 マジウンコ
WPFが最新技術とか寝ぼけてんのか
>>468 まゆしーが生きてる世界線だ。
とぅっとぅる〜。
Blendが10万するだとか、Excel2003やIE6が大多数だなんて笑える。
移植性で考えてもWinFormsの方が一枚上手なんだよな
それはネタなのか?
現実として、Win8タブレットやWP7で動かしたい、よりも Win2000や古いXPマシンで動かしたい、の方が当然多い どうせ前者の場合だとUI作り直しだし
移植性ならWinformsは当たり前 移植先にバインドなかったら終わりだもん
Win2kのシェアなんて随分前に1%割り込んでるけどな。 企業内ではまだまだ生き残ってるとはいえ、新規開発でWin2kターゲットがどんだけあるよ?
バインドって甘えだと思う
>>476 どいつもこいつも今一歩です
treeviewにアイテムデータバインドした場合で
再起動時に前回開いた位置まで項目開くのはどれに乗ってるんだ?
>>481 それはどこのデータ?
2k使っているのはかなりいるぞ
ネットの投票あったり積極的にするようなコアなユーザーの中では少ないってだけ
俺の友達でも2kをサブに使っている奴は結構いる
理由はOS変える理由もないし面倒だから
そういう奴らは壊れるまで使うんだよw
友達のサイト(一般人向け)のアクセスでも2k使っているのはまだ2割ぐらいいるな 一番多いのはxp
投資系サイトやってるが7が一番多い 次はXP 2000なんてほぼ死に絶えてる
>>486 そりゃ投資やっているような奴らだからだろw
>>487 そこだしてくると思った
一般人を対象にした調査じゃないだろw
VisualTreeHelperでノード探ってやればいい
>>489 StatCounterなんかだと少なすぎてOtherにまとめられちゃってるんだよね…
一般人を対象にした調査で2kが多く使われてるってデータはどこにあるの?
>483 欲しいハウツーがないと糞サイトになるのか・・・
494 :
デフォルトの名無しさん :2011/11/29(火) 16:08:08.34
>483 >再起動時に前回開いた位置まで項目開くのはどれに乗ってるんだ? どこがWPFと関係あるんだ?
495 :
483 :2011/11/29(火) 16:13:42.16
一応の答えは知ってるんだけど琴線に触れる質問して悪かった
>>489 有名どこを一通り見たけどこんな感じだった。それでデータはどこにあるの?
Net Market Share 0.19%
Clicky Web Analytics 0.09%
W3Counter 0.1%
StatOwl 0.16%
W3Counter 0.1%
Webmasterpro 0.3%
対象外
AT Internet
Chitika
Global Stats
W3Schools
win2kがどうこう以前にXPのサポート終わってんだから 次のWPFはXPで動かないだろよ…
そこはどういう調査しているんだ? MSに7を宣伝しろと言われたら簡単にねつ造しちゃうとこばっかじゃん
>>495 いや、別に責めてない。
>どいつもこいつも今一歩です
は認める。
やはり某Azureや銀光の記事みたいに、女がいないとダメということだよな。
少なくともお前よりは信用できるなw
別々の全てのソースが2kのシェアの低さを示唆しているのに 全部がMSの陰謀によって捻じ曲げられたデータだと言うのか… 陰謀論者ってすげぇな。
調査対照はプログラマだからな そんな限定的なものじゃ一般的とは言えない
ヒント、一年後
販売されてるPCに入ってないのに一般がなおさら使ってるわけが無いがな Linuxのユーザー考えれば分かること
2kが大量に生き残ってるというのは眉唾だが それが事実かどうかにかかわらずWPFの仕事なんか無いので アンチは安心したまえ だいじょうぶだよ
アンチの言ってることが正しかったらWPFの出番なんてないんだからアンチ活動する必要ないんだよ
で、WPFは何に移植できるの?
なーんにも 移植性皆無のウンコだよ だから安心してね(ニッコリ
ようするにjaneなんとかみたいな2ちゃんブラウザを、 名前を「おれのブラウザ」に書き換えるだけで完成する「モジュール」が欲しいんだろ? なんでどいつもこいつも目標が2ちゃんブラウザなのかねぇC#もろくにわからない初心者のくせに
相当リロードしてねえな
所で、 WinForms -> Metro よりは WPF -> Metro の方が移植し易そうに思えるんだが。
気のせいだろ うるさ屋がいるからそういうことにしておいて
デバイスの特性が全然違うんだからどっちにしろGUIは作り直しだよ 最初から移植を想定してないならVMレベルでも難しいだろうな
win7用にはちょっとずつAPI追加してるけど XPはセキュリティーのメンテナンスぐらいしかしてない WPFは次のバージョンはXPに対応していないと思う
延長サポなんだからそりゃそうだろ
WPFがXPだと糞汚いから、ユーザが煩いんだよな
テーマ指定しろよ
そもそもなぜWPFは重いのか
>519 開発環境だけだろ。リリースビルドされたexeは速いぞ。
>>517 .NET4 で依存プロパティを適切に設定すれば綺麗になる。
>>520 リリースビルドも重い。
具体的な原因は過去スレに出てるから見てみろ。
レイアウトの変更があらゆるコントロールに波及しまくって再計算に時間食うのがクズ
Metroの開発したいよお 指で画面タッチしたら操作できるんだろおお
必要最小限の再計算しかせず、無駄な事は全くしてないんだけどな。 それでも遅いからどうしようもない。
・BinaryXAMLの読み込みが遅い ・テキスト幅の計算が遅い ・Imageコントロールは画像の読み込みを遅延させてるくせにUIスレッドに負荷をかけるので遅い ・多くのコントロールがControlTemplateを使ってるのでVisualが複雑になりすぎて遅い ・GDIと違って、画面の一部を優先的に再描画できないので体感速度が遅い ・負荷がかかると、レスポンスよりスループット重視になるので、再描画の頻度が下がってもっさり ・レイアウトエンジンは使い方を気を付けないと計算量が爆発するので遅くなる ・ライブラリが大きいので起動が遅い ・GPUが活用できるのは単純なアニメーション程度なので、結局大してGPUは活用できなくて遅い
だんだん抽象的になるにつれ重くなるのは仕方が無いかと そのうちCPUかグラボかが何とかしてくれるんじゃないかと期待
VSでDebug終わってリリースでコンパイルしてみようと変更したら デザイナが崩れた なんぞこれ…
>527 見た目がおかしくなってるだけ、 PC再起動すれば治るよ。
DGのスクロール糞重いワロタwww
WindowsFormsHostでいいよ データグリッドなんて別にWPFでなくていいだろ
急に盛り上がってきた WPFの時代が来たみたいだな
W`PFが発表されてからはや4年 ついに苦労が報われるか
WPFはMetro style appに昇華される ようやくAvalonの思想を実現できるといったところかな
なんかカッケーっすね あこがれちゃうなー
マウスでノロノロとタッチ用UIを操作する
>>533 の姿が目に浮かんで泣けてくる
なんでわざわざタッチ用UIをマウスで操作する姿を思い浮かべるんだよ 想像力のないやつだな
ようやく、この現代にAvalonの思想が蘇るわけですね……!
下手すりゃWin3.1が乗ってるような業務用のタッチ端末の置き換えにはいいかもね いつのことやら
539 :
デフォルトの名無しさん :2011/11/30(水) 09:49:02.56
Livet 使ってます。 V から VM にデータを渡したい場合、全部コマンドにするんでしょうか? それとも ((ViewModel)DataContext).Method() みたいにして メソッド直接呼んでもいいものなんでしょうか?
基本的にコマンドじゃね コントロールのCommandプロパティとかTriggerActionのInvokeCommandActionで 必要なデータはバインドしたVMのプロパティを通してやりとりするが どうしてもコマンド単位でパラメータ渡したかったらCommandParameterとListenerCommand使うといい ただ基本的にっていうのはそうしたほうが楽なように作られてるってだけの話で 別に禁止されてるわけじゃない
そんな疑問が来る時点でなんか違うんだよな ライブラリだかなんだか知らんが完成度を高める必要があるな
wpf版2ちゃんブラウザまだ? そろそろjaneの時代を終わらせようぜ
この板のこのスレに居るなら自分で書けよ情けないww
それを作るのは君だ
専ブラほどWPF使って無意味なアプリもないんではなかろうか SilverLightでも使っとけと
そもそもWPFに関係なくWindows上で2chブラウザを新規作成する意味が薄い
人の勝手だろカス 自分の想像力の無さを嘆け
今年専ブラは作った もちろんwinformのwebbrowserホストしたやつ チャンとキャッシュで画像表示 多段ポップアップする ブラクラ、replacedatやimage、 command.datも処理する ただしすげーもっさりする 快適ではない ネイティブには勝てん WPFでやる意味はない
4.0ならwpfでwebbrowserあるのに
>>549 wpfのwebbrowserは使い物にならないからな
使わないとわからないのかもしれないけど
WebBrowserじゃWPFの良さを殺すようなもんだろ
dat表示するだけでいちいちwebbroweser使ってられるか
listboxやlistviewで表示するとレス単位のスクロールになってしまう かといってtreeview使いたくもない richtextは使いづらいし何故か重い
webbrowserの方がrichtextより重い 物にもよるけど
つーかネイティブで作ってもIEコンポ使ったらクソ重くなるだろ
richtextは適切に処理しないと書き込全部終わるまで表示されない キャッシュの画像表示終るまで表示されない だから遅い
ようは仮想化してるかだろ
javaのV2CもIEコンポ使ってんだろ
V2C重いだろ
>549 3.5からあるが。
動作がもっさり?ハイスペPCで解決ですよ。
>539 そこまで綺麗にしなくていいよ。 めんどくさいから俺はメソッド呼んでる。 >541 そもそもドキュメントないからなぁ。
xmlいらね
565 :
デフォルトの名無しさん :2011/11/30(水) 23:33:08.78
デザイン中だけウインドウの背景色変える方法ある? 背景を透明なウインドウ作ったんだけど、デザイン中は白なので編集しづらい。 今は、背景を黒にしておいて、コードビハインドで実行時に透明にする方法を使ってるけど、 xaml でなんとかならんのか、と。 SilverLight は d: とかあるみたいなんだが。
iphone5 docomo対応 lte nfcお財布ケータイ new design 無接点充電 siri日本語 a6 トリプルコア 電池交換対応 4インチ網膜ディスプレイ 1gb ram mini dock 新規格のコネクタ テザリング日本国内開始 128gb storage
MSDNフォーラムのWPF板に大物が参戦の模様。
URLも貼らずに大物とか
和田アキ子か
で、Silverlight にとって代わられていらない子になった感のWPFに明るい話題は無いの? Microsoft 内部でももうWPFいらんだろとか無駄な予算割くなとか言われてるんじゃない?
WPFよりむずかしくなったら永遠に2ちゃんブラウザ作れないんじゃないの?
WPFが難しかったらSLとか発狂するぞ
だからSilverLightも棺桶に片足突っ込んでるじゃんw
WPFやSLが難しかったらWinFormsとかWinSDKとかMFCとかキチガイだろ
WPF って Windows Phone で使えないんだろ? それに WPF を有効的に活用したものを見たことが無い。
Windows PhoneにはSilverlightが使えるじゃないか。 Win8ではMetroUIがあって、同等のLook&FeelでWin7やXPに対応するにはWPFしかないわけで いずれも基本は一緒よ。 それ以外のレガシーシステムに対応するならWinForms使う。そのくらい基礎教養として誰でも使えるよね。
WP7のSilverlightは本体のSilverlightとは、やはり少し別物だからなあ。
881 デフォルトの名無しさん [sage] 2011/12/03(土) 06:59:22.84 ID: Be: 何となくC#触ってみたらあまりにも細部まで充実していて泣けてきた でC++なんて捨ててやろうと思ってWPF勉強してみたけど糞すぎて戻ってきたよ
どうせバインディングやテンプレートあたりで躓いたんだろ evernote開発者のように
Winform = IE6 WPF = IE9 C++、Java = FireFox Rubyとか = GoogleChrome
後ろ二つは認められない
kitty がい る
エバーノートはパフォーマンスが悪いから撤退したんじゃなかったっけ?
そうだよ ぱっと開いてさっと作業するソフトには向いて無いからね
Evernote 3.5もたくさんの良い機能を持っていましたが、どうしてもそのままでは直せない問題がありました。 ぼやけたフォント、起動時間の長さ、起動時のメモ リー使用量、特定のグラフィックカードとの相性の悪さ等の問題は 3.5が使っているWindows .netとWPFのためになかなか改善する事ができませんでした。 皆様がよりEvernoteを便利に使って頂けるような新機能を追加する前に、改善作業ばかりに追われていました。 なので、もっと早く動く、信頼できるC++で最初から作り直す決心をしました。 使って頂くと分かると思いますが、すばらしい出来映えになりました。
今でもPゴシックでbold使うと文字が読めなくなるもんな
OSとグラボに寄るんじゃね? 俺の環境ではそんな事無いし
MSゴシックもビットマップ表示できる事すら知らないで本スレにコピペ貼るとか よっぽどのおばかさんだね
前から気になってたけど本スレって使い方間違ってない?
592 :
デフォルトの名無しさん :2011/12/03(土) 19:34:28.13
すいません、知ってる方いたら教えてください。 TabControlのデザインを変えたMyTabControlを作りました。 このMyTabControlには、TabItemのデザインを変えたMyTabItem を子要素に持つことを想定しています。 ここで問題なのが、MyTabControlをVS2010のデザイナに配置した 時に、初期状態でMyTabItemではなくTabItemが配置されてしまうこと です。もちろん、配置後にMyTabItemをMyTabControl上に配置することは できます。 どなたか、初期配置時にTabItemではなくMyTabItemを配置するように する方法をご存知の方いましたら、ご教授願えないでしょうか? ちなみに、MyTabControl、MyTabItemはそれぞれTabControl、TabItemを 継承して作成しています。
MyTabControlのテンプレートを変更すりゃいいんじゃね?
594 :
デフォルトの名無しさん :2011/12/03(土) 20:48:45.75
>>593 MyTabControlのテンプレートを変えてるんですが、実はこの中に
TabPanelなるものがいて、この中にTabItemが配置されるみたいなのです。
で、このTabPanelはTemplateを持っていないため、XAMLから書き換え
できず、お手上げ状態です。
ItemsControlは まずコントロールがあって その下にパネルがあって その下にアイテムコンテナが並ぶ 何が言いたいかというとTabControl.ItemsPanel
なぜこれはItemsPanelTempleteという名前でないのだろう
問題が解決して良かったね
598 :
デフォルトの名無しさん :2011/12/03(土) 21:33:30.46
>>595 ありがとうございます。
勉強不足でして、ItesmPanelの使い方が分かりませんが、
MSDNでも見てこれがなんなのか調べてみます。
599 :
598 :2011/12/04(日) 00:29:23.87
TabControlのItemsPanelTemplateにStackPanel配置して、 その中にMyTabItem配置してもダメ・・・ 私は、何かItemsPanelを勘違いしてるんでしょうか。
600 :
デフォルトの名無しさん :2011/12/04(日) 00:36:23.73
>>599 GetContainerForItemOverrideでよくない?
ItemContainerのほうな気が
WPF良いな HTMLとかCSS使ってホームページ作ったことがある人なら、すぐ始められるな。 XAMLとC#でシコシコプログラム作るのはプログラム作ったことがない初心者にオススメしたいな。
そしてテンプレートやバインディングで躓いてWPFを罵倒する、と
もうWinFormsに戻れない体になってしまった。 せ、責任、取りなさいよねっ。
605 :
598 :2011/12/04(日) 09:39:31.46
>>600 GetContainerForItemOverrideをoverrideして、MyTabItemを
returnしたんですが、何も変わらず・・・
他にもItemsContainerStyleなど調べてみましたが、使い方が・・・orz
>>602 css使ったことのある人は冗長なxamlにうんざりするんですよ
css相当の言語を別に作ればいいのに...
XMLで定義させてもらえる方がIDEやツール前提で考えれば何かと便利だと思うけどね。 XAMLの自由度を表現するにはCSS相当じゃ足りないだろう。
IDEやツール前提でばかり考えてる人間ばかりでもないので 書式はcssでも構わないかなあ Triggerどう表現するのか想像つかないけど
aタグでマウスオーバーだと a:hover 必要に応じてtrueやfalseつけたらTriggerの対応できるんじゃないの? Button:IsMouseOver true { Background: Red; } 例が悪いなあw
どのみちjavascript使わなきゃならん話
今のビヘイビアまみれの惨状よりは簡易スクリプトの方が綺麗
原理主義者は許さないだろう
ビューとロジックを分離するはずが気付いたらXAMLがスクリプトになっていた 滑稽だな
お前は何を言っているんだ? プレゼンテーション層とビジネスロジック層は分離されているじゃないか。
cssが何か知られていないってことだな
jQueryみたいなのをC#にも取り入れろ
同感
jQueryがやってることをC#で、ってのはコードビハインドで Windowのルートからコントロール辿ってプロパティを直に書き換えるってことなので まあ、なしだね。
ここは広く一般的に使用されている便利なライブラリー集すら 否定されるスレです
少なくとも、MVVMの手法には合わないな
C++のboostコミュニティでjQueryの方が優れてるから取り入れろって言ったら同じ反応されるべ
boostは目的が違うからな でもjQueryの〜が仕組みが優れてて使いやすいので取り入れてみてはみたいなレスだと 受け入れられるかもな
かもで話すな妄想じゃねえか
* 話すことがなくなってしまいました *
そもそもjQueryってXAML側じゃなくてC#側じゃないか? ビュー(HTML)からのイベントで動くし、画面周りとかコードで生成してるからXAMLパーサーでラップすれば変わらん気がするが…
ずっと思ってるんだけど、あくまで見た目にこだわりたいっていうなら それはデザイナーの仕事であっておれらの領分じゃないよね おれらがどれだけ頑張ってもへっぽこインターフェースしか作れないじゃん
デザイナーがBlendで実装されてない機能を 自作するなんて考えられない
デザイナー(笑) デザインなんてどうでもいいじゃんw どうせチマチママウスクリックするより Ctrl+Kキーとかで一発でコマンド実行するほうが早いんだからそもそも全部CUIでいいよ
C++と比べたら糞なのは確かだな 冗長なコードに無駄にメモリとスペックを食う
同じことやるならC++でも重い 事実SilverlightなんてほとんどネイティブだがWPFより速いわけではない
負荷ベースで考えればMSILが動いてる部分はほんのちょっとだしね N88BASICしか知らないおっさんなら遅いと信じ切ってても仕方ないけど
未だにCLRがインタプリタだと広く信じられている時代だしな
WPFのレイアウトシステムやバインディングは完全にマネージコードだから あるマネージコードにもボトルネックはあるはず まあそこC++で書いても実際そう変わらんことはSilverlightが証明している
理論上ではそうなるかもしれないが事実として評判がよくない これがすべて
そうだな お前の中では
WinFormsでリフレクションを利用してバインドするより WPFでバインドした方が速いってこと?
誰がそんなことを言った
ネイティブで動くんだろ?
設定画面でよくある左のツリービューで項目を選択すると 右側のチェックボックスなどの設定項目が切り替わるようなのを 実装したいのですが、xamlだけでできるんでしょうか? 項目ごとにビューを作ればいいと思うのですが その張替え方法がわかりません
>>639 詳細はわからんが ViewModel は必要だろう。
>>639 タブ部分のないタブコントロールを作ればいいんだろうけど
俺はやり方を知らん
親切な誰かが教えてくれるだろう
当然ViewModelもそれぞれのViewにあわせて作るつもりです VSのオプション画面みたいなものが作りたいんです ツリーの項目にViewをどのようにバインドするのかがちょっとわからなくて もしかしたらViewのVisibleを切り替えるだけなのかな?
ああ、ヘッダ部分ね…
別にViewModelの一覧からItemsSource経由でTreeViewItem作ってContentControlのContentにViewModel突っ込んでもいいし 単にViewだけでTreeViewItemの選択状態をGridとかのVisibilityにバインドしてもいい
MVVM病
WVVWという変種が現る!
>>644 前者は難しそうなので後者で作ってみます
ありがとうございました
>645 別にVVMでもいいんじゃね。
VVMって表示画面と表示内容だけかよ Modelなきゃ誰が仕事するんだよ
何故開発しにくい方法をわざわざ使うのか意味が解りません MVVM病としか言えません
では開発しやすい方法とは?
>>644 こんな方法使うなんて病気だろ
普通に作れよ
普通とは?
いや普通だろ
>649 めんどくさいからVMとM合体させてもいいじゃん。Formsのイベントハンドラに実装してたのと同じ感じでさ。
させてもいいっていうかもともとそれが普通だろ MVVMのほうが本来は特に理由があるときにあえて選ぶもの 今のMVVM教は異常
VMとMだけは合体させちゃならんだろう
659 :
656 :2011/12/05(月) 16:24:07.89
ああVMとVじゃなくてVMとMか VMをMだと言えなくもないしツール的なクラスやデータベースをMと呼ぶかもしれないし いつもそんなはっきり線引きできるもんでもないだろ
MVVMでやるのはMVVMのほうが楽だからに決まってるだろ そしてVMはMから特別表示のために加工や処理が必要がなければ省略していいべ
VVMパターンでいいじゃん。
Vに一対一で対応するMを設けてそれをVMと呼ぶというだけだからな VMに入った時点でMの世界
お世辞にも
>>644 が楽とは言えない
楽というなら実際に組んでみろよ
普通に作れよ
結局答えられないんだねこの障害者
MVVMがなんなのか良く分からずにWPFつかってた
上に書いてあるじゃないか 読めよ
TreeViewItemとVisibilityバインドなんてC#コード書かずにできるんだが何が難しいんだ WinFormsの数倍楽だぞ
具体的に
>>669 俺もそう思う
多分知的障害者なんだろう
楽じゃないよ? バインド云々じゃなく 設定の各画面作るの大変になるじゃないか
>>672 はあ?どうしてそうなる?
こいつやっぱりバカだw
えっ
一か所で作りたいならパネル類使えばいいしそれぞれ別に作りたいならUserControl使えば済む林
えっ
>>675 なぜUserControlが出てくるww
こいつもバカだww
WPFが重い重くないで1スレ潰しただけあるな
設定が20画面あったらUserControl20個作るのか…
アプリに依存した設定画面を UserControlで作るってアホかw 部分的に使うのがいいけどな
なんかWinFormsから頭が切り替わってない奴が多いなw
UserControlの何がそんなにいけないんだ・・?
そもそも20も設定ページ作るなよ
パネルを20個重ねて配置w
>>682 使い方が悪いっていってるんだよバカ
それにもっと楽な方法がある
教えないけどwwwwwwwwwww
設定画面ならXAMLだけ画面数分用意して手でロードさせたらよくね データテンプレートでもいいけどデザイナ弱いし
やっぱり知的障害者だったな 完全にボロが出たwww
普通にpage使えよ
DataTemplateの中身の複雑化を避けるために UserControlやPageでViewModel別にView組んでるプロジェクト見たら泡吹いて死にそうだな
おいそれ俺じゃないぞ 仲間割れしてないで普通に作れよ
>>686 まあそういうことだな
あとはVisibleをTreeViewItemの選択状態とバインドさせればいいだけの話
実際XAMLで書くコードも短いしwww
何が難しいのか意味不明w
VMも別で書けば見やすくもなる
WPF的binding粘着
XamlReader使ってんの? 全部コマンド書いてるの?
つか一部のエキスパート連中が普通って言ってるだけで 普通と言われるほど普及してないだろw
696 :
デフォルトの名無しさん :2011/12/05(月) 17:33:32.42
>別にViewModelの一覧からItemsSource経由でTreeViewItem作ってContentControlのContentにViewModel突っ込んでもいいし いみふ。ContentControl も Content も ViewModel も判りません。 作り方教えてください。
WinFormsでTreeViewのSelectedItemChangedでPanelを付けたり消したりすれば俺もWinFormsエキスパートなわけか
一貫した意見を述べる時はトリップを付けるべき
お前らこのスレにバインドされてんじゃねえょ仕事しろ
WPF漠然と使ってたけど、奥が深いんだな
xamlで各画面(V)作る それ用のコマンド書く VM書く 階層化されたItemsSouceのためのクラスを書く それを展開するためのtreeview用のhierarchicaldatatemplate書く 最初に作ったxaml読み込みコード書く バインド めんどくさいよ…
なんか Pro WPF in C#2010 とかいうやたら分厚い英語の本見たけど MVVMなんて全然出てこないんだよな…
それが普通だからだろw それともすでに普通だからなのか
知っていて当然、使っていて当然のことだからな あることを説明する前に日本語の使い方から説明しないのと同じだな
つか初心者向けのサイトが少なすぎ。 書籍も全然出てないじゃん。 これでどうやって勉強しろとw
TabItem上に各画面(V)作る それ用のイベントハンドラ書く TreeViewに対応するItem配置 それ用に表示イベントハンドラを書く
TabのHeaderを表示しないようにする
勉強しろといってないだろ
確かに資料がもっと増えるといいな
ナイナイ
そんな情報少ないっけ 俺はあんくらいでWPF信者になっちったわ
XAMLで書くって具体的にはResourceDictionary用意して配下に書く感じ?
せっかく俺がMVVM病の手法と普通の手法書いてやったのに 反応なしかよ これでもMVVMで簡単になったと言い切れるのかよ
具体的に
相手にするだけ無駄か…
MVVMむずいな 理解できない
むずい部分は切り捨てろ 使えるところだけ使え
Model/View分離してるうちにバインディングに必要なコンバータを揃えるのが面倒になってくると勝手にViewModel作りたくなる それがMVVM
コードビハインドに書きまくったらおk
どの記事見てもC#ばっか、VBねー!使えねー!
C#は機械的に書き換えるだけでVBnetになるからいいじゃん。
VB.NETは過去の技術に囚われて先に進めない人のための言語なのだからWPFなんかいらんでしょ
両方使えて当たり前 VBしか使えないような人が役に立つ情報を公開するのは無理だろう 両方使える人はたいていC#の方が好きだろうし VBに機械的に書き換えられることもよく知ってるはず
725 :
デフォルトの名無しさん :2011/12/06(火) 11:55:42.63
> VB.NETは過去の技術に囚われて先に進めない人 が圧倒的に多いんだから、そういう人たちに使ってもらえなきゃ話ならんだろ。 どれだけ凄いフレームワークでも多くの案件で使われなきゃただのゴミじゃんw
>724 統計とったの?両方使えるけどC#嫌いなんですがw
MVVM教が幅を利かせてるようじゃ永遠に無理な話
VBはイベントあたりから汚くなったよな
ぶいびー()
MVVMのModelはなくてもいいだろ。 DataAccessは一応Mに分類されるけど、そこから返されるMとそれを扱うVMをわざわざ定義するなんてやっとれんよ。 VMの存在意義がVとMの緩衝材なんだから緩衝の必要がなければMを作る必要ないでしょ。 まあ原理主義じゃないんだしこうじゃないとMVVMじゃないなんて滑稽だよ。
731 :
デフォルトの名無しさん :2011/12/06(火) 13:03:41.94
移行にかける時間を考えたらC#とWPF両方学ぶ暇なぞない。 ましてMVなんとかも加わったら論外ですw
移行なんてせずに仮想化で動かしたほうが捗るぞ。
MVCでも勘違いしてる奴多いがModelはデータ構造だけじゃないぞ UI以外の実際のプログラムがすべき仕事をするのがModelだ
Modelがデータ構造+手続きってのはそうなんだけど、マスタ類とか手続きがないものはVM直で良くない?
ModelとViewの間の緩衝材(VM)がいらないならModelがなくなる、じゃなくてVMがなくなる、ってことだろ 見た目と緩衝剤だけにしたらおかしい
MVCと違ってVに変更通知送るのがVMだからなあ。 MvvmdemoだってworkspaceVMはあったけどworkspaceMはなくなかったっけ?
VVMじゃだめなの? 緩衝材+モデルを一つのコードで書いてもいいじゃん。 >マスタ類とか手続きがないものはVM直で良くない? 俺もそう思う。つかそれこそVVMパタンw
ViewModelをModelに統合したらModelじゃね?
ViewModelを統合するならどちらかと言えばViewの方へだけどな Modelは本処理でViewがUIで、Viewを二つに分けたものがMVVMのViewとViewModelだからな どちらにせよModelが無いって言うのは固定された表示だけで完結するシンプル極まりないアプリケーションだけだろ
VとVMを切り離せるだけでも随分楽になるからな それ以外の部分は今までやってきたやり方でいいんじゃね
アプリ全体で言えばMはあるんだけど、VとVMは1:1、VMとMを1:0以上とするか1:1以上とするか、で1:0以上でいいじゃないって話でした。 あとVに適合させたMはもうMではなくVMだと思ってるってだけで。
少なくともWPFの話として問題にできるのはVとVMだけだな あとは個別に判断するべきこと
>>743 Vistaが発売されるより前の記事じゃねーかw
記事がお花畑過ぎて泣いた
746 :
デフォルトの名無しさん :2011/12/07(水) 06:48:22.94
VVMってM無しと見せかけて、VMが分離していない状態のVM + Mになっているだけだろ。Mがないとか意味わからないだろwなんのためのパターンだよwww
747 :
デフォルトの名無しさん :2011/12/07(水) 06:49:58.74
つまり結局それはMVVMな。VMとかMとかはクラス一つと対応しているわけじゃねえだろ、意味的な責務だろ。VVMじゃなくてMVVMって言っておしまい
ちょっと聞いて良い? MVVMでも、値を元にどう見せるのか、っというビューの責務に関する部分は、 普通にConverterは使って良いんだよね? MVVMにしたらConverterを使わなくなった、っという話を目にするもので。
converterはMVVMに含まれるか否かって考え方次第じゃないの 標準ライブラリのBooleanToVisibilityConverterを使っちゃいけない理由なんてないしね
Mを実現するための機能をVで使ってもいい場合だってあるんじゃないかな 要は表示だけに関するものか、ビジネスロジックに関わるものかで区別するんだし
コンバータは使うだろ 重要度を文字の色で表すとして、その色をVMのプロパティで指定するのは不適切
御大はDataTrigger改を使えと言っとるな。 メッセージボックスの話とかもそうだけど、MVVMか否かというよりも、Blendableか否かという 考えでいくと、TriggerやBehavior中心での実装になって、ConverterやHogeService的なものは 使わなくなっていくという考え。
小さいものはいいだろうけど 大きなもので状態が増えると 中でifやcaseだらけになる
MVVMの弱点だべ
御大って誰よ
つまりpassive viewが最強か
値から直接変換できるならconverterでもいいけど 他の値との絡みで決定されるなら、色をVMのプロパティで指定するのは不適切ではない
例えば背景色を黒に変更したとして、暗い文字色が見辛いから文字色に応じた色で縁取りしたいときに VMに縁の色のプロパティを追加するのか? 事実上Vの詳細に依存してるじゃん
759 :
748 :2011/12/07(水) 20:14:16.45
個人的には、MVVMというよりBlendableか否かという話で納得がいった。 サンクスコ。
実装上の都合やコードビハインドを無理矢理避けるためにVMに明らかにVに依存したプロパティを入れるとか MVVMってただのバッドノウハウなのかよ
たとえば「色タイプA」とか「明るい配色」とかいうstringに対して色を返すconverterでもいいんじゃないの 疎結合みたいな話でしょ
変なたとえを無理やり持ってきたと感じます
それだとVで重要度を色で表現することやVの具体的な外観のデザインに依存するでしょ なるべく一般化するなら通常、注意、警告、情報、とかじゃ
配色はユーザーSettingにしてくれマジおねがい
VMってVに最適化したプロパティを公開するものって教わったけど 違ってたのか
まぁ別にそういう使い方をしてもいいよ
ユーザーが色を指定できるシステムならVMの管轄だし システムが決めてるならVの管轄だし
デザインセンス発揮しまくりで見づらいとかありがちだからキメウチとか簡便な
それはリソース使えばよくね 重要度みたいなのは微妙だけどさすがに色を何でもかんでもVMにしてたら酷いことになる
たとえば気温に応じて色が変わる場合なんだけど 会社の休日などは灰色で表示したい場合はどうするの? コンバータに渡すように新しくクラス作るの? それともenum作るの?
例が適当すぎたw
そういうユーザーコントロール作れば?
つーかModelのプロパティをひねりなく表示するだけでユーザからの入力も扱わないってんならVMはいらないから VMはVのためのもの、でもあってるわけだ。VはVMを表現するものでもあって
お前ら理論的だなあ
値から直接変換できるならconverterでもいいけど 他の値との絡みで決定されるなら、色をVMのプロパティで指定するのは不適切ではない
いつも文字色や背景色をvmにもってたわ・・・ そいやIValueConverterなんてあったな
結果的にVMのあるプロパティの値によって一対一に色が決まるのはもちろん不適切ではないだろう 色をVMが直接指定するのが不適切
先生方なし崩しかよ
if (t > 9999.0 ) return Color.Gray
>>770 ならVMで休日かどうかのbool型のプロパティを定義して
データトリガで分ければいいんじゃないの
VMで色晒すのだけはありえない
何で休日かどうかがboolなんだよアホかw VMは日付と曜日と気温だけプロパティにすればいいだけ あとはVがする仕事だろアホw
GUI作る人が休日灰色にすると配色的に悪いなーってなったときに プログラマに赤色にしてくださいっていちいち頼むのかよwwwドアホwww
>>780 待ってました
もし条件が複雑で結果も多数に渡りデータトリガだけじゃ大変な場合はどうしますか?
日付と曜日を参照して、さらに休日かどうかboolチェックするってアホかwww 日曜なら休日ってのは周知だろwww あした日曜なんですが休日なんでしょうか?って いちいち上司に相談するの?wwwドアホwwww
7色にしたいとき7個データトリガ置くの?
>>783 コンバーターでやりゃいいじゃんw
トリガーなんて書き換えるの面倒過ぎるだろwww
汎用的に利用することもできないしな
そんなのいちいち使ってられるかwww
>>781 enumとか使って論理的な形の値で公開すればいいだろ
そのためのVMでしょ
enumを食わすコンバータをその都度毎回書くんですかと言う最初のレスに戻るわけで
トリガーつうのはちょっと変化を持たせたいときに使うぐらいで VMの値に基づいて複雑な処理をさせるようなもんじゃないww 見た目であるVの規範超えてるだろwwwドアホwwwwwww
791 :
sage :2011/12/07(水) 22:36:42.22
>>786 逆だ。コンバーター量産するのが面倒だし汚いんだよ。
DataTriggerのほうが汎用的だろどう考えても。
お前もしかして1個1個トリガーのクラス作ると勘違いしてない?
DataTrigger1個でできるんだよ?知ったかぶってアホ?
>>783 BlendあればDataTriggerなら全部D&Dでできるからそのほうが楽な場合も多いけど、
面倒ならそれこそコンバーターでよいんじゃない?
コンバータなんて100個書こうが200個書こうが大した手間じゃない
>>788 土曜 | 国民記念日
でいいじゃんw
boolだけ渡して何がわかるよwwwドアホwwwwwwww
>>789 それはトリガーに言えるわけだよwwwドアホ
>>791 複雑なデータ処理や分岐処理をVが担当するんだ?へーーwww
>>793 DataTriggerだけで汎用的に解決できるものを毎回シナリオごとにトリガー作らなきゃいけないと思っているお前が一番ドアホ
コンバータ1個書くのすら嫌
結局複雑化した
>>770 の場合
コンバータに渡すように新しくクラス作るの?
それともenum作るの?
デザイナーもプログラミングの知識必要なんだ?へーーーーーwww だったら、Vだけでいいじゃんもうww コードビハンドに全部書いちゃえよwwww
DataTriggerは代打的な存在 先発レギュラーにはなれない
草生やしてる人は.NETのDataTriggerを想像してるんだと思うの BlendSDKのDataTriggerは名前同じだけど全然別物だよん
>>797 他のプロジェクトでも使い回しの利くコンバーターにするのがお薦め
トリガー使う奴はただの横着で無能
>>798 そうだよ?
blendを.NETわからん奴が使えるとか本気で信じてるの?
>>802 コンバータにクラス渡すんですか
判定結果をenumで渡すんですか?
>>802 お前トリガー理解してねえだろwww
コンバーターを作る必要すらないのがDataTriggerなんだよwww
わざわざアプリケーション誂えのenumを作ったのに コンバーターは汎用とは寝ぼけてるな
コンバーターが色を返すにしてもデザイナーが 色変更したいときはPGに頼むのではないでしょうか?
コンバーターくらいはデザイナーが書けってことだよ気付け
複雑な場合はユーザーコントロールでコードビハインド書きまくればOK
なぜか静かになりました どのレスがTriggerだったのかは定かではありません
みなさん心にもやもやとしたものがあるのではないでしょうか 自分なりの結論は出たのでしょうか
別にないですね 自分が楽なのが一番と相場は決まっています
Interfaceを使うという答えはありませんでした
Interfaceを使うってどういうこと?
誰か返事plz コンバータにクラス渡すんですか 判定結果をenumで渡すんですか?
せっかく次の段とその次の段を考えたのに無駄になりそうです どうせ誰かもわからないのだから返事が欲しいです
そもそも何をどうしたいんだか分からないから答えようがないな そのあたりは好きにする部分だとも思うが
話が高度すぎる
Vはstaticなんだから「この日は休みになりました」って時に対応できないでしょ Mが持ってVMで結合してVにenumなりなんなりに渡してやるのが妥当なんじゃないの
好きにしろってことさ 正解は場合によるし 何が正解かすら人によって違うかもしれない プログラマーの書くXAMLとデザイナーの書くXAMLは正解が違って当然 ただ知らない人が見ても意図が伝わるような書き方をするのが望ましいのかなとは思う
V=テレビ VM=テレビ局 コンバーター=リモコン
高度な話じゃないですよ ありがちな話です もしenumで受け取ったコンバーター内で switch (state) { case State.holiday: return Color.Gray … となるのは冗長ではないですか
テレビが今日放送する番組内容決めているのか? 違うだろバカwww 送られてきた電波を解析してどのように表示するかは チューナー(コンバーター)の役目 トリガーはただのリモコンだろwwwwww
>>824 その発想がそもそもバカなんだよwww
何でコンバーターで色指定してるんだよwwwwwwドアホwwwwwwwwwww
コンバータというより辞書
どんな色で表示するかはテレビの役目だろwwwww テレビの明るさ調整したいときに、チューナー買い換えるのかよwwwwwwドアホwwwwwwwwwwwww
やっとコード片が出てわかりやすくなったな 別にコンバータでそうやってもいいし XAML側でトリガで切り替えてもいい 楽な方でやれ
このスレでMVVMがどうこう言ってるのは同じMVVMではないってことだ
>>829 単にenumを一対一にColorに変換するならXAMLのトリガは冗長ではないですか
そのこと自体に意味はありますか?
switch書くのがいやならdictionary使ってもいいんじゃよ?
なにがなにやら
M・・・12/3は土曜日、4は日曜日、5は月曜日 VM・・・土曜は青文字、日曜は赤文字、ウィークデーは黒文字 V・・・今月のカレンダーを表示するよ(日曜から土曜まで並べて、枠つけて、曜日の色はVMに聞いて、何日が何曜日かはMに聞いて)
>>831 お前冗長って言いたいだけだろ
XAML単体でやればXAMLだけで済むしデザイナとかとも都合がよい
コードでやればコードのほうがすっきり済むと感じる人にとって都合がよい
それだけの話だが
>>835 そうです
Xaml側に出してやるとデザイナーがプログラマに変更依頼しなくても良くなります
コンバータ内で済ませるとデザイナはさわれません
おまけ:暇な時にどうぞ 色が計算で得られる+他の値に左右される場合(enumで指定できない)はどう考えたらよいか 色でなくTextの場合どうなのか。それは何なのか?
コンバータばかり使ってたけど便利というならデータトリガ触ってみようと思った おわり
Blend使うわ→トリガー 手打ちだし冗長なの嫌だわ→コンバーター わかった
これは誘導されただけ本当はいい答えがあるんじゃねーの?
そう思うなら自分で探すことだな
後から見るとたったこれだけなのにサッと手法が出てこない
そのうちサッとできるような改良言語が出てくるのかもね 常に過渡期である
<TextBlock x:Name="textBlock" Text="{Binding ほげ}" > <i:Interaction.Triggers> <ei:DataTrigger Binding="{Binding ほげ}" Value="Gray"> <ei:ChangePropertyAction PropertyName="Background"> <ei:ChangePropertyAction.Value> <SolidColorBrush Color="Gray" /> MVVMといいつつblend使わないのは矛盾してるのかねぇ でも高いよね
俺はStandardとセットになってた頃に買ったけど、今の値段だと趣味用で買うにはちょっと高いよなぁ
ほほぅ DataTriggerとChangePropertyActionなんてのがあるのか いや勉強になった
Blend使わなくてもBlend SDK落とせば便利なクラスがたくさんあるぞ
824みたいなコンバーターじゃ、そりゃデザイナがプログラマに頼まないと色変えられないが。 コンバーターにパブリックなブラシのプロパティ置いときゃ済む話 デザイナーは単色でもグラデーションブラシでもXAMLで、そのプロパティ好きな塗りに指定すりゃいいだけのこと 塗りの色でなくて、その分岐のstateの方が、新しいの追加されたり変更されたりって場合は プレゼンテーションレベルではなくビジネスロジックとしての話になるので そこはむしろデザイナが単独で勝手に変えられない方が正しいと思う
デザイナでtabitemでいくつか追加してクリックしても 上のヘッダ部分の描画が変わらないのはバグ? 選択自体はできるんだけど大きさが変わらない
こっちは変わってるぽいけど
環境依存か こえーな win7 32bit vs2010
いろいろ試してたらもっとひどくなった 環境依存だろうな… でも面白いことを発見 デザイナのツールバーでボタンなどのコントロールを選択した後 タブコントロールのヘッダをクリックするとその要素を持ったタブが追加される ただしヘッダ部分の根元の表示がおかしくなる
IsSelectedかなんかがtrueになってるとか
WPFを面白いと感じるのは初めの1ヶ月くらい
>>854 それだw
もう何だかわからねえw
自動タブ追加は
コンテナなどがタブアイテムにあるとそっちにコントロールが追加されてしまうので
グリッド削ってあらかじめ別のボタンなどを置いて置かないとダメだな
とりあえずあるけど無駄な機能
<TabControl Name="tabControl1">
<TabItem Header="tab1">
<Button Content="Button" Name="button1" />
</TabItem>
</TabControl>
追加されたタブのヘッダの根元が伸びて見えるのは VerticalAlignment="Top"が追加されてるからだな
IsSelectedが原因じゃなかったw もうだめぽ
ちなみにvc# 2008EEだと デザイナ上でtabヘッダーの大きさがちゃんと変わる 更に自動タブ追加機能使ってもまともに追加される VerticalAlignment="Top"が追加されてないから…
選択状態うんぬんは自分もなる IsSelected="true"を手動で入力するとちゃんと見た目が切り替わる 自動追加云々は、よくわからんがGridが無いからとか
xaml=xml
Styleにバインドを書いてるとデザイナが妙になることがあるなあ
WPFはオワコン
次世代WPFを占ってみました 山雷頤だそうです 不注意な言葉から失敗を招く事が多い。争いごとが多く、和解は難しいが、 友人の助けを借りて和解できる。 金は、適当に入ってくる。進退に迷うときで、事が実るには多少の時間がかかる。 共同事業を起こすにはよい。 成功のためにはMS単独では難しいようです
嘘吐き朝鮮、中国人がやってる報道機関 朝鮮人犯罪があまり報道されない理由 韓国文化放送(MBC) 〒135-0091 東京都港区台場2-4-8 18F フジテレビジョン 、、 〒137-8088 東京都港区台場2-4-8 韓国聯合TVNEWS(YTN) 〒105-0000 東京都港区赤坂5-3-6 TBSテレビ 、 、、 .〒107-8006 東京都港区赤坂5-3-6 大韓毎日 、、、、、、、、、、、、 〒108-0075 東京都港区港南2-3-13 4F 東京新聞(中日新聞社東京本社) 〒108-8010 東京都港区港南2-3-13 京郷新聞 、、、、、、〒100-0004 東京都千代田区大手町1-7-2 産経新聞東京本社 〒100-8077 東京都千代田区大手町1-7-2 (サンケイスポーツ、夕刊フジ、日本工業新聞社) 朝鮮日報 、、、 〒100-0003 東京都千代田区一ツ橋1-1 4F 毎日新聞東京本社 〒100-8051 東京都千代田区一ツ橋1-1-1 韓国日報 、、、、 〒100-0004 東京都千代田区大手町1-7-1 8F 読売新聞東京本社 〒100-8055 東京都千代田区大手町1-7-1 東亜日報 、、、 〒104-0045 東京都中央区築地5-3-2 朝日新聞東京本社 〒104-8011 東京都中央区築地5-3-2(AFP、NYT) 韓国放送公社(KBS) 〒150-0041 東京都渋谷区神南2-2-1NHK東館710-C NHK放送センター、 〒150-8001 東京都渋谷区神南2-2-1 内にも外にも無能なのは今の日本の政治は朝鮮が行っているから 帰化人だらけの野田内閣をみてみろよ
XAML使って、インターフェースを変えたり、データバインドでテキストボックスの内容と ほかのプロパティをリンクさせたりと、ちょっと高機能なWinformとして使っていける
Silverlight5公開されたぜ!
データバインディングについて初歩的な質問をさせてください Mode="TwoWay"としたバインディングで データソース側が依存関係プロパティでもINotifyPropertyChangedを実装してるわけでもないのに ソース側の変更が ターゲット側に反映されるのでしょうか? class Person{ public string Familyname { get; set; } } のインスタンスをDataContextを通じて2つのTextBoxから参照できるようにし <TextBox Name="textbox1" Text="{Binding Familyname, Mode=TwoWay}" /> <TextBox Name="textbox2" Text="{Binding Familyname, Mode=TwoWay}" /> とバインドして実際動かしてみたところ textbox1の内容の変更がtextbox2の内容に反映されました これは見えない所でPersonのインスタンスがBindingオブジェクトへ変更を通知しているのでしょうか
Silverlight5でぐぐるとウガちゃん40歳の記事が出てきて不機嫌になるんだけど…
"Silverlight 5" -ugaya40 でbingれよ
>>867 「Personのインスタンスが」じゃなくて、"Familyname"という名前を持ったBindingが、だろ。
1が"Familyname"bindingに通知して、"Familyname"bindingがPersonと2に通知した。
実際Personを変更してもどこにも反映されないんだから。
MVVMでDBを厚かったサンプルが意外なほど無いんだけど、DBを使うアプリではMVVMが不適切ってこと?w VMとRepositoryの依存関係をどう扱うかだけあればいいんだけど。
頭のいい人間になるな 利口な人間になれ
そんなもんMVVMの範囲を超えてる MVVMってアプリケーションアーキテクチャじゃなくて単にビューを抽象化する仕組みに過ぎないんだが Prismにちょろっとサンプルあるよ
いまの土方はサンプルをコピペしないと仕事にならないって本当なのかね
ORMなんて別にどんなフレームワークでやろうが変わらんし アルゴリズムの教科書言語ごとに出すくらい無駄
?リレーショナルなクエリはモデルレイヤーに隠蔽する。 ただしAPIの設計は汎用化の誘惑に打ち勝ってアプリケーションに必要なデータを返すようにする。
>>870 ご教示ありがとうございます。
通知の流れのイメージは
textbox1⇔Bindingオブジェクト⇔Personのインスタンス⇔Bindingオブジェクト⇔textbox2
だと勝手に思っていましたが
textbox1 ⇔PersonのBinding⇔textbox2
だったんですね。
確かに前者では、Personは単独では通知機能を持たないため、その値の変更をBindingオブジェクトが知る術がありませんね。
ただ色々試してみたところ…
class Person にINotifyPropertyChangedを実装させるが値の変更の通知をあえてさせなかった場合
→1の変更は2に反映されない
class Person にINotifyPropertyChangedを実装させない場合
→1の変更は2に反映される
という動作が若干不可解ですがこれは
BindingはソースがINotifyPropertyChangedを実装するかしないかで挙動を変えるということで
とりあえず納得することにします。
ORMの実装系の話なんてしてねーよ、ばーか。 Repository層との境界の話をしてるだけだ。 っで、Prism見てみる。
>>879 何使おうがMに隠蔽して仕舞いだって言ってんだろ
考える頭ねえのかタンカス
出た、なんでもまとめてMって言っちゃう奴。
>>878 挙動の理由が知りたいならライブラリを逆コンパイルしなよ
まあ、MVVMが多少は流行ってくると、MVVMというより、RIAアプリのアプリケーションアーキテクチャ全体の話も必要だよな
ugaya40的には、永続化層(データアクセス層)はModelに含めるべきと言ってるが 実際に実装する場合は、データアクセス層を抜き出して別プロジェクトにしたくなる
それも、なんでもMって言ってることの問題じゃね? 一口にMといっても、サービス層、アプリケーションよりのモデル、 本当に業務対象領域のドメインモデル、永続化層としてのリポジトリ、 とか色々あるだろ。 ぶっちゃけ、MVVM自体の話なんて、アーキテクチャ全体の話から見れば 簡単って言っていい話だろ。
Mが単一クラス/同一プロジェクト縛りだと思っているのがおかしいだろ。 したきゃ勝手に別プロジェクトにしろよ。 でもそれもMだ。 VやVMじゃなきゃMなんだよ。 Mの中身は要件によっていろいろある。 それこそサービス層やリポジトリなど複数の責務を含むのが普通だろ。
ビジネスロジックとMは別物じゃね? 逆方向から言うと、MはVMに従属してて、MVVMは「1つのウインドウ内」で完結してね? 極端な話PCをシャットダウンするだけのボタンがあったとしてMは不要だけどMVVMは成り立つんじゃね
881で「なんでもM」って発言が出るまで誰も何でもMなんて言ってないけどね 880は永続化層に何使おうがMとしか言ってないし
MVVMやMVCで言うところのMなんて、ひっくるめてのMだろ。だからMVVMでMがどうあるべきかなんて規定するのはおかしな話。 アプリケーション要件毎にMの構成は変わって然るべきものだし。 だからと言って、Mの構成について語らないというのもおかしな話だし、MVVMアプリでのパターンもあると思うから、それを議論しないのも逃げだと思うけどな。 まあ、この辺の話は人によって考え方が違うことも多いので、荒れる要素大だが。
Mの話なんだから、MVVMとは関係ねーんだよ、ばーか vs MVVMにおけるMの話をあえてしてんだよ、ばーか …で良いのか?
だがここはWPFスレだ VMの設計ですら微妙なところだがMなんてどう考えてもスレ違い
設計やオブジェクト指向のスレは他にあるんだからそっち行ってくれ そもそもMをWPFのような実装技術から切り離すためのMVVMだろ?
Mが抽象概念みたいに考えてるやつもいるかもしれないけど 実装面から言えばたとえばウインドウが3種類あればMのクラスは3つ以上存在するわけで 単なるその局面におけるバスケット以上の意味はないんじゃないの ドメイン駆動からいえばMVVMの上位にドメインがあるんだしMにおしこめる意味が無い
実装面から言えば、VMのコードでMからデータを取得してVMのプロパティに設定する、 そのどこにWPFが出てくるんだ?w というか出てきちゃいけないわけだが
何処で話すべきかってのも微妙なんだよなあ C#スレで話すのも、何か違う気がするし デザパタスレは、Java屋の巣窟みたいになってるし
そもそも論としてDBにはメソッドが無いんだからM足りえないよ。データとメソッドが1セットでMだもの。 まさかVMにビジネスロジック入れるわけにはいかんでしょ?
また妙なのが湧いてきたな
全員死ね リセットしろ
世間一般じゃDataAccessは*一応*Mに分類されてるね。 でも俺はMとDataAccessは分けて考えてる。 Mはデータ構造とそれに対する手続きで移植性を最大限に考慮したもの。つまり、データストアにもデザインパターンにもそれらのライブラリにも依存しない形。 MVCでもMVPでもMVVMでもそれ以外でもプロジェクトに取り込むだけでコンパイルできるレベルに留めるべきだと思ってる。
ところでみんながSilverlight使わずWPF使ってる理由は何よ? 俺はデータベースへの接続がWPFのほうが便利ってのとSLのoobのインストールが面倒だからって理由なんだが。
>>899 で、世間の意見を覆して俺の方が正しいばかりに主張するお前はいったい何様なの?
なんかすごいの?
>>901 何か嫌なことでもあったのか?
何そんなにつっかかってんの?
>>900 ・ メニューのようなデスクトップアプリ向けコントロールが足りない。
・ キーボード入力関連の機能が貧弱。
・ 独自のクリップボードフォーマットが使えない。
・ WPFでも機能不足で一部WinFormsのアセンブリを使ったりするのに、それができない。
・ 既存の.NET用ライブラリが使えない。
・ CIサーバと連携できるテストフレームワークが無い。
・Windows Phone は終わると思っている
>855 WPFを面白いと感じるのは初めて1年後くらいから
WPFに慣れてるとバインディング回りの仕様の違いだったりx:StaticやDynamicResourceとかが使えなかったりいろいろとびっくりするような場面が多い。
>>900 サーバとクライアントで同じアセンブリを流用できる。
silverlightでもソースコードの流用は可能だが、ある程度の手直しは必要。
>>900 SL4で開発あきらめたのは、標準コントロールが強烈にバグってるから
コンボボックスなんかバインディングが切り離されたりするし
SLは終わっただろう 数年前のMSのSL紹介サイトからとんだ先の半数ぐらいが もうSL使ってない
ぶっちゃけ、Silverlightが死んでも、XAMLerとしては困らんけどな。
社内システム用
でもMS社内の人的リソースはSLとHTML5に注力されてそうじゃない?
宣伝部隊はWPに集中してるけど 例のストリーミングTVで何度もblendの事をblenderって言ってるな MS内部でもブレンダって呼んでるのかな
終わるとしたらWPFの方だからなあ WPやっていこうとしてるんならWPFの悪評切り捨てたいだろうし
WPFの代わりになれるようなものなんて何もないって何回言えばわかるんだ? htmlとjavascriptでwindowsアプリ作るつもりかい? まあすでにhtaがあるけどさ
WPFをオワコンにできるほど素晴らしいフレームワークを出してくれるなら大歓迎なんだがな。 残念な事にWPFが終わる気配は全くない。
WPFとかSilverlightとかWinRTとか、微妙に異なる実装があるよりも、一つだけ残って他は消えてくれた方がマシ。 XAMLの知識的は流用できるし。
SilverlightはLightSwitchが製品版になっちゃったから消えないだろうね。 WPFはVisualStudioとExpressionシリーズで使われてるから消えないだろうね。 WinRTはWindows Storeに力を入れてるから消えないだろうね。 もうどうしようもない。
あるとすれば、WinRTが主流になって他がフェードアウトしていく未来か。 何十年後の話だよ?
残るのはネイティブだろうから GDI+系は残る VB6 winforms は残る 意外とmetroは真っ先に消えると思う metro silverlight WPF GDI+系の順番でなくなるんじゃないかな
WinRT/Metroが消えるってタブレットの存在ごと消す気かよ
>>920 VB6はねーよw
それと、Silverlightは一応ネイティブだぜ?
Metroは上位版が出るときに消える 最初に消える
Windows 9が出たときにMetroが消えたり、いつまでもGDIが残ったりは本当にありそうだなー。 個人的にはMetro好きなんだけど。
>>921 Win8タブレットなんてまだ生まれてもいないのにお前は何を言ってるんだ
これから普及しなきゃMetroなんて即死だぞ
926 :
920 :2011/12/12(月) 22:30:48.74
でも本当に最後まで残るのはExcel上のVBAという皮肉…
excelはオワコン まだ大半の企業2003
WPFなくなっても Visual StudioはQtで作りなおせばいいだけ
WPFが一番立場危ういんだよな
でもWPFには代わりがないだろ
>>929 Visual Studio Qt Honey
CLRも含めれば、ASP.NETを擁するDesktop CLRが一番安泰だろ。 ドル箱のASP.NETを捨てるはずがない。 そして、Desktop CLRで動くWPFはそう簡単には消えない。 WPFはWICのラッパーでもあるので、UI開発以外にも使われてるしな。 一方、大して金になってないSLは SL5の妙に長いサポート期間が終わったら消えてもおかしくはない。 WinRTはWindowsStoreの売り上げ次第だな。
metroはなんでXNA積まないんだ 最近のMSの消費者向けマルチプラットフォーム展開の中じゃ成功してるだろあれ
マジレス XNAは仕組み上消費電力を抑えられない
Windows PhoneがあるからWPFより消えにくい SLが消える前にWPFが消える というよりWPFがSLに置き換わる可能性が非常に高い
相変わらずなにもわからないまま書き綴ってるな
>>935 ゲームとかなら仕方ないだろ
C++でDirectXは使えるしWP7はXNAサポートしてるんだから理由にならん
つーかWPFが消えるSLが消えるはどうでもいいからさっさと統合してくれ SLとWPFが合体するのかSLがWinRTと化すのかはどうでもいいから
SLのランタイムを、2バージョン作って 従来のSL相当の物の他に、 .NET4CPのフルセットを備える物を出してくれないかな
使えたらコード変わるだろ
942 :
デフォルトの名無しさん :2011/12/14(水) 22:42:11.58
WPF4 で DataGrid に動的にデータを追加しています。 その中で、 VerticalScrollBar が表示されているかどうかを 判定する方法はありますでしょうか? NonPublicのPropertyまで調べていますが、 方法が見つかりません。 なお、VerticalScrollBarVisible は Auto です。 宜しくお願いします。
消えることはないだろ VB6がいまだに使えてるんだから はやり廃れでいうとObjective-Cとどっこいどっこいじゃないの
945 :
942 :2011/12/15(木) 16:22:49.97
>>944 ありがとうございます。
その検索キーワードで見つかる…
調べていたと思うのですが、すみません。
上記でスクロールバーのありなしは
判定できました。
てすが、下記ができませんでした。
itemsの数が動的に変化したときに、
一番右の列のWidthを設定し、
一番右の列の、右側の区切り線を
目立たないようにする。
datagrid.items.add()で増やした直後で
上記方法でスクロールバーの有無を見に行っても、バー無しと判定されました。
おそらく再描画がかからないと
バーの有無などは計算されないのだと思います。
InvalidLayout()などを間に入れても駄目でした。
何か方法はありますでしょうか?
>>945 InvalidLayout() じゃフラグを立てるだけなんで、UpdateLayout() じゃないかな?
もしくは、こんな感じに描画を待ってから非同期に処理するとか。
Dispatcher.BeginInvoke((Action)(() => { 描画後にやりたいこと }), DispatcherPriority.Loaded);
まだ入門者でBlendでだけど テンプレート編集>コピーして編集して(Blendない場合はどうやるんだろ?) DG_ScrollViewerにDataTriggerでComputedVerticalScrollBarVisibilityのVisibleみたらいいんじゃない? <ScrollViewer x:Name="DG_ScrollViewer" Focusable="false"> <i:Interaction.Triggers> <ei:DataTrigger Binding="{Binding ComputedVerticalScrollBarVisibility, ElementName=DG_ScrollViewer}" Value="Visible"> <ei:CallMethodAction TargetObject="{Binding Mode=OneWay}" MethodName="VisibleMethod"/> </ei:DataTrigger>
WPF意味不明すぎワロタ Formは適当にいじっても何となくやりたいことできたのに WPFはフォルダ選択ダイアログ出すことすらできねえ ああもうXaml廃れてくんねえかな
廃れるという言葉を使うほど出回ってねえけどな
>948 Livetならフォルダダイアログ簡単に出せるよ。
(そのくらい標準でできるようにしろと言われないとわからないんだなこれが)
>>951 普通にFileDialog使えるだろ。Livetのソース見ても標準のFileDialog呼び出してるだけじゃんw
それはファイルダイアログでフォルダダイアログじゃないと 声を大にして言わないと分からないらしいな
簡単に出せるよ
XAMLをやってると目が潰れて字が読めなくなることだけは分かる 目が潰れたのは狂気的なデザインのせいかもしれないけどなw
そう言えばFileOpenDialogはuser32.dllのGetOpenFileNameを呼び出してるだけだが フォルダの奴はshell32.dllのSHBrowseForFolderなんだよね Microsoft.Win32名前空間においてくれないのはその辺に理由がある? そんなことないか
if ((bool)result) { openFileMessage.Response = dialog.FileName; } 寒いな
お前らもこんなミスちょこちょこ入れてんだろ
3分に1回ミスしてます
WPFわけわかんね まずC#マスターしないと駄目くさいな
弟子を取れるようになったらマスターさな
yes,master.
ベクタデータを描いて画像に保存がすごく簡単にできるから ちょっとした試作には役立つ
xmlって ようするに htmlの <h1>とか<div>とかの<>の中を自由に決められるものなの? 俺のxml <ore> <myname>山田太郎</myname> <nenrei>32</nenrei> <sukinatabemono>ぎょうざ</sukinatabemono> </ore> こういうことができるのがxmlで、 このタグ?をMicrosoftが決めたのがxaml?
967 :
942 :2011/12/17(土) 09:54:24.29
返信が遅くなりました。
>>946 ありがとうございます。
非同期に処理する〜の方法でできました。
また、UpdateLayout()ではできませんでした。
もっと簡単に再描画をかけられると思いましたが
C#?WPF?はまだまだ慣れません。
>>947 ありがとうございます。
Blendは持っていないので、
理解できたら使ってみます。
968 :
946 :2011/12/17(土) 12:22:52.89
>>967 最小限のプロジェクト作って試してみるとうまくいくんだけど。何か状況が違うのかな?
void AddButton_Click(object sender, RoutedEventArgs e) {
DataGrid1.Items.Add(new Hoge());
DataGrid1.UpdateLayout();
Debug.WriteLine(FindVisualChild<ScrollViewer>(DataGrid1).ComputedVerticalScrollBarVisibility);
}
あと、同期処理しても良いのなら Dispatcher.Invoke((Action)(() => { }), DispatcherPriority.Loaded, null) って呼んでおけば、
描画キューがなくなるまでスレッドが待機するよ。
あ-35-9 平成21年度民主党第5区総支部(手塚仁雄議員)収支報告書(行番号1151、1204) 報告書73ページ目に、平成21年8月18日 「中山 諭」 250万円ってあるけど、誰だ?wwこいつはww 野田の側近の、手塚首相補佐官殿がお金もらってた中山諭って、 不動産販売会社 ダイナシティの当時社長で、覚せい剤取締法違反で 現行犯逮捕されてる奴だろ?w (共同通信) 2005 年- 6 月29 日 そういえば、レンホーちゃんも仲良しらしいじゃんw それと、手塚っちがレンホーと中山さんと飲み会したって暴露ってるぞ?www ヤクザとずっぶっずぶだなあwミンスはww
datagridのselectedindexとかselecteditemsやらが取得できなくて全滅状態。 何がおかしいか教えてください。 <Window.Resources> <Style TargetType="DataGrid" x:Key="dgstyle"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="DataGrid"> <DataGrid ItemsSource="{Binding}" MouseRightButtonUp="Datagrid1_MouseRightButtonUp"> <DataGrid.Columns> <DataGridTextColumn Binding="{Binding [0]}" Width="100" /> <DataGridTextColumn Binding="{Binding [1]}" Width="10" /> </DataGrid.Columns> </DataGrid> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <Grid> <TabControl Name="maintab" > </TabControl> </Grid>
public Window1() { InitializeComponent(); ObservableCollection<List<string>> oc = new ObservableCollection<List<string>>(); List<string> test0 = new List<string>(); test0.Add("test"); test0.Add("test1"); List<string> test1 = new List<string>(); test1.Add("test1"); test1.Add("test2"); oc.Add(test0); oc.Add(test1); DataGrid dg = new DataGrid(); dg.DataContext = oc; dg.Style = (Style)this.FindResource("dgstyle"); TabItem ti = new TabItem(); ti.Content = dg; maintab.Items.Add(ti); } void Datagrid1_MouseRightButtonUp(object sender, MouseButtonEventArgs e) { DataGrid dg = maintab.SelectedContent as DataGrid; MessageBox.Show(dg.SelectedIndex.ToString()); } eventのsenderから取れるのは分かるけど、イベント以外でも取得できるようにしたい。 選択アイテムがある状態で右クリックすると、その時右クリックしたアイテムを除いて選択が解除されるのが通常のdatagridだけど、 右クリックのイベントにmessagebox.showとかやると、選択アイテムをクリアするのができなくなるので、 それをマニュアルで設定したい。 でもselecteditemsが取得できないからどうにもできんという状態。
木曽からやり直した方がいい
よく分からんけど、やりたいことはこういうことか? <Window> <Grid > <TabControl Name="maintab" > <TabItem> <DataGrid Name="Datagrid1" MouseRightButtonUp="Datagrid1_MouseRightButtonUp" > <DataGrid.Columns> <DataGridTextColumn Binding="{Binding [0]}" Width="100" /> <DataGridTextColumn Binding="{Binding [1]}" Width="10" /> </DataGrid.Columns> </DataGrid> </TabItem> </TabControl> </Grid> </Window>
public MainWindow() { InitializeComponent(); ObservableCollection<List<string>> oc = new ObservableCollection<List<string>>(); List<string> test0 = new List<string>(); test0.Add("test"); test0.Add("test1"); List<string> test1 = new List<string>(); test1.Add("test1"); test1.Add("test2"); oc.Add(test0); oc.Add(test1); this.Datagrid1.ItemsSource = oc; } private void Datagrid1_MouseRightButtonUp(object sender, MouseButtonEventArgs e) { MessageBox.Show(this.Datagrid1.SelectedIndex.ToString()); }
おそらく最終的にやりたいのは絶対にそんなことじゃないはずw 基本を知らないと無意味 おとなしく基本からやり直せ そのあとWPF DataGrid ググれ
>>974 datagridが一個だけだったら特に問題ないけど、動的に増やそうとすると、
そのツクリじゃうまくいかないんで。
目的は、アイテムを選択済み状態のdatagridを右クリックしたときに、
通常は右クリックするとそれまでの選択状態がクリアされて、
マウスカーソルがあるところのアイテムが選択されるんだけど、
右クリックにイベント割り当ててmessageboxを出すようにすると、その挙動がなくなるのを何とかしたいってことなんで。
どうにかできんかと。
こんなこというと激怒すると思うんだけど 確定ボタン押す以前に入力内容に反応していいのはvalidationだけだと思うんだよね
>>976 どういう精神だとこういうレスがかけるのか
オジサンには判らないね
979 :
ウメオ :2011/12/20(火) 02:25:59.98
おスレ終盤じゃんw
もうさ完走できなかったとか
>>1 に書かなくていいだろ
どのスレだってそんなもんなんだからさ
980 :
ウメオ :2011/12/20(火) 02:26:30.01
1日書き込みないなんてふつうのコトだし
981 :
ウメオ :2011/12/20(火) 02:27:05.66
981
980超えてりゃ完走だろ。
次スレは
>>990 か落ちたらでいいか。
>>976 何のために何をしたいのか良く分からんがこれじゃダメなんか?
Dispatcher.BeginInvoke(new Action(() => {
DataGrid dg = maintab.SelectedContent as DataGrid;
MessageBox.Show(dg.SelectedIndex.ToString());
}));
ここまでの回答は70点にも達してないw WPFスレもレベル低いね
うめ
正解が欲しいなら金よこせよおまえの仕事じゃん
>>984 お前の質問にはノイズが多すぎる。少なくとも4つの質問をくみ取れる。
・イベント以外でもフォーカスを持ったDataGridを取得したい。
・選択アイテムをマニュアルで設定したい。
・SelectedIndexを取得できないので取得したい。
・右クリック時にMessageBox.Showをしても本来の挙動を行うようにしたい。
一番最後なら Dispatcher.BeginInvoke() の中でMessageBox.Showすれば解決。
「通販でDVDプレイヤーを買ったのですが動きません。
サポートに聞こうにも連絡先が分かりませんので助けてください。
DVDを3000円で見たいのです。」
と言われても
・動かないプレイヤーをどうにか動くようにして欲しい。
・サポートの連絡先を知りたい。
・代わりになる3000円のプレイヤーが欲しい。
のどれだ?になる。
>>988 5000円で買った動かないDVDプレイヤーを動くようにしつつサポートにクレーム入れて3000円に値引きさせる方法を聞いてるんだよ。
そんなことも分からないとはWPFスレも質が落ちたな。
次スレを立てるでござるよ。
かたじけない
褒美をやろう
>>988 どれでもいいのです。
というわけでDispatcherで何とかしました。
情報ありがとうみんな。
うめ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。