トップページtech
1001コメント282KB

WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/12/27(日) 10:58:30
あたらしいユーザーインターフェースシステム、Windows Presentation Frameworkについ
て語るスレ。.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 - June 2009 Release
ttp://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29117
Visual Studio 2010
ttp://www.microsoft.com/japan/msdn/vstudio/2010/overview/

関連スレ
Microsoft Silverlight その4
ttp://pc12.2ch.net/test/read.cgi/tech/1244812356/

過去スレ
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/
04844782010/03/28(日) 21:21:56
>>482
なるほど、考えを改めます。
ありがとうございました。
0485デフォルトの名無しさん2010/03/29(月) 21:53:38
Blendでコードビハインドべったりで書いていくと簡単だったりするんだよなwpf
昔のVBと大して変わんないってくらい
0486デフォルトの名無しさん2010/03/30(火) 08:02:13
macで使われてるGUIのボタンってなんっていいましたっけ・・・
あれを再現は可能ですか?
0487デフォルトの名無しさん2010/03/30(火) 09:03:01
Dockか?
そりゃWPFはまさにああいうことをやるためのフレームワークだから
0488デフォルトの名無しさん2010/03/30(火) 10:29:01
aquaのことじゃないの
0489デフォルトの名無しさん2010/03/30(火) 13:00:22
ボタンの見栄えを自由にするなんてのはお手のもんでしょうな。
別にFormで出来なかったわけでもないけど。
0490デフォルトの名無しさん2010/03/30(火) 21:11:48
WPF Themesにいろいろ綺麗なテーマがあるよ
Macの真似みたいな貧乏臭いことはやめてくれ
0491デフォルトの名無しさん2010/03/31(水) 22:27:14
WPFで3Dグラフィックの仕事をやることになったんだが、皆目見当がつきません。
何か良い本は無いでしょうか。
0492デフォルトの名無しさん2010/03/31(水) 22:46:11
まずは、Essential WPF。後は英語でググレ。
0493デフォルトの名無しさん2010/03/31(水) 23:18:18
そんなもん読んでるに決まってるだろ。
他に無いでしょうか。
0494デフォルトの名無しさん2010/03/31(水) 23:28:13
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→(ry

まぁ、挙げるだけ無駄ってことだなw
0495デフォルトの名無しさん2010/03/31(水) 23:45:33
返答してる人が同一人物である保証すらないしな。
0496デフォルトの名無しさん2010/03/31(水) 23:51:02
idほしいお・・・
0497デフォルトの名無しさん2010/04/01(木) 00:12:50
3D PROGRAMMING FOR WINDOWS
0498デフォルトの名無しさん2010/04/01(木) 07:31:59
WPF 3Dプログラミング―誰でも簡単に3Dゲームやツールが作れる最新技術!
0499デフォルトの名無しさん2010/04/01(木) 11:24:40
WPFによる3Dプログラミングの極意 (民明書房)
0500デフォルトの名無しさん2010/04/01(木) 14:45:12
質問かいてたら答えが見つかったけどもったいないのカキコ

HTMLのMarquee的な動作をするテキストブロックを作ろうと

<Canvas>
  <TextBlock 〜>
</Canvas>

としておいて、
下記のように添付プロパティのCanvas.Leftをアニメーションさせています。

<Storyboard x:Key="test" RepeatBehavior="Forever">
  <DoubleAnimation
    From="1"
    To="100"
    Duration="0:0:10"
    Storyboard.TargetName="textBlock1"
    Storyboard.TargetProperty="(Canvas.Left)"/> <!-- ←なんで括弧が必要? -->
</Storyboard>

括弧がなぜ必要なのか教えてください。
ひょっとして拡張部分のそういう仕様ですか?

仕様でした><
0501デフォルトの名無しさん2010/04/01(木) 21:45:22
GJ
0502デフォルトの名無しさん2010/04/01(木) 22:58:08
Canvas canvas1
Ellipse elli1, elli2

ああるとして

canvas1.Children.Add(elli1);
canvas1.Children.Add(elli2);

とした後に

elli2 だけ Clear することってどうやれば良いんですか?
0503デフォルトの名無しさん2010/04/01(木) 23:01:24
Remove
0504デフォルトの名無しさん2010/04/01(木) 23:07:15
>>503
あ・・・ありがとう。
なんで見つからなかったんだろう。
0505デフォルトの名無しさん2010/04/02(金) 04:26:05
>>491
Practical WPF Graphics Programming
この本なんかはどう?
0506デフォルトの名無しさん2010/04/02(金) 07:52:30
>505
ttp://www.free-ebooks-download.org/free-ebook/dotnet/Framework/practical-wpf-graphics-programming.php

なんかあったがなんかいろいろばら撒く気満載泣きガス・・・
とりあえずダウンロードはできた。中身もあってるっぽいが・・・
0507デフォルトの名無しさん2010/04/02(金) 09:09:51
最近Freeに影響されたかバラ撒くとこ増えたねえ。
それとも欧米では結構昔からこういうことするとこ多かったのかな?
0508デフォルトの名無しさん2010/04/02(金) 09:55:54
ローマ字変数名しか使えない俺には無用
0509デフォルトの名無しさん2010/04/02(金) 10:16:55
少なくともWPFに関する本はほぼすべてネットで拾えてしまうからなあ。
実に由々しき事態だ。(棒)
0510デフォルトの名無しさん2010/04/02(金) 10:19:12
ちょっと目を通してみたけどWPFの本というよりグラフィックスの基礎の本だなあ
普通は可視化にOpenGLとか使うところをたまたまWPF使ってるだけな感じ
0511デフォルトの名無しさん2010/04/04(日) 22:14:21
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/717excelfile/excelfile.html
こちらを参考にしてWPFにExcelファイルを読み込まれるまではできたのですが、
これをWPFコントロールにそのまま表示させることって出来ないのでしょうか。

セルの1つひとつの情報を取ることはできるので
Gridをひいてセルを写すことは可能なのですが、
Excelの表をそのままWPFのwindowに表示させたいのです。

それとも、セルから全部コピーしないとダメなのでしょうか?
0512デフォルトの名無しさん2010/04/05(月) 01:03:51
>WPFにExcelファイルを読み込まれる
たぶんもうちょっと理解してから弄った方がいい(というかformsで構築したほうがいいだろ)
こういう方法はあるみたい
http://social.msdn.microsoft.com/Forums/ja-JP/wpfja/thread/b0612ddb-2390-4458-bb3d-86c904509d82
0513デフォルトの名無しさん2010/04/05(月) 02:52:05
>>512
ありがとうございます。
その質問+解答も見ていましたが
やはりその方法しかないみたいですね。
まずはWinFormで作ってみてから
WPFに応用してみます。

※Animationを使いたいので、WPFのが良いんです。
0514デフォルトの名無しさん2010/04/06(火) 00:11:32
BeginAnimationって、
「さーアニメってこい!」
ってゴーサイン出すだけじゃん?

FromからToまで行き終わったときに
何か処理して欲しい場合って
どうすれば良いの?

FinishedAnimationとかあれば良いのに。
0515デフォルトの名無しさん2010/04/07(水) 13:49:44
completedイベントなかったっけ
0516デフォルトの名無しさん2010/04/08(木) 00:05:35
もうexpression4が出るのか・・・まあ出るわな
なにが変わるのかわかる資料が全然見当たんないなー
0517デフォルトの名無しさん2010/04/09(金) 01:02:24
まだ出ないんじゃない?
0518デフォルトの名無しさん2010/04/09(金) 01:05:14
無料あぷでは確定です
0519デフォルトの名無しさん2010/04/10(土) 00:12:37
Focus()して成功する条件って何でしょう?
キーボードフォーカスをそのエレメントに移動できなければfalse、ってのは分かるのですが
そもそもキーボードフォーカスを移動できる条件って何でしょうか?
0520デフォルトの名無しさん2010/04/10(土) 06:20:25
ウインドウの初期化が終わる前にコントロール関連のメソッドを呼ぶなと
05215142010/04/11(日) 15:59:49
>>515
おそくなりましたが
ありがとうございました。
0522デフォルトの名無しさん2010/04/11(日) 21:49:49
>>520
CheckBoxのIsCheckedをTrueにしてると、初期化中にチェックイベントが実行されたりするあれ?
0523デフォルトの名無しさん2010/04/13(火) 17:17:58
Expression BlendとかWPFで作られたソフトが起動しなくなった
0524デフォルトの名無しさん2010/04/13(火) 17:33:22
環境壊れてるんじゃないか
0525デフォルトの名無しさん2010/04/13(火) 21:48:30
趣味でWPFで3Dモデリングツールを作ろうとしてるんだけど、OpenGLとかDirectXでやった方が幸せかな?
ざっくりした質問で悪いけど、皆さんWPFの3Dって総合的にどう評価してます?
0526デフォルトの名無しさん2010/04/14(水) 05:48:41
>>525
「wpf direct3d 制約」でググるいいよ。
正直、WPFの3Dっておまけ機能だと思ってるけど。
0527デフォルトの名無しさん2010/04/14(水) 10:17:47
UIはWPFで3DビューはD3DImage+MDX/SlimDXくらいが現実的なんじゃね
0528デフォルトの名無しさん2010/04/14(水) 13:52:27
http://msdn.microsoft.com/ja-jp/windows/cc811510.aspx
XAMLなんて誰が考えたんだ?
こんなソース読む気も書く気もしねー
0529デフォルトの名無しさん2010/04/14(水) 13:58:43
めちゃめちゃ頭のいい人
ただ、凡人の限界を知らなかったらしい
0530デフォルトの名無しさん2010/04/14(水) 14:02:34
100円の和菓子1つを10万円の箱に入れてるようなもんだな
0531デフォルトの名無しさん2010/04/14(水) 15:10:29
ツールの使用を前提にしてるよなぁ〜
0532デフォルトの名無しさん2010/04/14(水) 15:45:31
ワロタ
Xamlコードを出力するツールをまず自作しなきゃな。
blend?高いしイラネ
0533デフォルトの名無しさん2010/04/14(水) 17:04:29
コードで計算してジオメトリ作ってxamlで書き出すんだよ?
まあなんとかいうモデリングソフトで書いてxaml出力してもいいけどね
0534デフォルトの名無しさん2010/04/14(水) 18:41:57
>>528
> 2 次元から抜け出そう

心にぐさりと来ました
0535デフォルトの名無しさん2010/04/14(水) 19:02:31
まだ入り込めてもいないのに
0536デフォルトの名無しさん2010/04/14(水) 20:04:03
まあ普通はツールで出力するだろ
そのためのXMLだ
0537デフォルトの名無しさん2010/04/14(水) 20:15:00
WPFの3Dって、モデリングツール(DirectX)で画像処理ー>XAMLフォーマットで出力という使い方を想定してんじゃねえの?
わざわざ手かせ足かせを嵌めて走る意味はなかろう。
0538デフォルトの名無しさん2010/04/14(水) 20:59:43
Visual Studio 2010 + WPF4.0
を使っている方は少ないと思いますが、
「これが原因じゃない?」程度でも構いませんので
何か思い当たることがありましたら、お願いします。

■質問内容
以下の2つの方法で、挙動がことなります。
 1) xmalで Button を配置して Click イベントを与えたもの
 2) csファイルに Button b = new Button(); b.Click += new RoutedEventHandler(hoge);
  として Click イベントを与えたもの

