WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part7
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/08/22(日) 21:11:53Windows Presentation Frameworkについて語るスレ。
パワフルで柔軟すぎるのが敗因か? 正直ついていけないよね…。
Visual Studio 2010
ttp://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
関連スレ
Microsoft Silverlight その6
ttp://pc12.2ch.net/test/read.cgi/tech/1271580489/
過去スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part6
http://hibari.2ch.net/test/read.cgi/tech/1274423236/
WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5
http://pc12.2ch.net/test/read.cgi/tech/1261879110/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1245384489/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1231506876/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング
ttp://pc11.2ch.net/test/read.cgi/tech/1211453941/
【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
ttp://pc11.2ch.net/test/read.cgi/tech/1162950198/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
0775デフォルトの名無しさん
2010/11/25(木) 13:57:490776デフォルトの名無しさん
2010/11/25(木) 13:59:460777デフォルトの名無しさん
2010/11/25(木) 14:33:56まだ小規模なツールでWinFormsより手間がかかると思ってる人居るんだ。
使ってから騒ぐ分だけコテハンのアイツの方がよっぽどマシだな。
0778デフォルトの名無しさん
2010/11/25(木) 14:48:200779デフォルトの名無しさん
2010/11/25(木) 14:51:070780デフォルトの名無しさん
2010/11/25(木) 15:05:56お前らの脳味噌を俺の脳味噌にデータバインドしてくれよ
0781デフォルトの名無しさん
2010/11/25(木) 15:19:00一万人分ぐらいの脳と繋がるから
0782デフォルトの名無しさん
2010/11/25(木) 15:21:39Canvas上のControlに拡張プロパティを設定したいのだけどうまくいかない。
C#のIExtenderProviderにあたるWPFの機能ってなんでしょ?
DependencyPropertyでごちゃごちゃとやらないといけない?
0783782
2010/11/25(木) 18:31:490784デフォルトの名無しさん
2010/11/26(金) 03:10:23ゲームや簡易ペイントソフト作成用ですか
0785デフォルトの名無しさん
2010/11/26(金) 04:07:37たとえばButton Width=button1.Height+30
みたいな足し算や掛け算を行ったりできないの?
こういうことしたかったらC#のコードでやらないと無理?
0786デフォルトの名無しさん
2010/11/26(金) 04:28:26それでも無理ならバインドしてコンバーターで計算させるとかじゃね?
0787デフォルトの名無しさん
2010/11/26(金) 09:01:28で、フォームがリサイズされたらセルの大きさもその割合に応じて変わる。
こんなプログラムはWindows Formのほうがいいのかな?
0788デフォルトの名無しさん
2010/11/26(金) 09:47:33グラフィックきれい = ゲーム って発想やめようよ。
いわゆる可視化、見える化とかが有効とされるものならなんにでも応用効く。
>>785
コンバーター書いて Binding するか、
データコンテキストに渡した ViewModel 内で +30 するか。
どっちにしろ C# コード書くね。
>>787
リサイズへの追従とかそれこそ WPF 向きじゃない。
0789デフォルトの名無しさん
2010/11/26(金) 09:52:22MVVMの場合イベントはすべてDeleteCommandを通して書くの?
0790デフォルトの名無しさん
2010/11/26(金) 10:02:04自分が無理なくやれる方法でやることが重要。
0791デフォルトの名無しさん
2010/11/26(金) 10:16:04むしろビヘイビアで書く方がいいよ。
0792デフォルトの名無しさん
2010/11/26(金) 10:31:21リストに追加された時にBindingで値を取得するってことでいいのかな
0793デフォルトの名無しさん
2010/11/26(金) 12:41:13何か良い方法ないですか?
テンプレートみたいなものは自分で作れるんだっけ?
0794デフォルトの名無しさん
2010/11/26(金) 13:42:47必要ならPrism Template Packでも使えば
0795デフォルトの名無しさん
2010/11/26(金) 13:45:030796デフォルトの名無しさん
2010/11/26(金) 14:09:36なにそれ?
0797デフォルトの名無しさん
2010/11/26(金) 21:02:090798デフォルトの名無しさん
2010/11/26(金) 22:58:04テンプレートでできなくもない。t4 templateでぐぐると、いくつかmvvmのコード自動生成の作例が出てくる。
WPFはもっとコードの自動生成を取り入れないと普及しないだろうねえ。
イベントハンドラのスタブをタブキー二回で作ってくれるぐらい簡単に。
0799デフォルトの名無しさん
2010/11/27(土) 01:28:160800デフォルトの名無しさん
2010/11/27(土) 07:31:38DependencyProperty実装するときのの凶悪なコーディング量はどうにかしてほしいもんだ
0801デフォルトの名無しさん
2010/11/27(土) 11:22:15あれはほんと後付けらしい醜さがあるな・・
lispのマクロとか欲しくなる
F#のワークフローとかコード引用符使ったらすっきり書けるかな(よく知らないけど)
0802デフォルトの名無しさん
2010/11/27(土) 13:15:23まぁ、メンテも含めたらそれでも十分に極悪だがなw
0803デフォルトの名無しさん
2010/11/27(土) 13:37:58そんなのあったんだ
http://msdn.microsoft.com/ja-jp/library/z41h7fat.aspxに載ってないのに…
でもコールバックは自分で追加せんといかんのが片手落ちだな
0804デフォルトの名無しさん
2010/11/27(土) 13:38:29イゾンプロパティの話で
propdpのインテリセンスのこと書いてるのほとんどないよね
ぶっちゃけ、細かい使用とか話してpublic static readlyうんちゃらかんちゃら作る必要があります
ってかくより、これらはおまじないです
propdpでイゾンプロパティが作れます
だけでいいと思うんだが。
0805デフォルトの名無しさん
2010/11/27(土) 13:44:260806デフォルトの名無しさん
2010/11/27(土) 13:47:110807デフォルトの名無しさん
2010/11/27(土) 19:39:55さぁ、private static readonlyは先頭に並べるのです、
そしてプロパティはコンストラクタ、イベントの後ろです。
イゾンプロパ…何それ?」
FxCop先生「
アホかぼけ、なんでこんな糞コードを書…XAMLから自動生…しるかボケ!」
言語構文に組み込んでくれとまではいわないが、
せめて自社ツールだけでもどうにかしてくれ
0808デフォルトの名無しさん
2010/11/28(日) 13:55:50つかってるよー
3次元プロットはグラボ必須だし、
4次元の可視化はシェーダが欲しい。
0809デフォルトの名無しさん
2010/11/28(日) 18:13:020810デフォルトの名無しさん
2010/11/28(日) 18:21:32機能美って言葉を知ってるかい
VimだってEmacsだってあれはあれで美しいのだ
0811デフォルトの名無しさん
2010/11/28(日) 18:29:02オサレ⇔地味って軸と UX の良し悪しはそこまで相関ないよ。
オサレで使いやすい、オサレだけど使いにくい、
地味でも使いやすい、地味な上に使いにくい、全部ある。
0812デフォルトの名無しさん
2010/11/28(日) 18:43:57そうでなきゃ「うわ、地味。ショボそう」とか思っちゃう人もいるしな
0813デフォルトの名無しさん
2010/11/28(日) 21:34:41おしゃれだけど、見づらくて使いづらそうだね。
0814デフォルトの名無しさん
2010/11/28(日) 21:36:08お前しだいだ
0815デフォルトの名無しさん
2010/11/28(日) 21:38:34派手でセンス悪いだけだろう
0816デフォルトの名無しさん
2010/11/28(日) 22:05:10おしゃれなの?それ
楳図かずおみたいな奴だな
0817デフォルトの名無しさん
2010/11/28(日) 22:08:320818デフォルトの名無しさん
2010/11/28(日) 22:12:430819デフォルトの名無しさん
2010/11/28(日) 22:26:270820デフォルトの名無しさん
2010/11/28(日) 22:29:10の点々がいいよね
ボタンなんかどんなGUIフレームワークでも動かせるけどお前ボタン動き回る画面なんか作ったことあんのかよとw
0821デフォルトの名無しさん
2010/11/28(日) 22:30:050822デフォルトの名無しさん
2010/11/28(日) 22:31:16Blend最初触ったとき作ったぞw
残念ながら世に出ることは無かったが
0823デフォルトの名無しさん
2010/11/28(日) 22:47:370824デフォルトの名無しさん
2010/11/28(日) 22:49:33うふふふ
0825デフォルトの名無しさん
2010/11/28(日) 23:21:430826デフォルトの名無しさん
2010/11/28(日) 23:46:57あの人、美的センスはあるはずw
ネイチャーフォトのレベル高いよ
0827デフォルトの名無しさん
2010/11/28(日) 23:55:05・なんでもかんでもアニメーション
・フェードインフェードアウト乱発
・とりあえず半透明
・以上を全てやっていないとゴネだす上司や低能デザイナーがいる
VS2010のI/Fのようにシンプルな見た目で
要所要所をピンポイントで強調するような使い方が一番上手いんだろうが、
そこまで理解できる人(得に上司)が世の中どれだけいることやら。
0828デフォルトの名無しさん
2010/11/28(日) 23:55:210829デフォルトの名無しさん
2010/11/28(日) 23:56:480830デフォルトの名無しさん
2010/11/29(月) 00:07:50だって、せっかくそういう機能があるんだもん
使わないともったいないじゃん
0831デフォルトの名無しさん
2010/11/29(月) 00:24:48不必要値は言い切れない
0832デフォルトの名無しさん
2010/11/29(月) 00:36:36単に派手にするだけのビジュアルデザインじゃだめ。
UX デザインしないと。
例えば、Windows のウィンドウを最小化するときのアニメーションには
「次、ここをクリックしたら元のサイズに戻せますよ」という場所を示す意味がある。
でたらめな場所に向かって縮小したりしちゃダメ。
0833デフォルトの名無しさん
2010/11/29(月) 01:51:37なんで見た目に凝るのか
0834デフォルトの名無しさん
2010/11/29(月) 01:55:20ひたすら効率化の世界だしUIもあれだし
凝るとすればタブレットとか最近流行りのUIなどでの話だね
0835デフォルトの名無しさん
2010/11/29(月) 01:56:18まだ見た目(ry
0836デフォルトの名無しさん
2010/11/29(月) 01:56:29車、パソコン、携帯電話、携帯ゲーム機、扇風機etc
たんにその本来の役目さえ果たせればいいんじゃなくてかっこいい見た目じゃないと売れない。
プログラムも同じことだよ
0837デフォルトの名無しさん
2010/11/29(月) 01:59:25ウィンドウなんて必要か?凝りすぎじゃね?
0838デフォルトの名無しさん
2010/11/29(月) 02:05:14だが文字入力はいやだ
0839デフォルトの名無しさん
2010/11/29(月) 02:18:290840デフォルトの名無しさん
2010/11/29(月) 02:25:10じゃあCUIがいやだ
0841デフォルトの名無しさん
2010/11/29(月) 02:26:44ターゲットもソースも
両方依存関係プロパティじゃないとダメなの?
0842デフォルトの名無しさん
2010/11/29(月) 02:27:43もちろんわかるよ。
0843デフォルトの名無しさん
2010/11/29(月) 02:28:42まったく。
機能だけなら簡単と言い切るつもりもないけど、機能そろってりゃ他はどうでもいいってもんじゃない。
芸術的な意味のビジュアルデザインよくないと売れないというのももちろんあるし、
同時に UX デザインもされてる。
ボタンの位置とか大きさはどうなってれば使いやすいかとか、
ものすごいノウハウの積み重ねがある。
0844デフォルトの名無しさん
2010/11/29(月) 02:29:23ソース側は割と自由効く。
0845デフォルトの名無しさん
2010/11/29(月) 02:30:30ターゲットは依存関係プロパティじゃないとダメ。ソースは普通のプロパティでおk
0846デフォルトの名無しさん
2010/11/29(月) 02:41:25なるほどThx
TextBoxに入力した値が、いちいちなんちゃらイベントとか作らずすぐに画面に反映されて感動した。
0847デフォルトの名無しさん
2010/11/29(月) 13:07:33@IT、未確認飛行C
の二つしかない。
この二つだけで勉強しろというのか
もっとふえねぇかな。
0848デフォルトの名無しさん
2010/11/29(月) 13:14:30msdnが基本だろ
0849デフォルトの名無しさん
2010/11/29(月) 13:18:320850デフォルトの名無しさん
2010/11/29(月) 20:18:41XaML
0851デフォルトの名無しさん
2010/11/29(月) 20:20:07XAML手書きでやってるのが多いね
VS2010のデザイナでどうやるのかよくわかんね
デザイナでできる事をわざわざ手書きでやりたくないしな・・
0852デフォルトの名無しさん
2010/11/29(月) 20:39:080853デフォルトの名無しさん
2010/11/29(月) 20:40:09プロパティウィンドウのこと?
0854デフォルトの名無しさん
2010/11/29(月) 22:50:420855デフォルトの名無しさん
2010/11/30(火) 00:08:02>>847 で概要チェック。
後は Expression Blend いじりながら Binding, Template, Animation まわり
の知識を固めていく。( 〜ブログ放浪〜 )
最後に MSDN。
まあ、WinForms の時もこんな感じで勉強、ってか慣れていったが。。
素養のある人は MSDN 直でもわかるのかね。
0856デフォルトの名無しさん
2010/11/30(火) 00:17:540857デフォルトの名無しさん
2010/11/30(火) 00:40:090858デフォルトの名無しさん
2010/11/30(火) 00:51:19ブログ放浪してやっと自分がやってた事が理解できるようになって、最後にMSDN見て納得した。
その後Blendも買って楽しいWPFライフ←今ここ
0859デフォルトの名無しさん
2010/11/30(火) 02:50:27このなんとかの部分インテリセンスきかねぇ
クソだな
0860デフォルトの名無しさん
2010/11/30(火) 04:31:01INotifyPropertyChange
を実装する必要はないんですか?
0861デフォルトの名無しさん
2010/11/30(火) 08:55:230862デフォルトの名無しさん
2010/11/30(火) 10:20:420863デフォルトの名無しさん
2010/11/30(火) 10:23:480864デフォルトの名無しさん
2010/11/30(火) 10:31:37最新の Silverlight Tools 入れたら IntelliSense 効くようになる。
0865デフォルトの名無しさん
2010/11/30(火) 11:30:42イベント利用したら
Button1Click+=(sender,e)=>MessageBox.Show("Hello World");
これだけでいいのに
なんかICommandインターフェースを実装してExecuteがどうたらこうたらやらなきゃいけなくてわけわからん
なんでイベントがダメでコマンドならいいんだ?俺には難しすぎる
別にコマンドは無理して使わなくてもいい
コマンドじゃなくてイベントだと
例えばボタンが押された処理動作を
メニューやホットキーなど複数の条件から呼び出したい場合
それぞれイベントハンドラを記述していくことになる
だが、コマンドを作っておけば、XAMLでコマンド名を書くだけでいい
それ以外はバインディングなどをイベントハンドラで処理する場合
値が正しいかどうかのチェックで動作を変える場合も
イベントだと自前で実装することになる
コマンドなら雛形があるのでそれにあわせて書けばいい
今のおれがわかるのはこれぐらいだな
0867デフォルトの名無しさん
2010/11/30(火) 12:02:05>例えばボタンが押された処理動作を
>メニューやホットキーなど複数の条件から呼び出したい場合
>それぞれイベントハンドラを記述していくことになる
>だが、コマンドを作っておけば、XAMLでコマンド名を書くだけでいい
それはイベントだって同じじゃあないの
Methodというメソッドを作って
<Button Click="Method"/>
<Menu Click="Method"/>
ホットキーはしらんけど
<KeyPress="Method"/>
多分こんな感じでしょ
イベントハンドラはひとつで
XMLのほうでイベントハンドラ名を書くだけでいいっしょ
そういえばそうだな
Winフォームと比べてたわ
あとは、CanExuteがfalseの場合
呼び出しもとのコントロールが自動で無効になるとか
イベントだとEnable=falseとかしないとだめでしょ
0869デフォルトの名無しさん
2010/11/30(火) 12:15:06デリゲートがシリアライズしづらいからクラスでラップしちゃって Java みたいになってる。
あと、コマンドには実行可否の判定(CanExecute)がつきものなので。
0870デフォルトの名無しさん
2010/11/30(火) 12:16:45それはでも、コマンドである必要ない。
ユーザーからの入力イベントの他に、
ちゃんと意味論的なレイヤーのイベント(今コマンドでやってるようなこと)をデリゲートで処理ってのもできたはず。
やっぱ、CanExecute とシリアライズのしやすさの問題でわざわざ ICommand インターフェイスにしてあるんだと思う。
0871デフォルトの名無しさん
2010/11/30(火) 12:30:33ってもんでいいのかなぁ・・・
コマンドの説明見ても、「上書き保存」は、既存のファイルが無かったらできないようにする
「切り取り」は、テキストが選択されてないとできないようにする
とかそんなサンプルばっかりだし
結局MVVMで依存しないようにするにはコマンド使うことになるわけで
そういうのが必要ない場合はイベントで普通に書けばいいんじゃない
0873デフォルトの名無しさん
2010/11/30(火) 12:46:02新たにコマンドという概念を追加して
XAML上で使えるようにしたってことだな。
0874デフォルトの名無しさん
2010/11/30(火) 13:27:050875デフォルトの名無しさん
2010/11/30(火) 13:35:30バイナリ列とかXML文字列に変換って意味<シリアライズ(直列化)。
コードビハインドなしのXAML中にかけるのは、直列化可能なものだけなのよね。
デリゲートは実は直列化できなくて、
XAML のイベントへの代入は結構内部的に微妙なことしてる
(XAML から自動生成される .g.cs の方にイベント追加の += が生成されてる)
■ このスレッドは過去ログ倉庫に格納されています