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/
0673デフォルトの名無しさん
2010/11/18(木) 18:33:560674デフォルトの名無しさん
2010/11/18(木) 20:04:58WPFより先にXML覚えれ
0675デフォルトの名無しさん
2010/11/19(金) 00:45:10表示されない。2010 使いたいよい
0676デフォルトの名無しさん
2010/11/19(金) 14:45:47複数の同じようなコントロールがあるときそのコード上の配置を同じにするにはどうやればいい?
<Rowdefinition Height=なんちゃら name=なんちゃら VerticalAlignment=なんちゃら・・・ その他/>
<Rowdefinition Name=なんちゃら margin=なんちゃら VerticalAlignment=なんちゃら name=なんちゃら 他/>
みたいなぐちゃぐちゃしたコードになってなんとなく気持ち悪いんだけど上と下を自動整理するにはどうしたらいい?
そういう昨日ないの?
0677デフォルトの名無しさん
2010/11/19(金) 14:50:13配置を同じって、どういう意味だ。同じ箇所にまとめるということなのか。
同じ座標に重ねて配置するという意味なのか。
気持ち悪いけど上と下を自動整理ってなんだ。
質問が曖昧過ぎる。
0678デフォルトの名無しさん
2010/11/19(金) 14:51:380679デフォルトの名無しさん
2010/11/19(金) 14:56:530680679
2010/11/19(金) 14:57:530681デフォルトの名無しさん
2010/11/19(金) 15:05:46外部ツールにXML整形ツールでも登録した方がいいと思う。
0682デフォルトの名無しさん
2010/11/19(金) 15:06:460683デフォルトの名無しさん
2010/11/19(金) 15:21:10自分でやるしかないのかー
面倒だな
<Width="100" Name="ABC" Height="200"/>
<Name="DEF" Height"300" Width="200"/>
みたいな書き方マジきもい
一行が短いならまだいいけど、長いとキモ過ぎる
0684デフォルトの名無しさん
2010/11/19(金) 16:21:58要素名と属性って次元の違う話なんだが
0685デフォルトの名無しさん
2010/11/19(金) 20:37:140686デフォルトの名無しさん
2010/11/19(金) 21:15:05その例がきもいわw
0687デフォルトの名無しさん
2010/11/19(金) 21:36:25プロジェクトで「誰だ!せっかく俺が整理したソースを!」とか言い出さんようにな
0688デフォルトの名無しさん
2010/11/19(金) 22:49:080689デフォルトの名無しさん
2010/11/19(金) 23:07:11言うだろJK。書き方が混ざるとミスが入りやすくなる。
他人がコードをいじる時は自分のスタイルに合わせてもらい、
他人のコードをいじる時はそのスタイルに合わせる。
0690デフォルトの名無しさん
2010/11/20(土) 00:27:13そうでなきゃ属性の順番なんぞがそろってるだとか気にも留めないから
その人なりのスタイルだとなんて認識してもらえない
そんなくだらん事で自分なりのスタイルとか主張するな。
0691デフォルトの名無しさん
2010/11/20(土) 16:35:01<Button>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Content" Value="あいうえお"/>
</Trigger>
</Style.Triggers>
</Style>
</Button>
これやったら、ButtonのContentがSystem.Windows.Styleって表示されて
マウスのっけてもかわらない
どこが間違ってる?
0692デフォルトの名無しさん
2010/11/20(土) 17:24:130693デフォルトの名無しさん
2010/11/20(土) 18:10:54<Button.Style> // ButtonのStyleプロパティが
<Style TargetType="Button"> // Styleクラス
〜
</Style>
</Button.Style>
Buttonの子はContent
</Button>
0694デフォルトの名無しさん
2010/11/21(日) 20:44:39フォントにもよるけど、ニコニコという言葉に下線を加えると、
字と下線が重なってしまって、非常に読みづらくなってしまいます。
0695デフォルトの名無しさん
2010/11/21(日) 20:59:240696デフォルトの名無しさん
2010/11/21(日) 21:12:08ありがとうございました。
0697デフォルトの名無しさん
2010/11/22(月) 00:16:38C言語コンパイラ、Visual C#、Ruby
それでもプログラミングは全然はやることはない。
WPFなんて素晴らしいものなのに、注目されてなさすぎる。
0698デフォルトの名無しさん
2010/11/22(月) 00:23:06みんな一体何を書いてるのだろうと時々不思議になる
0699デフォルトの名無しさん
2010/11/22(月) 00:33:18一般的に普及しているWindowsだと、プログラミングの第一歩の敷居が高すぎるんだと思われ。
開発環境があって、書籍があっても、辞書一冊を渡されて「この本を翻訳しなさい」と言われてる状態だからなぁ。
SmalltalkやEmacsみたいに、ベースである程度使える環境に機能を付け足していくって言う方が今は敷居が低そうだ。
あと、最近の環境はプログラムのエントリーポイントが判りづらいのが多い…
0700デフォルトの名無しさん
2010/11/22(月) 02:31:490701デフォルトの名無しさん
2010/11/22(月) 04:38:26関数型言語のことですねわかります
0702デフォルトの名無しさん
2010/11/22(月) 16:20:55実装剥き出しのオブジェクト指向でどう考えても初心者向きじゃないし
多くの初心者がプログラムと聞いてイメージするGUIアプリ開発には使い物にならんのに
0703デフォルトの名無しさん
2010/11/22(月) 17:03:300704デフォルトの名無しさん
2010/11/22(月) 17:15:19person.name="仙石";
のとき
<Button.Content="私は"+person.name+"です"。/>
で
私は仙石です
person.nameが"管"に変わった瞬間
私は管です
って表示されるみたいなことやりたいんだけど。
0705デフォルトの名無しさん
2010/11/22(月) 17:38:47以前はちょっとした変換にもコンバーターが必要になって面倒だった。
MultiBindingと組み合わせれば姓・名が別々になっててもXAMLだけで結合できる。
0706デフォルトの名無しさん
2010/11/22(月) 17:41:400707デフォルトの名無しさん
2010/11/22(月) 17:54:55そういうTipsみたいなのってどこに書いてるの?
WIndows Formだとテクニック集みたいなページがいっぱいあるけど
WPFは小技/裏技みたいなページがないから困る・・・
0708デフォルトの名無しさん
2010/11/22(月) 19:43:34あちこちのブログでも取り上げてあるから、検索してたらその内たどり着くんじゃないか。
0709デフォルトの名無しさん
2010/11/22(月) 19:58:08何やるにしてもBindingやナンチャラTemplateでお好きにどうぞという話になるので、
結局その辺から勉強することになる。
0710デフォルトの名無しさん
2010/11/22(月) 20:14:20テンプレートを利用すれば
なんかキモイもの作れるね
ボタンにTextBlockをテンプレートに組み込んで
テキストボックスのようなボタンを作ったり。
0711デフォルトの名無しさん
2010/11/22(月) 21:07:14wpfは個人がちくちく作るツール向けの開発者ツールなんかじゃないし。
winformの時代もonpaintをオーバーライドしてなんかするなんて滅多に無かっただろ?
wpfの胆は見た目周りは実はどうでも良くて、MVCをきちんと分けるためのインフ
ラが揃ってることだと思うんだけどなあ。
0712デフォルトの名無しさん
2010/11/22(月) 21:21:48玄人になると見た目周りにこだわりを持つようになる
0713デフォルトの名無しさん
2010/11/22(月) 21:24:19要求されたことを完璧にこなすだけ。
0714デフォルトの名無しさん
2010/11/22(月) 21:42:190715デフォルトの名無しさん
2010/11/22(月) 23:00:25office製品は昔はヘルプがイルカだった。
検索したい文字を入力してください
とかいう味気ないダイアログボックスを出すよりイルカのほうがよかったんだろう。
office 2007からも
今までのメニューバー
(ファイル 編集 表示とかいう文字ベースのやつ)を完全に撤廃し、
今までのやり方や操作性を犠牲にしてまでリボンとかいうグラフィカルな項目にした。
Microsoftにとっては見た目が非常に大事なんだろう。
0716デフォルトの名無しさん
2010/11/22(月) 23:25:530717デフォルトの名無しさん
2010/11/22(月) 23:38:14俺はイケメンクラスを継承してないのでリア充になれなかった。
俺も顔のテンプレートを修正したい。
0718デフォルトの名無しさん
2010/11/22(月) 23:40:40お前の心の中にな!
0719デフォルトの名無しさん
2010/11/22(月) 23:41:29dataContextとかいうオブジェクト型の特殊な変数があって
そこになんか代入すればいいんだな!?
じゃあバインディングしたいデータがいっぱいあったらどうするんだ!?
dataContextはひとつしかないぞ!
なんか方法あるらしいが、わかんねええええええええええ
0720デフォルトの名無しさん
2010/11/22(月) 23:50:50結合があるんだそんなわけあるめえ
0721デフォルトの名無しさん
2010/11/22(月) 23:53:04>>715
UXを重視した結果
0722デフォルトの名無しさん
2010/11/23(火) 00:35:34殺意をMicrosoftやOffice自体ではなく、
それと無関係なイルカに向けるという高度なUX重視判断の結果だなw
0723デフォルトの名無しさん
2010/11/23(火) 00:37:12| ┌────────────┐
| | お前を消す方法 |
| | |
| └────────────┘
| [ オプション(O) ] [ 検索(S) ]
|
`──────────┐ ┌───
, '´l, ..| ./
, -─-'- 、i_ |/
__, '´ ヽ、
',ー-- ● ヽ、
`"'ゝ、_ ',
〈`'ー;==ヽ、〈ー- 、 !
`ー´ ヽi`ヽ iノ
! /
r'´、ヽ
`´ヽノ
0724デフォルトの名無しさん
2010/11/23(火) 00:51:01おまいら、よくわかってるじゃん
0725デフォルトの名無しさん
2010/11/23(火) 01:30:01MS擁護派の俺でもイルカは邪魔だと思うわw
0726デフォルトの名無しさん
2010/11/23(火) 01:37:310727デフォルトの名無しさん
2010/11/23(火) 01:50:32Vistaからその辺気にしなくてよくなった
0728デフォルトの名無しさん
2010/11/23(火) 02:09:24メニューなど入れ子になってる場合、親メニューをいじるだけでいいから楽チンだわ
0729デフォルトの名無しさん
2010/11/23(火) 02:12:01まあでも、擁護派・アンチ問わずありとあらゆる方面から「要らない」と言われた結果、
次バージョンでとっととイルカ消してくるのはいいところだと思う。
0730デフォルトの名無しさん
2010/11/23(火) 02:29:27なつかしいな
0731デフォルトの名無しさん
2010/11/23(火) 02:46:08>つぶやき始めてから、これまでにいただいたつぶやきで、一番多いのが「お前を消す方法」。。。たしかに、いろいろと言われてたのは知ってましたが。。。キュッ #saeko2010
0732デフォルトの名無しさん
2010/11/23(火) 03:11:17WPFアプリ作った時に最初に出てくるMainWindowにテキストボックスが二つあって
その両方がバインドするやり方はわかった。
binding elementname=textbox path=text
みたいにやればいいだけみたいだ。これは簡単だった。
じゃあMainWindowの他に、CTRL+SHIFT+Aで新しい項目→WPFウィンドウ(名前はWindow1)を作り
その二つ目のWindow1にテキストボックスを配置し
Window1.TextBoxとMainWindow.TextBoxをバインドさせる方法はどうやればいいか教えてくれ。
0733デフォルトの名無しさん
2010/11/23(火) 03:16:250734デフォルトの名無しさん
2010/11/23(火) 08:32:560735デフォルトの名無しさん
2010/11/23(火) 12:17:420736デフォルトの名無しさん
2010/11/23(火) 12:22:45一応、Grid のセル内の相対 Margin になるので、
Canvas よりは幾分かウィンドウサイズ変更に強いと思う。
0737デフォルトの名無しさん
2010/11/23(火) 17:04:07一体何がどうしてこんなことになったのか分からないからどうやって改善すればいいのやら。
0738デフォルトの名無しさん
2010/11/23(火) 17:09:5030行だと何かやらかしてるとしか思えんな
0739デフォルトの名無しさん
2010/11/23(火) 18:52:10CanvasPanelというコントロールは御座いません。
0740デフォルトの名無しさん
2010/11/23(火) 19:14:200741デフォルトの名無しさん
2010/11/23(火) 19:39:430742デフォルトの名無しさん
2010/11/23(火) 19:58:070743デフォルトの名無しさん
2010/11/23(火) 20:40:55ワンパスで描画できるの?
0744デフォルトの名無しさん
2010/11/23(火) 20:43:50どういうのを言ってるかわからんがwinformでもグラデーションブラシを使えば2色の合成は簡単だけど
0745デフォルトの名無しさん
2010/11/23(火) 20:44:22いざ実際にアプリ作るのは設計がむじゅいね。
以前作ったFORMアプリを移植しようとしたらイベントぐちゃぐちゃで我ながら萎え萎え。
がんばる。
0746デフォルトの名無しさん
2010/11/23(火) 20:57:22MVVMは実際に設計すると非常に悩ましい。
・Command内の処理からダイアログをどうやって出そうか?
・フォーカス制御にはViewのインスタンスが必要じゃん
・値の検証はMでするの?VMでするの?
・"最大値"、"最小値"のようなパターンってどうやってエラーだすのよ
・数値入力フォームにアルファベットを入れたらどこでどうエラー処理する?
・一つのMで複数のVMが居る場合どうすんのよ、コレ
こういう綺麗にMVVMが当てはまらない場所全てで頭を抱え込むことになる。ガンバレ。
0747デフォルトの名無しさん
2010/11/23(火) 21:24:38・VMのダイアログをだすよ処理にViewからインジェクト。だすよというよりIConfirmとかそんな感じ。
・フォーカスはViewですればいい。Focusなどの状態自体がVM、Mまたーなら話は別だが。
・MがVMからしかいじられないならVMで。でないなら両方ヤッとけ。
・VMでエラー吐いて表示などなどViewでやっとけ。
・上と同様。
・Observerパターン使え。
0748デフォルトの名無しさん
2010/11/23(火) 22:08:360749デフォルトの名無しさん
2010/11/23(火) 23:38:55外枠を担当するMVVMセットがあって、さらにタブ毎にMVVMセットがあるような
モデル?
0750デフォルトの名無しさん
2010/11/23(火) 23:52:49その上位に、ドキュメントマネージャー的なのが居るのかな。
ウィンドウ自体のVMがドキュメントマネージャー持ってて、
タブごとのVMがドキュメント持ってるって感じじゃないかな。
0751デフォルトの名無しさん
2010/11/23(火) 23:54:18Evernoteクライアントのversion 3をダウンロードして動かしてみれ。
0752デフォルトの名無しさん
2010/11/24(水) 01:33:55やっぱりそんな感じよね
WPF自体経験ないからうんうん唸る
>>751
あれは重かった…
0753デフォルトの名無しさん
2010/11/24(水) 01:39:320754デフォルトの名無しさん
2010/11/24(水) 01:57:42オプション設定のVは作ったのだけど、この後どのようすればいいですか?
Vの起動方法とVの設定値の取得方法が想像つかないんですが
0755デフォルトの名無しさん
2010/11/24(水) 02:01:15従来のタブ切り替えみたいな方式じゃなくて、
XAMLらしくリンクとして実装してあげるといいだろうね。
0756デフォルトの名無しさん
2010/11/24(水) 03:01:47TextBox.Textと普通のプロパティをバインdする方法はわかったんだが
インデクサはどうやればいい?
たとえばLabeの文字を
str[i]とバインドして
str[0]="A";
str[1]="B";
str[2]="C";
i=0になった瞬間LabelがAになって
i=1になった瞬間B、i=2の瞬間C
みたいな感じ。
ValueCangeイベントのようなイベントで処理したり
なんとかタイマーで、0,01秒ごとにLabelのContentを変える
みたいな処理しかわからない
0757デフォルトの名無しさん
2010/11/24(水) 03:06:10{
get{return str[i];}
}
をバインドする
iのsetterでhogeのpropertyChangedをおこす
0758デフォルトの名無しさん
2010/11/24(水) 03:53:39そもそも i の変更に合わせてっての自体やらない。
i の変化自体、たぶん、ListBox の SelectedIndex とかの変化と連動してる場合が多いから、
i を介さず、直接 SelectedItem をデータバインディングしてしまう方が早い。
↓コレクション走査パスの指定ってのもできるし。
http://www.atmarkit.co.jp/fdotnet/chushin/introwpf_05/introwpf_05_02.html
0759デフォルトの名無しさん
2010/11/24(水) 10:53:38<Style TargetType="{x:Type ComboBox}">
<EventSetter Event="SelectionChanged"
Handler="SampleList_SelectionChanged" />
</Style>
動的にイベント有無を変更したいので、コードで書きたいのですが。
0760デフォルトの名無しさん
2010/11/24(水) 19:45:24ルーティングイベントだけは〜〜Eventって名前の静的フィールド
0761デフォルトの名無しさん
2010/11/25(木) 01:55:11そろってるコントロールやパネルとかが優秀すぎて
XAML使ってもいいけど
仮に全部C#コードで書いたとしても別に問題にならない
0762デフォルトの名無しさん
2010/11/25(木) 01:58:040763デフォルトの名無しさん
2010/11/25(木) 02:05:10プログラムの外観とロジックを分離させるために作った
みたいに書いてるけど
俺みたいな外観もロジックも一人で造らなきゃならないぼっちにとっても
勉強したほうがお得なの?
0764デフォルトの名無しさん
2010/11/25(木) 02:11:53というより、使わなきゃUIデザイナーの支援を受けられないんだから、嫌でも使うことになる。
0765デフォルトの名無しさん
2010/11/25(木) 05:03:31外観とロジックを分離することとぼっちは関係ないよ
0766デフォルトの名無しさん
2010/11/25(木) 05:54:52宣言的にオブジェクトを配置するXAMLと、
手続処理を中心としたプログラムコード。
普通の静的なUIデザインには、前者の方が向いてるよね。
0767デフォルトの名無しさん
2010/11/25(木) 06:01:04ローカルでhtml+css+javascript流し込んで実行してるような感じかな・・・
WinFormで凝ったGUIやると面倒だな〜->ブラウザコントロールが結構使えるなあ->WPFでいいじゃん
みたいな感じ
まー必要ない人には必要ないかもしれない
0768デフォルトの名無しさん
2010/11/25(木) 06:07:55それはUIデザインのコーディングスタイルだけの話じゃないか?
WPFは強力なバインディング機構の方がキモだろ。
0769デフォルトの名無しさん
2010/11/25(木) 06:52:410770デフォルトの名無しさん
2010/11/25(木) 07:23:37UIデザイナー?そんな形態持ってる企業なんてない
0771デフォルトの名無しさん
2010/11/25(木) 08:39:44きっと
0772デフォルトの名無しさん
2010/11/25(木) 09:43:23■ このスレッドは過去ログ倉庫に格納されています