■挙動
 1) Win7+タッチ対応ディスプレイにて、タッチでも Click が反応します
 2) Win7+タッチ対応ディスプレイにて、タッチでは Click が反応しません

ButtonをManipulationで操作したいため、TouchUp などは使えません。
ボタンの Click イベントを 2) の方法で生成した Button に対して適用したい
のですが、どのようにしたら良いかアイデアが思いつく方、お願いいたします。
0539デフォルトの名無しさん2010/04/14(水) 23:46:11
MouseMoveとか他のイベント捕まえてみたら?
0540デフォルトの名無しさん2010/04/15(木) 00:01:33
MouseMoveですか?
ManipulationではなくMouseMoveで
操作しろということでしょうか?
0541デフォルトの名無しさん2010/04/15(木) 07:51:03
WPFってなんでこんなもっさりしてんの?

Direct3Dとか少ししか触ってないので見当違いなこと言ってたらすまん。

1.UIElementツリー
2.Direct3DのVertexBufferとかMesh
3.実際の出力

WPFは主に1の画面要素自体とイベントなどのハンドリング、状態通知でごにょごにょとなどとそれらを2に反映させるものだと思ってるんだが、
1自体が重いのか1から2への変換などが重いのか?
2,3とかは高速なんだろうし、現状では削りようのないところなんだろうけれど。

