1 名前:デフォルトの名無しさん [2009/01/09(金) 22:14:36 ] あたらしいGUI FW、WPFについて語るすれ。 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。 Visual Studio 2008 ttp://www.microsoft.com/japan/msdn/vstudio/ Microsoft .NET Framework 3.5 Service Pack 1 ttp://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=ja WPF Toolkit - October 2008 Release ttp://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=15598 関連スレ Microsoft Silverlight 2.0 その3 ttp://pc11.2ch.net/test/read.cgi/tech/1227324813/ 過去スレ 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/
607 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 00:35:45 ] そもそも、WPFうんぬん以前に.NET Frameworkでコード書ける人間が 俺一人ってどういうことだよ、この職場wwww なんかもう、OOPについていけないSEがその辺にごろごろいる コーディング?VBなら一通りできますよ?みたいな。もう死ねよ
608 名前:604 mailto:sage [2009/04/04(土) 00:49:05 ] >>605 IServiceProvider の使い方がわからないわけでなく、 UserControl を継承したクラスのなかで、どうやって IServiceProvider を得るのかがわからないんです。
609 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 01:18:15 ] >>607 お前みたいなのでも雇ってるんだから ずいぶん寛大な会社だと思うんだが。
610 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 01:24:40 ] >>608 多態性(polymorphism)というOOPの概念を知ってるか? というか、インターフェイスの使い方がよくわかってないんだろう・・・ 俺の職場にゴロゴロいるやつらと同じだwww C++では多重継承は変態コーディングで害悪だ、みたいな空気があったけど C#では標準ライブラリからして、インターフェイスを使った多重継承が常識になってるんだよ
611 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 01:43:26 ] >>604 間違ってたら、ごめんね。単純に XAML で定義した StaticResource を使いたいってだけなら、 FindResource メソッドが UserControl の基底クラスで定義されているので、それを使えば良いよ。 msdn.microsoft.com/ja-jp/library/system.windows.frameworkcontentelement.findresource.aspx > Brush brush = (Brush)FindResource( "Key" ); StaticResourceExtension は XAML 拡張マークアップ( Background={StaticResource ...} みたいな書き方 ) を 定義しているだけのクラスなので、通常、コードから使う必要はないです。
612 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 07:10:55 ] >C++では多重継承は変態コーディングで害悪だ、みたいな空気があったけど アホが使うとな。
613 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 07:48:51 ] もうだめかもわからんね
614 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 08:49:24 ] >>610 文句言うだけで回答出来ねぇw ワロス
615 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 17:29:46 ] >>610 インターフェースと多重継承ごっちゃにすんなよ。 区別がついてない時点でおまえもその職場の奴らと同類だ。
616 名前:604 mailto:sage [2009/04/04(土) 18:08:22 ] >>611 教えていただいた方法で無事リソースを得る ことができました。 ありがとうございました。
617 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 07:50:59 ] 小賢しい暴言書きちらすような奴は >>610 結局手前が一番何もわかっていない糞馬鹿だということの典型モデルですな 要素に対するシステム特有の扱いへの質問にすぎんものに >多態性(polymorphism)というOOPの概念を知ってるか? もう痛さ百乗
618 名前:デフォルトの名無しさん [2009/04/06(月) 12:30:35 ] >>610 最後2行はネタであると願っております。
619 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 12:48:51 ] >>610 は間違いなのか? 結局何が答えなのか・・・
620 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 13:06:06 ] >>610 の最後に行は間違いなくネタ
621 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 13:10:23 ] >>610 はOOP概念に拘ってるようですが、 プログラミングの基本は抽象化です。別にOOPに限った話ではありません。 インタフェースは使い方はそれほど重要ではなく(簡単なので)、インタフェース という実現方法が問題解決の副次的要素です。 多重継承問題は、抽象化プログラミングと深く関わっています。 このまま解説を続けても良いですけど、WPFスレなので スレ汚しになるので控えさせてもらいます。
622 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 13:21:16 ] 構わん、続け給え。
623 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 13:28:21 ] 私の貴重な時間を奪わないでください。
624 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 01:30:02 ] ピタゴラスイッチの「ぼくのおとうさん」という歌が、何気にインターフェースの概念をよく表しているよな。 お店にはいるとお客さん、歩いていると通行人。でもインスタンス(おとうさん)は同じ。
625 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 04:04:10 ] >>610 の人気に嫉妬w いまごろ泣いているんだろうなぁ
626 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 08:56:07 ] >>607 うちの会社でやらないか?
627 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 12:06:13 ] ねーよw
628 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 01:45:10 ] 大きいです
629 名前:デフォルトの名無しさん [2009/04/08(水) 02:51:59 ] WPFおもれーな、しかしAtom270ではデバッグ後の復帰がおもてーwww
630 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 08:20:58 ] >>629 Atomじゃなくても重いから
631 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 16:23:00 ] >>629 VSのスタートアップページ(RSSとかプロジェクトとかが表示されてるタブ)を閉じておくと なぜか復帰が早くなることがあるよ むしろ、なぜかスタートアップページを表示しておくととてつもなく時間がかかる なんでこんな無駄なページが毎回起動時に表示されるのかが分からん
632 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 16:35:25 ] >>629 どうやって楽しんでる?満足に理解できないでしょ?
633 名前:630 mailto:sage [2009/04/08(水) 17:07:09 ] >>631 トンクス、スタートアップページは閉じてみます。 >>632 そうだね、まだWPF/XAMLの国内本を3冊と、 MSDNしか読んでないしな〜。 WindowsFormの代替品としてテストしてるけど、 ユーザーコントロールを簡単に部品として作成できるの嬉しい。
634 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 17:43:21 ] >>633 俺はWPF関連の情報はネットを中心にかき集めてるわ 評価版リボンUIつけられて、アプリボタンのStyle書き換えもうまくいったけど、評価版だからやっぱり不安定だわ。 2010が待ち遠しい
635 名前:630 mailto:sage [2009/04/08(水) 19:01:21 ] >>634 おれは情弱だからWebでいい資料を探す技術がないんだよ〜。 それはさておき、VS2010とBlend3.0は気になる!
636 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 20:21:48 ] Blend3.0はどうでもいいけど、VS2010は買いだな。 VS2008はWPFの開発環境がまだまだ発展途上だもん。 2010になると強化されるらしいが・・・。 今別なこともやってて、VS2008買おうか迷ってるんだが、 来年VS2010が控えてるからなー・・・。今2008買っても損しそう。 2010買ったら数年使い倒せると信じたい。
637 名前:デフォルトの名無しさん [2009/04/08(水) 22:14:06 ] 一年前と比べるとちょっと賑やかになってきたな あと2年ぐらいたてば主流になれるのかな
638 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 01:20:59 ] 早くても3年以上はかかるだろうな
639 名前:デフォルトの名無しさん [2009/04/09(木) 01:55:23 ] WPFのサブセットのSilverlightを使ってしまうと、 もはやHTML+css+Javascriptなんてやりたくなくなるな。
640 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 02:03:10 ] やりたくならなくならないのか
641 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 09:10:40 ] >>636 つサンブスクリプション1年分
642 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 13:44:59 ] >>641 そういう買い方(レンタル)もあるのですね。 マイクロソフトのサイトを確認しても価格が見つかりません。 1年分でいいのでサブスクリプションしたいなぁ。
643 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 14:01:28 ] >>642 ttp://msdn.microsoft.com/ja-jp/subscriptions/dd197624.aspx
644 名前:デフォルトの名無しさん [2009/04/09(木) 14:07:42 ] エッセンシャルWPFは初心者向きですか?
645 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 14:23:01 ] >644 初心者って言うか、最初に通しで読んで、設計思想とか、 何でそうなってんの?って部分について「へー」と納得する為の本。 後でリファレンスマニュアルとして読み返すような部分はない。
646 名前:デフォルトの名無しさん [2009/04/09(木) 14:58:19 ] >>645 レスthxです。 Pro WPF買って読んでるんですが、ちょっと難しいなと感じています。 WPFに馴染んでおくという意味で、エッセンシャルWPFを 先に読んでおくとProも理解しやすくなりますかね?
647 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 15:52:24 ] 入門本としては黒い表紙のXAML本がおすすめかな。 APIだけでやりたいなら赤坂本があるけど、 WPFの威力が半減以下にw エッセンシャルは黒XAML本の後に読んだ方が理解が早いかな、 内容自体はかなり重複してるけどね。
648 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 15:54:42 ] 黒xamlじゃわかんねーよ WPFの本、店頭に並んでないんだから
649 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 16:03:14 ] アマゾン XAML でググれば一番上に出てくるよ。
650 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 16:07:21 ] お前、いいやつだな、惚れた
651 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 16:10:39 ] いいのかい?そんなにホイホイ惚れちまって・・・
652 名前:デフォルトの名無しさん [2009/04/09(木) 16:19:27 ] >>647 thx 本屋で黒XAMLを見てみます。
653 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 23:41:06 ] 本題なんか?みに行けば軽く吹き飛ぶぐらいなもんなんだから気になったのはどんどん買っとけ かぶったなら後輩にあげろ
654 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 03:02:22 ] >>647 の言うとおり 赤坂本はやめとけw
655 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 14:26:47 ] XAMLは@ITの連載記事でなんとかなった。
656 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 21:29:32 ] 有名どころのサイトだと、The Code Project のサンプル群が役に立つ。 あと Dr.WPF とか。本はエッセンシャル WPF が良かった。 XAML を書いてると、オーサリングソフトなしで HTML を書いてる気分になるが、 慣れれば GUI ポトペタより手書きの方が楽だね。 VS 2010 では、XAML 中の Binding などにも、インテリセンスが効くようになるそうだから、 ますます手書きが良くなるな。
657 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 00:03:31 ] winformレベルのポトペタ環境にした程度ではWPFはカバーできないってだけの気も
658 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 00:09:21 ] なんかあれだ。Blend 併用したほうがいいんじゃないか みたいな気がする。VS 持ってるなら高くないし。
659 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 00:51:25 ] ブレンドみたいなフリーソフトが出てきたら本気出す
660 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 00:56:20 ] 作ろうと思った時期があった。 インテリセンスの実装ができなくて挫折した。 (その前に入力したコードに色つけんのもね。実装してみたけどさすがにもたつきすぎで、バグりすぎで)
661 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 16:09:59 ] Win32→COM→.NETLib→WPF/XAML
662 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 16:34:51 ] Dependency Propertyが難しい。。 いきなり詳細を見るのは無謀かな。
663 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 21:56:26 ] UserControl をつくって、そのなかに Rectangle を配置しました。 enum Level { Low, High }; を作成し、Level という名前の DependencyProperty を作成しました。 で、Level に応じて Rectangle の色を変えようと思い、 <Rectangle> <Rectangle.Style> <Style TargetType="{x:Type Rectangle}"> <Style.Triggers> <Trigger Property="local:Usercontrol1.Level" Value="High"> <Setter Property="Rectangle.Stroke" Value="Red" /> </Trigger> <Trigger Property="local:Usercontrol1.Level" Value="Low"> <Setter Property="Rectangle.Stroke" Value="Blue" /> </Trigger> </Style.Triggers> </Style> </Rectangle.Style> </Rectangle> としたところ、コードビハインド内で、Level を変更しても Rectangle には 反映されませんでした。 どこが問題なんでしょうか?
664 名前:デフォルトの名無しさん mailto:sage [2009/04/12(日) 22:26:07 ] >>663 DataTriggerでElementNameとかRelativeSourceとか使ってUserControl1のプロパティを参照するバインディングを使う Trigger.Propertyは基本的に自分自身のプロパティが対象だよ
665 名前:デフォルトの名無しさん [2009/04/13(月) 02:07:34 ] GridSplitterの挙動で質問です。 現在GridでRowを12、Columnを2で区切り、 それぞれ下記のように使用しております。 <Canvas Grid.Row="0" Grid.Column="0" Grid.RowSpan="12"/> <Canvas Grid.Row="12" Grid.Column="0" Grid.RowSpan="3"/> <Canvas Grid.Row="0" Grid.Column="1" Grid.RowSpan="7"/> <Canvas Grid.Row="7" Grid.Column="1"/> <Canvas Grid.Row="8" Grid.Column="1"/> 見かけはVSの配置と似たような形になります。 そこでそれぞれのペインの幅や高さを調整したい為に、 GridSplitterを使用して境界を作成しました。 <GridSplitter Margin="1" Height="5" Grid.Row="0" Grid.Column="0" Grid.RowSpan="12" VerticalAlignment="Bottom" HorizontalAlignment="Stretch"/> <GridSplitter Margin="1" Width="5" Grid.Row="0" Grid.Column="0" Grid.RowSpan="15" VerticalAlignment="Stretch" HorizontalAlignment="Right"/> このGridSplitterのうち、最初に作成した方がドラッグしても 設定が正しくないらしくまったく移動しません・・・。 よくない箇所などございましたらご指摘くださいませ。
666 名前:デフォルトの名無しさん [2009/04/13(月) 07:45:48 ] 開発ツールだとか開発フレームワークでお作法が難しいのはかまわない いずれ慣れる。しかし概念が難しいもんはいずれ廃れる。 wpf/xamlはどうも後者のような気がするんだがなあ。
667 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 13:23:24 ] MSDNってわかりやすい? プログラミングはじめたばかりなこともあってか、内容読んでてもなんか理解しづらい。 階層も複雑だし。
668 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 13:31:24 ] 他の情報サイト見に行くようにわざと読みにくくつくってある ユーザーサポートがめんどくさいから
669 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 13:35:45 ] わからんとむかついたときは、フィードバック書いてる
670 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 16:15:16 ] MSDNはリファレンスとして以外は使えん。リファレンスとして使う場合も、日本語版は 意味不明な訳語のせいで読んでもさっぱり判らないことが結構多いので、 英語版と両方当たるべし。 入門記事やTipsは、日本語に拘らなければネット上に無料でいっぱい転がってる。 まぁ、ようするに、日本で人気が出ていない技術を触るなら、英語で探せってこった。
671 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 18:35:39 ] .NETの訳はなかなかいいよ。 Win32APIの訳がクソなのは同意だが。
672 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 18:39:48 ] Win32APIは訳がクソ以前にそもそも存在してないの多数だからな…