WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/12/27(日) 10:58:30て語るスレ。.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/
0427デフォルトの名無しさん
2010/03/24(水) 23:59:150428デフォルトの名無しさん
2010/03/25(木) 04:20:54UIがめっちゃオサレですね
でも使い方が全然わからん
ほんとにデザイナさんこんなの使えるの???
0429デフォルトの名無しさん
2010/03/25(木) 06:40:200430デフォルトの名無しさん
2010/03/25(木) 10:53:570431デフォルトの名無しさん
2010/03/25(木) 13:04:21OSはあんまり関係ないよ
WPFは基本的にウィンドウ内で完結してるのでほんとにゲームと全く変わらない
0432デフォルトの名無しさん
2010/03/25(木) 17:46:110433デフォルトの名無しさん
2010/03/25(木) 17:59:00ウインドウの中身をdirectxで書いてるという点では関係ない
0434デフォルトの名無しさん
2010/03/25(木) 22:30:39なのでOSは思いっきり関係ある。
0435デフォルトの名無しさん
2010/03/25(木) 22:33:57単なるゲームだと何度言ったら
0436デフォルトの名無しさん
2010/03/25(木) 22:42:50XPでは透明ウィンドウがソフトウェア処理されていたこと
.NET3.5ではXPでも透明ウィンドウにGPUが効くようになった
0437デフォルトの名無しさん
2010/03/25(木) 22:49:273.5以降ターゲットで作ればVista以降と比べて遅いってことはなくなるのか。
0438デフォルトの名無しさん
2010/03/26(金) 00:13:160439デフォルトの名無しさん
2010/03/27(土) 01:22:15イラレで描いた絵をXAML形式で吐いて
WPFに配置することはできますが、
以下のことは可能でしょうか?
・座標 (a, b) を設定する
・ボタンを押す
・指定した座標に、イラレで描いた絵を配置する
たとえば、ある canvas に対する相対位置 (a, b) に
XAML形式のものを配置するということを、C#のコードで
実現することは出来るのでしょうか?
0440デフォルトの名無しさん
2010/03/27(土) 08:06:130441デフォルトの名無しさん
2010/03/27(土) 08:23:34*.cs からイラレxamlって生成できるの?
どうやんの?
0442デフォルトの名無しさん
2010/03/27(土) 08:27:29労力を無視すれば
どんなことであれ不可能ではないだろう
0443デフォルトの名無しさん
2010/03/27(土) 09:08:38http://www.mikeswanson.com/xamlexport/
0444デフォルトの名無しさん
2010/03/27(土) 09:24:27XamlReaderでXAMLを読み込んでXAMLのルート要素の型(IllustratorならたぶんCanvas)にキャスト
Canvas.SetLeftとCanvas.SetTopで位置を設定
配置されてるCanvasのChildrenに追加
0445デフォルトの名無しさん
2010/03/27(土) 15:17:300446デフォルトの名無しさん
2010/03/27(土) 19:26:24〜でできますかという言い方をすれば俺ならこうやってできるぜ
という人が必ず現れるので労力は無視できる。
0447デフォルトの名無しさん
2010/03/27(土) 19:37:45それが2ちゃんの正しい使い方
0448デフォルトの名無しさん
2010/03/27(土) 19:39:35「◯◯ってどうやるんでしょう?→△△で出来ますよ(嘘自演)→アホ、□□だ情弱」メソッドもあるでよ。
0449デフォルトの名無しさん
2010/03/27(土) 19:44:390450439
2010/03/27(土) 22:09:58ありがとうございます。
そのプラグインで生成したxamlを *.cs.xaml に記述するのではなく
*.cs の中から生成したいのです。
>>444
ありがとうございます。
今、外出中なので帰宅したらやってみます。
また、いただいた情報から更に調べてみます。
>>445
ありがとうございます。
検索の手がかりになるキーワードだけでも
教えていただけないでしょうか。
0451デフォルトの名無しさん
2010/03/28(日) 02:42:38検索キーワード聞かなきゃ検索できないとか冗談にもならないレベルだよ
0452デフォルトの名無しさん
2010/03/28(日) 09:35:000453デフォルトの名無しさん
2010/03/28(日) 10:41:34大漁でしたね
0454デフォルトの名無しさん
2010/03/28(日) 12:24:39簡単に言うと、自分が思いつくいちばん近いキーワードで検索してページを読んで
もっと近そうなキーワードを見つけていくんだよ。誰でもできるだろ? やれ。
0455439
2010/03/28(日) 14:13:30それなりに検索術はあると思っていますが
皆さんの反応を見る限り、そうではなかったようです。
>>454氏の書き込んでいることはもはや当然のことで、
かれこれ3週間MSDNやらcode projectやらブログやらを
探っていますが、解に到達できていません。
その上で質問に来ています。
が、経験上、この流れになったが最後、
これ以上の情報をこのスレで得ることは困難なため
大人しく身を引きます。ありがとうございました。
>>453
遊びではありません。
0456デフォルトの名無しさん
2010/03/28(日) 14:38:440457デフォルトの名無しさん
2010/03/28(日) 16:01:23技術的な他分野ってこんなもんだろ
0458デフォルトの名無しさん
2010/03/28(日) 16:06:43希望の機能ならライブラリにメソッドがちゃんと用意されてるよ。
遊びじゃないなら3週間給料泥棒だったね。
0459デフォルトの名無しさん
2010/03/28(日) 16:09:21width, height を Auto にして Stretch にすると
たとえば Name="canvas1"のCanvasに対して
int w = (int)(canvas1.Width);
としても w に変な値が入ってしまう。
// HeightとWidthはあくまで開発者がデザイン時に設定した値
ということは分かったのだが、
ではどうやって値を取得するのかが分からん。
canvas1.RenderSize.Width
canvas1.ActualWidth
とか調べても分からん。
windowサイズの拡縮に合わせて変化する canvas の
縦横を取得するにはどうすれば良いの?
# VC#2008, WPF3.5SP1
0460デフォルトの名無しさん
2010/03/28(日) 16:15:53「調べても分からん」?「確認したけど期待した値じゃない」じゃなくて?
0461デフォルトの名無しさん
2010/03/28(日) 16:17:370462459
2010/03/28(日) 16:20:36>「確認したけど期待した値じゃない」じゃなくて?
そうでした。すまん。
なんか 0 が返ってくる。
>>461
・・・ビンゴな気がする。
Invalidatなんたらを実行してからとか
そんなのですかね。色々試してみる。
お二方ありがとうノシ
0463デフォルトの名無しさん
2010/03/28(日) 16:35:230464459
2010/03/28(日) 16:42:19Window_Loaded() の中で呼んだら、期待した値が来ました。
本当にありがとうございました。
0465デフォルトの名無しさん
2010/03/28(日) 18:09:57いいってことよ
0466デフォルトの名無しさん
2010/03/28(日) 18:44:240467デフォルトの名無しさん
2010/03/28(日) 18:54:470468デフォルトの名無しさん
2010/03/28(日) 18:56:06普通そうです
0469デフォルトの名無しさん
2010/03/28(日) 18:57:590470デフォルトの名無しさん
2010/03/28(日) 19:02:41ここコミュ力試験に出るよ。
0471デフォルトの名無しさん
2010/03/28(日) 19:07:14でも初めてのことだとたまにエスパーして欲しいことはあるな
そういうときは答えをもらおうとせずもらえそうなところに愚痴っておくといい
たまーにヒントがもらえるから
0472デフォルトの名無しさん
2010/03/28(日) 19:26:58あと「回答すべきことを明確に伝えれる」「必要なことは書き余分なことは書かない」も重要。
「ネットはテレホーダイの時代以前から触っているので」とか
歯に詰まったクラッカーのカスほどの価値もないことを書いて
自分が調べたキーワードがどういうものかもかかない奴には当然冷たい。
0473デフォルトの名無しさん
2010/03/28(日) 20:01:39最初の一行が効いたな
0474デフォルトの名無しさん
2010/03/28(日) 20:03:03おまえはテレホマンの魂を侮辱した!
0475デフォルトの名無しさん
2010/03/28(日) 20:17:42ビギナー向けのXAML入門書読んだほうが早いような気もするが
0476デフォルトの名無しさん
2010/03/28(日) 20:34:18入門書で分かるレベルのことであっても
いつも通りの調べ方をしてしまったんだろな。
それ故にプライドも高い。
0477デフォルトの名無しさん
2010/03/28(日) 20:44:190478デフォルトの名無しさん
2010/03/28(日) 20:44:23発生するイベントってありますか?
現状では、以下の2通りの方法で何とか実現していますが
美しくありません。
1) DispathderTimer を使う
・ System.Windows.Forms を参照
・ timer で定期的に呼ばれる関数内で Cursor.Position.X, Y を取得し
予め取得しておいた、解像度の情報と X, Y を比較して判定
問題点:タイマーを設けることで常に関数が呼ばれることになる
2) 透明の Rectangle などを置いて、MouseEnter で判定
・そのままです。
問題点:問題と言うか、美しくないです。
もしあるようでしたら、ご教授願いたいです。
よろしくお願いします。
0479デフォルトの名無しさん
2010/03/28(日) 20:55:040480デフォルトの名無しさん
2010/03/28(日) 20:55:39http://www.atmarkit.co.jp/fdotnet/dotnettips/003screen/screen.html
を組み合わせてみては?
0481478
2010/03/28(日) 21:11:57美しくなくないですか。
例えば市場に出すアプリを組んでいるプロ?の方でも
こういった力技で解決するのでしょうか。
>>480
あぁーなるほど。MouseMoveですか。盲点でした。
座標比較が頻繁に行われることに違いはありませんが、
timerよりかは遥かに良い方法ですね。
以下、つぶやきです。
1)の方法でも、OSは定期的に MouseEnter しているのか
判定しているのでしょうかね。それなら1)も2)も処理量は
大差ないかもしれません。が、仮定の話なので無駄ですね。
0482デフォルトの名無しさん
2010/03/28(日) 21:19:33正しい実装じゃん
力技じゃない
0483デフォルトの名無しさん
2010/03/28(日) 21:21:400485デフォルトの名無しさん
2010/03/29(月) 21:53:38昔のVBと大して変わんないってくらい
0486デフォルトの名無しさん
2010/03/30(火) 08:02:13あれを再現は可能ですか?
0487デフォルトの名無しさん
2010/03/30(火) 09:03:01そりゃWPFはまさにああいうことをやるためのフレームワークだから
0488デフォルトの名無しさん
2010/03/30(火) 10:29:010489デフォルトの名無しさん
2010/03/30(火) 13:00:22別にFormで出来なかったわけでもないけど。
0490デフォルトの名無しさん
2010/03/30(火) 21:11:48Macの真似みたいな貧乏臭いことはやめてくれ
0491デフォルトの名無しさん
2010/03/31(水) 22:27:14何か良い本は無いでしょうか。
0492デフォルトの名無しさん
2010/03/31(水) 22:46:110493デフォルトの名無しさん
2010/03/31(水) 23:18:18他に無いでしょうか。
0494デフォルトの名無しさん
2010/03/31(水) 23:28:13だれか何かを挙げる→そんなもん読んでるに決まってるだろ→
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→(ry
まぁ、挙げるだけ無駄ってことだなw
0495デフォルトの名無しさん
2010/03/31(水) 23:45:330496デフォルトの名無しさん
2010/03/31(水) 23:51:020497デフォルトの名無しさん
2010/04/01(木) 00:12:500498デフォルトの名無しさん
2010/04/01(木) 07:31:590499デフォルトの名無しさん
2010/04/01(木) 11:24:400500デフォルトの名無しさん
2010/04/01(木) 14:45:12HTMLの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:220502デフォルトの名無しさん
2010/04/01(木) 22:58:08Ellipse elli1, elli2
ああるとして
canvas1.Children.Add(elli1);
canvas1.Children.Add(elli2);
とした後に
elli2 だけ Clear することってどうやれば良いんですか?
0503デフォルトの名無しさん
2010/04/01(木) 23:01:240504デフォルトの名無しさん
2010/04/01(木) 23:07:15あ・・・ありがとう。
なんで見つからなかったんだろう。
0505デフォルトの名無しさん
2010/04/02(金) 04:26:05Practical WPF Graphics Programming
この本なんかはどう?
0506デフォルトの名無しさん
2010/04/02(金) 07:52:30ttp://www.free-ebooks-download.org/free-ebook/dotnet/Framework/practical-wpf-graphics-programming.php
なんかあったがなんかいろいろばら撒く気満載泣きガス・・・
とりあえずダウンロードはできた。中身もあってるっぽいが・・・
0507デフォルトの名無しさん
2010/04/02(金) 09:09:51それとも欧米では結構昔からこういうことするとこ多かったのかな?
0508デフォルトの名無しさん
2010/04/02(金) 09:55:540509デフォルトの名無しさん
2010/04/02(金) 10:16:55実に由々しき事態だ。(棒)
0510デフォルトの名無しさん
2010/04/02(金) 10:19:12普通は可視化にOpenGLとか使うところをたまたまWPF使ってるだけな感じ
0511デフォルトの名無しさん
2010/04/04(日) 22:14:21こちらを参考にしてWPFにExcelファイルを読み込まれるまではできたのですが、
これをWPFコントロールにそのまま表示させることって出来ないのでしょうか。
セルの1つひとつの情報を取ることはできるので
Gridをひいてセルを写すことは可能なのですが、
Excelの表をそのままWPFのwindowに表示させたいのです。
それとも、セルから全部コピーしないとダメなのでしょうか?
0512デフォルトの名無しさん
2010/04/05(月) 01:03:51たぶんもうちょっと理解してから弄った方がいい(というかformsで構築したほうがいいだろ)
こういう方法はあるみたい
http://social.msdn.microsoft.com/Forums/ja-JP/wpfja/thread/b0612ddb-2390-4458-bb3d-86c904509d82
0513デフォルトの名無しさん
2010/04/05(月) 02:52:05ありがとうございます。
その質問+解答も見ていましたが
やはりその方法しかないみたいですね。
まずはWinFormで作ってみてから
WPFに応用してみます。
※Animationを使いたいので、WPFのが良いんです。
0514デフォルトの名無しさん
2010/04/06(火) 00:11:32「さーアニメってこい!」
ってゴーサイン出すだけじゃん?
FromからToまで行き終わったときに
何か処理して欲しい場合って
どうすれば良いの?
FinishedAnimationとかあれば良いのに。
0515デフォルトの名無しさん
2010/04/07(水) 13:49:440516デフォルトの名無しさん
2010/04/08(木) 00:05:35なにが変わるのかわかる資料が全然見当たんないなー
0517デフォルトの名無しさん
2010/04/09(金) 01:02:240518デフォルトの名無しさん
2010/04/09(金) 01:05:140519デフォルトの名無しさん
2010/04/10(土) 00:12:37キーボードフォーカスをそのエレメントに移動できなければfalse、ってのは分かるのですが
そもそもキーボードフォーカスを移動できる条件って何でしょうか?
0520デフォルトの名無しさん
2010/04/10(土) 06:20:250522デフォルトの名無しさん
2010/04/11(日) 21:49:49CheckBoxのIsCheckedをTrueにしてると、初期化中にチェックイベントが実行されたりするあれ?
0523デフォルトの名無しさん
2010/04/13(火) 17:17:580524デフォルトの名無しさん
2010/04/13(火) 17:33:220525デフォルトの名無しさん
2010/04/13(火) 21:48:30ざっくりした質問で悪いけど、皆さんWPFの3Dって総合的にどう評価してます?
0526デフォルトの名無しさん
2010/04/14(水) 05:48:41「wpf direct3d 制約」でググるいいよ。
正直、WPFの3Dっておまけ機能だと思ってるけど。
0527デフォルトの名無しさん
2010/04/14(水) 10:17:47■ このスレッドは過去ログ倉庫に格納されています