たとえば画面のボタンの背景色を変えた場合は内部でどんな動作になるんざんしょ。
0542デフォルトの名無しさん2010/04/15(木) 08:03:57
普通に1だろ
ちなみに1と2の間にはもう一つ層がある
Direct3DをGUI向けにラップしたネイティブコードのライブラリを使ってる
0543デフォルトの名無しさん2010/04/15(木) 10:08:43
もっさりっていうならまずスペック更科よ
0544デフォルトの名無しさん2010/04/15(木) 21:06:10
ゲーム作成にWPFを使いたいんですが、文献が少なくて困ってます。
オススメの文献とかありませんか?
0545デフォルトの名無しさん2010/04/15(木) 21:33:45
ゲームってジャンルくらい書きなよ
0546デフォルトの名無しさん2010/04/15(木) 21:40:07
WPFの文献だと日本語のはエッセンシャルWPFぐらいしかないんだっけかね?
0547デフォルトの名無しさん2010/04/15(木) 21:40:59
失礼しました。2Dで、ベクター画像を用いた格闘ゲームです。
ですが、格闘ゲームに限らず、
WPFでのゲームプログラミングの情報自体が見つけられなかったので、
ほかのジャンルの情報でも充分助かります。
0548デフォルトの名無しさん2010/04/15(木) 21:47:43
ギャルゲーくらいですよこれ。
ギャルゲーでビデオカード要求とかあり得ないんでギャルゲーでは主流になってもいいと思います。
0549デフォルトの名無しさん2010/04/15(木) 21:50:22
WPFは基本的にビデオカード要求だけど
0550デフォルトの名無しさん2010/04/15(木) 21:58:28
>>547
「エッセンシャル WPF」
「XAML プログラミング WPFアプリケーションの概要と開発」
このスレではこの2冊がそこそこ評判が良かった。
もし英語に抵抗が無ければ出版数が多い洋書で探した方が良いかと。
個人的には書籍じゃないけどMSDNのサンプルが一番役に立ったよ。

WPFでゲームを作ってる人は少ないだろうなあ。
DirectXかXNAを使った方が良いと思うんだけど。
0551デフォルトの名無しさん2010/04/15(木) 22:29:22
google booksでwpf検索してみたら
だいたい用は足りると思う
0552デフォルトの名無しさん2010/04/16(金) 00:11:31
ボタンの中に画像を置く
ということをXMALではなくC#のコードから実現したいです。

ネタとしては、ここの質問のC#版です。
質問内容を理解しないでXAMLの話をする回答者が多いみたいですが。
ttp://bbs.wankuma.com/index.cgi?mode=al2&namber=38523&KLOG=66

プログラム内で動的にButtonを配置したいため、
XAMLではなくC#から生成したいのです。
画像の情報も動的に取得するので、画像もC#で生成したいです。
(実際には、画像のパスを動的に取得し、そのパスからImageを生成)

ググってもXAMLの話ばかりです。よろしくお願いします。
0553デフォルトの名無しさん2010/04/16(金) 00:23:24
Imageを持ったButtonのUserControlをXAMLで書いておいて、コード内で生成
0554デフォルトの名無しさん2010/04/16(金) 01:45:52
>ということをXMALではなくC#のコードから実現したいです。
そうですか
>質問内容を理解しないでXAMLの話をする回答者が多いみたいですが。
そうですか
>XAMLではなくC#から生成したいのです。
そうですか
>画像の情報も動的に取得するので、画像もC#で生成したいです。
そうですか
>ググってもXAMLの話ばかりです。よろしくお願いします。
なにをよろしくですか
0555デフォルトの名無しさん2010/04/16(金) 01:48:33
ちなみに
38526の回答以外のなにものでもないよ
質問内容を理解しないんじゃなくて、回答読んでも理解できない脳みそを恨め
0556デフォルトの名無しさん2010/04/16(金) 02:02:05
>>554
中身の無いレスだな
お前みたいなのは来なくて良いよ
0557デフォルトの名無しさん2010/04/16(金) 02:11:34
>>556
これがどれだけ程度の低い質問かわかんないってことは本人だろうな・・・
05585522010/04/16(金) 02:19:45
>>553
ありがとうございます。
UserControlなるものを使ったことが無いので
早速調べてみます。

>>554-555
38526がコードの話をしていることは分かっています。
>XAMLの話をする回答者が多いみたいですが。
と書いているのは、それを示しています。
38526の回等と>>553氏のレスが同値だと分かるレスを
していただき、ありがとうございます。

>>556
555のレスから得たことがありますので大丈夫です。

>>557
552は私です。
UserControlの話など、もっと汎用的な調べ方をすれば
沢山情報が得られるのかもしれませんが、具体的な事例が
あまりないというのは、それだけ壊滅的なほどに初歩的ということなのですね。


もっと勉強します。ありがとうございました。
0559デフォルトの名無しさん2010/04/16(金) 02:20:54
>>557
は?程度の低さは関係ないだろ
どれだけ馬鹿なんだよ
0560デフォルトの名無しさん2010/04/16(金) 02:21:32
>>558
違うよ
ButtonオブジェクトのContentプロパティにImageオブジェクト突っ込めばいいだけ
0561デフォルトの名無しさん2010/04/16(金) 02:22:47
>>559
はいはい
お前が気の済むように回答してやれよ
0562デフォルトの名無しさん2010/04/16(金) 02:29:42
>>561
>はいはい
え?マジで分かってないの?
こりゃ重症だな。関わらないでおくよ。

>お前が気の済むように回答してやれよ
うわーまいったねこりゃ。
既に解答が出ているのに更に回答しろと?

別の機会に謹んで回答させていただきますw
0563デフォルトの名無しさん2010/04/16(金) 02:32:36
>>562
中身の無いレスだな
以下略
05645582010/04/16(金) 02:55:46
>>560
お恥ずかしいです。ありがとうございます。

質問をする前にスレを見返していましたが、
人を馬鹿にするレスしかしない人が多い中、
あきれずに回答していただきありがとうございました。
0565デフォルトの名無しさん2010/04/16(金) 06:49:02
横着せずにWPF入門書を最初から読んでいけばコントロールの追加方法なんて最初にかいてある。
なんで未知の言語なのにチュートリアルすっとばそうとするかな。

別にすっとばしてもいいけどひとりで悩んでくれよ。ひとのせいにすんな。
0566デフォルトの名無しさん2010/04/16(金) 07:26:49
これだからIDの無い板は。
0567デフォルトの名無しさん2010/04/16(金) 07:51:10
>>565
おおむね同意だが

>ひとのせいにすんな。
これってどこを見て感じたことなんだ?
なぜこう感じたのか、俺には全く分からんのだが。
0568デフォルトの名無しさん2010/04/16(金) 11:50:17
blend4のベータ出たな
http://www.microsoft.com/expression/products/Blend4RC_Features.aspx
めぼしい機能追加はピクセルシェーダくらいじゃないのかな
あとはギャラリーで公開してくれれば済むような追加しかないような
0569デフォルトの名無しさん2010/04/16(金) 11:59:39
ああでも3->4のアップグレードは全員無料なのか
0570デフォルトの名無しさん2010/04/16(金) 12:02:40
スレ伸びてるから WinSDK 7.1 でも出たのかと思ったら・・・

>>552
>質問内容を理解しないでXAMLの話をする回答者が多いみたいですが。

XAML ←→ C#コード なんか、ボタンやイメージどうこう以前に WPF の基礎だから。
自分の無知を棚上げに「理解しないで」などと回答者をアホ扱いするから荒れる訳。
「M女史の遺したもの」を一回は読んでおくといいよ。

public Window1()
{
  InitializeComponent();
  this.Content = new Button { Content = new Image { Source = new BitmapImage(new Uri("c:\\image\\test.bmp", UriKind.Absolute)) } };
}
0571デフォルトの名無しさん2010/04/16(金) 14:07:51
「.netなんて池沼にもできる障碍者用言語だろ余裕だよ。入門書?そんなもん小学生にでも読ませとけ」
→「はー?なんでうごかねーんだよこの欠陥言語。おいくずどもどうなってるか説明しろ!」

ようするにこういう思考だろ。
「なんでおれがこんな低レベル言語にてこずらなきゃならないんだよ」みたいな
雰囲気ぷんぷんさせながら質問するとか鼻で笑うわ
0572デフォルトの名無しさん2010/04/16(金) 22:21:44
> ボタンの中に画像を置く
> ということをXMALではなくC#のコードから実現したいです。

キチ○イwww
0573デフォルトの名無しさん2010/04/17(土) 00:01:45
>>570
へーこんな書き方できるんだ
はじめて知った。

>>571
お前みたいに"決め付ける"人って
大抵・・・
0574デフォルトの名無しさん2010/04/18(日) 09:50:13
WPFで「コードから動的にボタンを配置したい」ということ自体めったに無いよね
WinFormsでそうやってたようなことはアイテムテンプレート使えばだいたいXAMLだけで完結する
0575デフォルトの名無しさん2010/04/18(日) 13:18:15
アイテムテンプレートでできるけどある条件の時はこっちとかするのも含めてコードで書いちゃった方が好きかなー
0576デフォルトの名無しさん2010/04/18(日) 14:52:46
XAMLって「データ言語」っていうんだっけ。
プロパティの指定はXAMLコードから判るが、メンバの設定は何度読んでも混乱する。
0577デフォルトの名無しさん2010/04/19(月) 22:05:41
Rectangleを20個ほど一気にAnimationさせると
Core2 E7400 + GeForce9400GT でも若干ガクガクするんだけど
WPFってそんなもんなの?
それとも、うまい書き方があるの?

RectangleはXAMLで配置して、AnimationはC#内で書いてるんだけど。
0578デフォルトの名無しさん2010/04/19(月) 22:18:56
描画だけでよければDrawingVisual使ってみたら
間違ってもDrawingContextは使わないように
05795772010/04/19(月) 23:12:18
>>578
ありがとう、調べてみた。
これってアニメーションできないように思うんだけど
そんなことないの?
イベントとかは使わないから描画だけといえばそうなんだけど。

20個(できればそれ以上)のRectangle、長い長方形をぐるぐる回したいんだよね。
風車がたくさん立っているイメージ。
0580デフォルトの名無しさん2010/04/20(火) 00:46:03
オブジェクトの重なりが多いほど重くなる
0581デフォルトの名無しさん2010/04/20(火) 00:47:39
CPUでピクセルの合成してるんだっけ?
そういうのはGPUが得意なんだがな・・・
0582デフォルトの名無しさん2010/04/20(火) 00:49:14
WPFのウインドウ内部は全部directxで書いてるって何回書いたらわかるんだよ
けちらずエッセンシャル買え
0583デフォルトの名無しさん2010/04/20(火) 01:35:21
>>579
その程度のアニメーションなら普通にStoryboardじゃいかんの?
■ このスレッドは過去ログ倉庫に格納されています