WPF(XAML, XBAP, .Net ..
[2ch|▼Menu]
408:デフォルトの名無しさん
10/03/23 22:51:45
VS2010RC, WPF4.0
を使っているのだが、
Win32におけるWM_GESTUREみたいなもので
Gestureイベントってあるのかな?

zoomとかrotateとか簡単に取得できると
良いのだが。

409:デフォルトの名無しさん
10/03/23 22:59:34
WPF マルチタッチ
でググる

410:デフォルトの名無しさん
10/03/23 23:34:37
>>409
それで解答が得られたのであれば
本気で教えて欲しい。
どうせ「WPF マルチタッチ」でググったことないんだろ?

411:410
10/03/23 23:38:39
>>409
正直スマンかった。
最近、海外のサイトばかり回っていたのだが
日本のサイトでもWPF4.0について書かれているサイトが
少しずつ増えているんだな。

412:デフォルトの名無しさん
10/03/24 21:26:14
これXPには対応していない部分とかあるの?
XP用に開発するのは無謀?

413:デフォルトの名無しさん
10/03/24 22:33:26
XPだとなんか重いし、見た目もいまいちだし。
俺はもうXPはサポート外でやろうと思ってるくらいだ。

414:デフォルトの名無しさん
10/03/24 23:08:34
WPF初めて触って面白そうと思ったんですが(まだハローワールドしかやってないんですが)そんなにはやってないんですか
XPだと表示が微妙なんでしょうか?

415:デフォルトの名無しさん
10/03/24 23:09:18
Silverlight使えば?
Silverlight4ならブラウザ外実行の普通のデスクトップアプリケーションとして
CDなどで直接配布できるよ

416:デフォルトの名無しさん
10/03/24 23:17:52
>>414
微妙っていうか重いってのが一番のネックかと。
今のところ、WPF でやってみました!!なんてのが売りになるぐらい流行ってないと思う。
少なくとも国内では。

417:デフォルトの名無しさん
10/03/24 23:28:38
WindowsFormで作られたC#アプリを
簡単にWPFのGUIに移行できる?
簡単に言うとform1だけwindows1にするだけで
作り変えられるのか?ってとこが疑問なんだけど
このGUIで非同期とか実現できるのかなー

418:デフォルトの名無しさん
10/03/24 23:31:12
新しい概念が登場しすぎで全体像把握すんのが大変
昔の素朴なイベントキューアーキテクチャって一目で理解できたもんな
それってある意味ではすごい

419:デフォルトの名無しさん
10/03/24 23:32:32
>>417
ならない

細かいところで変わってるから

420:デフォルトの名無しさん
10/03/24 23:33:31
>>417
> form1だけwindows1にするだけで作り変えられるのか?
一応WinFormとの相互運用性は確保されてるが、
Windowに直接System.Windows.Forms.Controlは乗せられないから多少手間が必要
しかしそれ以前にそもそもWPF使う意味皆無だろそんなもん

> このGUIで非同期とか実現できるのかなー
意味分からん

421:デフォルトの名無しさん
10/03/24 23:38:29
>>416
重いんですか、残念
こういうの待ってたんだけどなぁ
Silverlightってwikipedia見る限りWPFと同じなのかな??は調べてやってみまする

422:デフォルトの名無しさん
10/03/24 23:39:54
XPだと重いってどういうことよ?
プラットフォームに依存しないんじゃないの?

423:デフォルトの名無しさん
10/03/24 23:40:55
同じPC/AT互換プラットフォームなら全て同じ性能出せと言いたいのか

424:デフォルトの名無しさん
10/03/24 23:41:04
>>422
GUI周りの構造の問題じゃないの?

試してないけどもしかするとvistaのAero切ったらだめってのと同じかもね

425:デフォルトの名無しさん
10/03/24 23:42:41
まあSilverlightなら軽いし確実に同じ外観と操作性を実現できるもんなあ

426:デフォルトの名無しさん
10/03/24 23:43:42
vista以降ってOSのGUI周りがゲームと変わらないといっても過言じゃないくらい
GPUと融合果たしてるけど、xpまでは2Dが基本なのでWPFだといろいろ
無駄がありそうってイメージ

427:デフォルトの名無しさん
10/03/24 23:59:15
細かい違いはあるけど Silverlight 覚えるのも WPF 覚えるのも大差ないような気はするよね。


428:デフォルトの名無しさん
10/03/25 04:20:54
Expression Blend 3をダウンロードしてみたんだが
UIがめっちゃオサレですね
でも使い方が全然わからん
ほんとにデザイナさんこんなの使えるの???

429:デフォルトの名無しさん
10/03/25 06:40:20
flashでas3やってるデザイナなら使えると思う

430:デフォルトの名無しさん
10/03/25 10:53:57
体を使う技はデザイナでも訓練しなければ云々

431:デフォルトの名無しさん
10/03/25 13:04:21
>>426
OSはあんまり関係ないよ
WPFは基本的にウィンドウ内で完結してるのでほんとにゲームと全く変わらない

432:デフォルトの名無しさん
10/03/25 17:46:11
描画システムが違うって点でOS関係あるんじゃないの?

433:デフォルトの名無しさん
10/03/25 17:59:00
XPがWDDM1.1に対応してないという点では関係ある
ウインドウの中身をdirectxで書いてるという点では関係ない

434:デフォルトの名無しさん
10/03/25 22:30:39
XPだとGPU支援が得られず、CPU負荷が大きい。
なのでOSは思いっきり関係ある。

435:デフォルトの名無しさん
10/03/25 22:33:57
それ迷信
単なるゲームだと何度言ったら

436:デフォルトの名無しさん
10/03/25 22:42:50
XPでGPUアクセラレーションが効かないっていう噂の発端は
XPでは透明ウィンドウがソフトウェア処理されていたこと
.NET3.5ではXPでも透明ウィンドウにGPUが効くようになった

437:デフォルトの名無しさん
10/03/25 22:49:27
なるほど。
3.5以降ターゲットで作ればVista以降と比べて遅いってことはなくなるのか。

438:デフォルトの名無しさん
10/03/26 00:13:16
3.5のせいでウィンドウフックするタイプのソフトは全部使えなくなったわ

439:デフォルトの名無しさん
10/03/27 01:22:15
WPF3.5 SP1 です。

イラレで描いた絵をXAML形式で吐いて
WPFに配置することはできますが、
以下のことは可能でしょうか?

 ・座標 (a, b) を設定する
 ・ボタンを押す
 ・指定した座標に、イラレで描いた絵を配置する

たとえば、ある canvas に対する相対位置 (a, b) に
XAML形式のものを配置するということを、C#のコードで
実現することは出来るのでしょうか?

440:デフォルトの名無しさん
10/03/27 08:06:13
できるとしか答えられない

441:デフォルトの名無しさん
10/03/27 08:23:34
>>440
*.cs からイラレxamlって生成できるの?
どうやんの?

442:デフォルトの名無しさん
10/03/27 08:27:29
どうやるかは分からないが
労力を無視すれば
どんなことであれ不可能ではないだろう

443:デフォルトの名無しさん
10/03/27 09:08:38
*.cs で、はしらんけどイラストレーターには Xaml 出力のプラグインがあったよ?

URLリンク(www.mikeswanson.com)

444:デフォルトの名無しさん
10/03/27 09:24:27
>>439
XamlReaderでXAMLを読み込んでXAMLのルート要素の型(IllustratorならたぶんCanvas)にキャスト
Canvas.SetLeftとCanvas.SetTopで位置を設定
配置されてるCanvasのChildrenに追加


445:デフォルトの名無しさん
10/03/27 15:17:30
あるいはC#で静的にXAMLファイルを書きかえる

446:デフォルトの名無しさん
10/03/27 19:26:24
>>442
〜でできますかという言い方をすれば俺ならこうやってできるぜ
という人が必ず現れるので労力は無視できる。

447:デフォルトの名無しさん
10/03/27 19:37:45
>>446
それが2ちゃんの正しい使い方

448:デフォルトの名無しさん
10/03/27 19:39:35
「◯◯って××も出来ないんだね→ばーかばーか、△△で出来るっつーの」メソッドと、
「◯◯ってどうやるんでしょう?→△△で出来ますよ(嘘自演)→アホ、□□だ情弱」メソッドもあるでよ。



449:デフォルトの名無しさん
10/03/27 19:44:39
もはやそのメソッドも使い古されて「△△で」「□□だ」は書かれない傾向が

450:439
10/03/27 22:09:58
>>443
ありがとうございます。
そのプラグインで生成したxamlを *.cs.xaml に記述するのではなく
*.cs の中から生成したいのです。

>>444
ありがとうございます。
今、外出中なので帰宅したらやってみます。
また、いただいた情報から更に調べてみます。

>>445
ありがとうございます。
検索の手がかりになるキーワードだけでも
教えていただけないでしょうか。

451:デフォルトの名無しさん
10/03/28 02:42:38
WPF覚える前に検索方法覚えたほうがいいんじゃね

検索キーワード聞かなきゃ検索できないとか冗談にもならないレベルだよ

452:デフォルトの名無しさん
10/03/28 09:35:00
いやいや何言ってんだ・・・キーワード知らなきゃ検索出来んだろ普通。


453:デフォルトの名無しさん
10/03/28 10:41:34
>>439
大漁でしたね

454:デフォルトの名無しさん
10/03/28 12:24:39
google入門とか読めよ。

簡単に言うと、自分が思いつくいちばん近いキーワードで検索してページを読んで
もっと近そうなキーワードを見つけていくんだよ。誰でもできるだろ? やれ。

455:439
10/03/28 14:13:30
ネットはテレホーダイの時代以前から触っているので
それなりに検索術はあると思っていますが
皆さんの反応を見る限り、そうではなかったようです。

>>454氏の書き込んでいることはもはや当然のことで、
かれこれ3週間MSDNやらcode projectやらブログやらを
探っていますが、解に到達できていません。
その上で質問に来ています。

が、経験上、この流れになったが最後、
これ以上の情報をこのスレで得ることは困難なため
大人しく身を引きます。ありがとうございました。


>>453
遊びではありません。

456:デフォルトの名無しさん
10/03/28 14:38:44
傲慢過ぎワラタ こんな捨て台詞数年ぶりに見たわ

457:デフォルトの名無しさん
10/03/28 16:01:23
そうか?俺も他スレで同じ経験すること多いぞ
技術的な他分野ってこんなもんだろ

458:デフォルトの名無しさん
10/03/28 16:06:43
無駄にプライド高いのに教えを乞うからだよ。

希望の機能ならライブラリにメソッドがちゃんと用意されてるよ。
遊びじゃないなら3週間給料泥棒だったね。

459:デフォルトの名無しさん
10/03/28 16:09:21
今質問すると、ググレカスで一蹴されそうだが
width, 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

460:デフォルトの名無しさん
10/03/28 16:15:53
ActualWidth/ActualHeightでいいはずだが?
「調べても分からん」?「確認したけど期待した値じゃない」じゃなくて?

461:デフォルトの名無しさん
10/03/28 16:17:37
計算される前に呼んでるんだろ

462:459
10/03/28 16:20:36
>>460
>「確認したけど期待した値じゃない」じゃなくて?
そうでした。すまん。
なんか 0 が返ってくる。

>>461
・・・ビンゴな気がする。
Invalidatなんたらを実行してからとか
そんなのですかね。色々試してみる。

お二方ありがとうノシ

463:デフォルトの名無しさん
10/03/28 16:35:23
ggrks

464:459
10/03/28 16:42:19
何を血迷ったか、WinMain() の中で呼んでいたよ orz
Window_Loaded() の中で呼んだら、期待した値が来ました。
本当にありがとうございました。

465:デフォルトの名無しさん
10/03/28 18:09:57
>>464
いいってことよ

466:デフォルトの名無しさん
10/03/28 18:44:24
おまえら質問のしかたで反応が違いすぎ

467:デフォルトの名無しさん
10/03/28 18:54:47
いや普通そうだろ

468:デフォルトの名無しさん
10/03/28 18:56:06
>>466
普通そうです

469:デフォルトの名無しさん
10/03/28 18:57:59
私は女子中学生だけどそれが普通だと思います。

470:デフォルトの名無しさん
10/03/28 19:02:41
「自分のしたいことが明確にわかっている」のが質問の最低条件だから。
ここコミュ力試験に出るよ。

471:デフォルトの名無しさん
10/03/28 19:07:14
エスパーじゃないからな

でも初めてのことだとたまにエスパーして欲しいことはあるな

そういうときは答えをもらおうとせずもらえそうなところに愚痴っておくといい

たまーにヒントがもらえるから

472:デフォルトの名無しさん
10/03/28 19:26:58
>>470
あと「回答すべきことを明確に伝えれる」「必要なことは書き余分なことは書かない」も重要。

「ネットはテレホーダイの時代以前から触っているので」とか
歯に詰まったクラッカーのカスほどの価値もないことを書いて
自分が調べたキーワードがどういうものかもかかない奴には当然冷たい。

473:デフォルトの名無しさん
10/03/28 20:01:39
>>459
最初の一行が効いたな

474:デフォルトの名無しさん
10/03/28 20:03:03
>>472
おまえはテレホマンの魂を侮辱した!

475:デフォルトの名無しさん
10/03/28 20:17:42
しかしネットで難解なドキュメントやマニアックなブログ見るよりも
ビギナー向けのXAML入門書読んだほうが早いような気もするが

476:デフォルトの名無しさん
10/03/28 20:34:18
普段、難解なことを扱っているんだろ。
入門書で分かるレベルのことであっても
いつも通りの調べ方をしてしまったんだろな。
それ故にプライドも高い。

477:デフォルトの名無しさん
10/03/28 20:44:19
スレチ

478:デフォルトの名無しさん
10/03/28 20:44:23
WPFで、マウスポインタがディスプレイの端を触った時に
発生するイベントってありますか?

現状では、以下の2通りの方法で何とか実現していますが
美しくありません。

1) DispathderTimer を使う
 ・ System.Windows.Forms を参照
 ・ timer で定期的に呼ばれる関数内で Cursor.Position.X, Y を取得し
  予め取得しておいた、解像度の情報と X, Y を比較して判定
問題点:タイマーを設けることで常に関数が呼ばれることになる

2) 透明の Rectangle などを置いて、MouseEnter で判定
 ・そのままです。
問題点:問題と言うか、美しくないです。

もしあるようでしたら、ご教授願いたいです。
よろしくお願いします。

479:デフォルトの名無しさん
10/03/28 20:55:04
2)は美しくなくない

480:デフォルトの名無しさん
10/03/28 20:55:39
MouseMoveイベントと
URLリンク(www.atmarkit.co.jp)
を組み合わせてみては?

481:478
10/03/28 21:11:57
>>479
美しくなくないですか。
例えば市場に出すアプリを組んでいるプロ?の方でも
こういった力技で解決するのでしょうか。

>>480
あぁーなるほど。MouseMoveですか。盲点でした。
座標比較が頻繁に行われることに違いはありませんが、
timerよりかは遥かに良い方法ですね。


以下、つぶやきです。
1)の方法でも、OSは定期的に MouseEnter しているのか
判定しているのでしょうかね。それなら1)も2)も処理量は
大差ないかもしれません。が、仮定の話なので無駄ですね。

482:デフォルトの名無しさん
10/03/28 21:19:33
マウスポインタがある領域に入ったってイベントが欲しいわけでしょ
正しい実装じゃん
力技じゃない

483:デフォルトの名無しさん
10/03/28 21:21:40
タイマで処理するにしてもそれぐらいカスみたいなコスト

484:478
10/03/28 21:21:56
>>482
なるほど、考えを改めます。
ありがとうございました。

485:デフォルトの名無しさん
10/03/29 21:53:38
Blendでコードビハインドべったりで書いていくと簡単だったりするんだよなwpf
昔のVBと大して変わんないってくらい

486:デフォルトの名無しさん
10/03/30 08:02:13
macで使われてるGUIのボタンってなんっていいましたっけ・・・
あれを再現は可能ですか?

487:デフォルトの名無しさん
10/03/30 09:03:01
Dockか?
そりゃWPFはまさにああいうことをやるためのフレームワークだから

488:デフォルトの名無しさん
10/03/30 10:29:01
aquaのことじゃないの

489:デフォルトの名無しさん
10/03/30 13:00:22
ボタンの見栄えを自由にするなんてのはお手のもんでしょうな。
別にFormで出来なかったわけでもないけど。

490:デフォルトの名無しさん
10/03/30 21:11:48
WPF Themesにいろいろ綺麗なテーマがあるよ
Macの真似みたいな貧乏臭いことはやめてくれ

491:デフォルトの名無しさん
10/03/31 22:27:14
WPFで3Dグラフィックの仕事をやることになったんだが、皆目見当がつきません。
何か良い本は無いでしょうか。

492:デフォルトの名無しさん
10/03/31 22:46:11
まずは、Essential WPF。後は英語でググレ。

493:デフォルトの名無しさん
10/03/31 23:18:18
そんなもん読んでるに決まってるだろ。
他に無いでしょうか。

494:デフォルトの名無しさん
10/03/31 23:28:13
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→(ry

まぁ、挙げるだけ無駄ってことだなw

495:デフォルトの名無しさん
10/03/31 23:45:33
返答してる人が同一人物である保証すらないしな。

496:デフォルトの名無しさん
10/03/31 23:51:02
idほしいお・・・

497:デフォルトの名無しさん
10/04/01 00:12:50
3D PROGRAMMING FOR WINDOWS

498:デフォルトの名無しさん
10/04/01 07:31:59
WPF 3Dプログラミング―誰でも簡単に3Dゲームやツールが作れる最新技術!

499:デフォルトの名無しさん
10/04/01 11:24:40
WPFによる3Dプログラミングの極意 (民明書房)

500:デフォルトの名無しさん
10/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>

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

仕様でした><

501:デフォルトの名無しさん
10/04/01 21:45:22
GJ

502:デフォルトの名無しさん
10/04/01 22:58:08
Canvas canvas1
Ellipse elli1, elli2

ああるとして

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

とした後に

elli2 だけ Clear することってどうやれば良いんですか?

503:デフォルトの名無しさん
10/04/01 23:01:24
Remove

504:デフォルトの名無しさん
10/04/01 23:07:15
>>503
あ・・・ありがとう。
なんで見つからなかったんだろう。

505:デフォルトの名無しさん
10/04/02 04:26:05
>>491
Practical WPF Graphics Programming
この本なんかはどう?


506:デフォルトの名無しさん
10/04/02 07:52:30
>505
URLリンク(www.free-ebooks-download.org)

なんかあったがなんかいろいろばら撒く気満載泣きガス・・・
とりあえずダウンロードはできた。中身もあってるっぽいが・・・

507:デフォルトの名無しさん
10/04/02 09:09:51
最近Freeに影響されたかバラ撒くとこ増えたねえ。
それとも欧米では結構昔からこういうことするとこ多かったのかな?

508:デフォルトの名無しさん
10/04/02 09:55:54
ローマ字変数名しか使えない俺には無用

509:デフォルトの名無しさん
10/04/02 10:16:55
少なくともWPFに関する本はほぼすべてネットで拾えてしまうからなあ。
実に由々しき事態だ。(棒)

510:デフォルトの名無しさん
10/04/02 10:19:12
ちょっと目を通してみたけどWPFの本というよりグラフィックスの基礎の本だなあ
普通は可視化にOpenGLとか使うところをたまたまWPF使ってるだけな感じ

511:デフォルトの名無しさん
10/04/04 22:14:21
URLリンク(www.atmarkit.co.jp)
こちらを参考にしてWPFにExcelファイルを読み込まれるまではできたのですが、
これをWPFコントロールにそのまま表示させることって出来ないのでしょうか。

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

それとも、セルから全部コピーしないとダメなのでしょうか?

512:デフォルトの名無しさん
10/04/05 01:03:51
>WPFにExcelファイルを読み込まれる
たぶんもうちょっと理解してから弄った方がいい(というかformsで構築したほうがいいだろ)
こういう方法はあるみたい
URLリンク(social.msdn.microsoft.com)

513:デフォルトの名無しさん
10/04/05 02:52:05
>>512
ありがとうございます。
その質問+解答も見ていましたが
やはりその方法しかないみたいですね。
まずはWinFormで作ってみてから
WPFに応用してみます。

※Animationを使いたいので、WPFのが良いんです。

514:デフォルトの名無しさん
10/04/06 00:11:32
BeginAnimationって、
「さーアニメってこい!」
ってゴーサイン出すだけじゃん?

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

FinishedAnimationとかあれば良いのに。

515:デフォルトの名無しさん
10/04/07 13:49:44
completedイベントなかったっけ

516:デフォルトの名無しさん
10/04/08 00:05:35
もうexpression4が出るのか・・・まあ出るわな
なにが変わるのかわかる資料が全然見当たんないなー

517:デフォルトの名無しさん
10/04/09 01:02:24
まだ出ないんじゃない?

518:デフォルトの名無しさん
10/04/09 01:05:14
無料あぷでは確定です

519:デフォルトの名無しさん
10/04/10 00:12:37
Focus()して成功する条件って何でしょう?
キーボードフォーカスをそのエレメントに移動できなければfalse、ってのは分かるのですが
そもそもキーボードフォーカスを移動できる条件って何でしょうか?

520:デフォルトの名無しさん
10/04/10 06:20:25
ウインドウの初期化が終わる前にコントロール関連のメソッドを呼ぶなと

521:514
10/04/11 15:59:49
>>515
おそくなりましたが
ありがとうございました。

522:デフォルトの名無しさん
10/04/11 21:49:49
>>520
CheckBoxのIsCheckedをTrueにしてると、初期化中にチェックイベントが実行されたりするあれ?

523:デフォルトの名無しさん
10/04/13 17:17:58
Expression BlendとかWPFで作られたソフトが起動しなくなった

524:デフォルトの名無しさん
10/04/13 17:33:22
環境壊れてるんじゃないか

525:デフォルトの名無しさん
10/04/13 21:48:30
趣味でWPFで3Dモデリングツールを作ろうとしてるんだけど、OpenGLとかDirectXでやった方が幸せかな?
ざっくりした質問で悪いけど、皆さんWPFの3Dって総合的にどう評価してます?

526:デフォルトの名無しさん
10/04/14 05:48:41
>>525
「wpf direct3d 制約」でググるいいよ。
正直、WPFの3Dっておまけ機能だと思ってるけど。

527:デフォルトの名無しさん
10/04/14 10:17:47
UIはWPFで3DビューはD3DImage+MDX/SlimDXくらいが現実的なんじゃね

528:デフォルトの名無しさん
10/04/14 13:52:27
URLリンク(msdn.microsoft.com)
XAMLなんて誰が考えたんだ?
こんなソース読む気も書く気もしねー

529:デフォルトの名無しさん
10/04/14 13:58:43
めちゃめちゃ頭のいい人
ただ、凡人の限界を知らなかったらしい

530:デフォルトの名無しさん
10/04/14 14:02:34
100円の和菓子1つを10万円の箱に入れてるようなもんだな

531:デフォルトの名無しさん
10/04/14 15:10:29
ツールの使用を前提にしてるよなぁ〜

532:デフォルトの名無しさん
10/04/14 15:45:31
ワロタ
Xamlコードを出力するツールをまず自作しなきゃな。
blend?高いしイラネ

533:デフォルトの名無しさん
10/04/14 17:04:29
コードで計算してジオメトリ作ってxamlで書き出すんだよ?
まあなんとかいうモデリングソフトで書いてxaml出力してもいいけどね

534:デフォルトの名無しさん
10/04/14 18:41:57
>>528
> 2 次元から抜け出そう

心にぐさりと来ました

535:デフォルトの名無しさん
10/04/14 19:02:31
まだ入り込めてもいないのに

536:デフォルトの名無しさん
10/04/14 20:04:03
まあ普通はツールで出力するだろ
そのためのXMLだ

537:デフォルトの名無しさん
10/04/14 20:15:00
WPFの3Dって、モデリングツール(DirectX)で画像処理ー>XAMLフォーマットで出力という使い方を想定してんじゃねえの?
わざわざ手かせ足かせを嵌めて走る意味はなかろう。

538:デフォルトの名無しさん
10/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 に対して適用したい
のですが、どのようにしたら良いかアイデアが思いつく方、お願いいたします。

539:デフォルトの名無しさん
10/04/14 23:46:11
MouseMoveとか他のイベント捕まえてみたら?

540:デフォルトの名無しさん
10/04/15 00:01:33
MouseMoveですか?
ManipulationではなくMouseMoveで
操作しろということでしょうか?

541:デフォルトの名無しさん
10/04/15 07:51:03
WPFってなんでこんなもっさりしてんの?

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

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

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

たとえば画面のボタンの背景色を変えた場合は内部でどんな動作になるんざんしょ。

542:デフォルトの名無しさん
10/04/15 08:03:57
普通に1だろ
ちなみに1と2の間にはもう一つ層がある
Direct3DをGUI向けにラップしたネイティブコードのライブラリを使ってる

543:デフォルトの名無しさん
10/04/15 10:08:43
もっさりっていうならまずスペック更科よ

544:デフォルトの名無しさん
10/04/15 21:06:10
ゲーム作成にWPFを使いたいんですが、文献が少なくて困ってます。
オススメの文献とかありませんか?

545:デフォルトの名無しさん
10/04/15 21:33:45
ゲームってジャンルくらい書きなよ

546:デフォルトの名無しさん
10/04/15 21:40:07
WPFの文献だと日本語のはエッセンシャルWPFぐらいしかないんだっけかね?


547:デフォルトの名無しさん
10/04/15 21:40:59
失礼しました。2Dで、ベクター画像を用いた格闘ゲームです。
ですが、格闘ゲームに限らず、
WPFでのゲームプログラミングの情報自体が見つけられなかったので、
ほかのジャンルの情報でも充分助かります。

548:デフォルトの名無しさん
10/04/15 21:47:43
ギャルゲーくらいですよこれ。
ギャルゲーでビデオカード要求とかあり得ないんでギャルゲーでは主流になってもいいと思います。

549:デフォルトの名無しさん
10/04/15 21:50:22
WPFは基本的にビデオカード要求だけど

550:デフォルトの名無しさん
10/04/15 21:58:28
>>547
「エッセンシャル WPF」
「XAML プログラミング WPFアプリケーションの概要と開発」
このスレではこの2冊がそこそこ評判が良かった。
もし英語に抵抗が無ければ出版数が多い洋書で探した方が良いかと。
個人的には書籍じゃないけどMSDNのサンプルが一番役に立ったよ。

WPFでゲームを作ってる人は少ないだろうなあ。
DirectXかXNAを使った方が良いと思うんだけど。

551:デフォルトの名無しさん
10/04/15 22:29:22
google booksでwpf検索してみたら
だいたい用は足りると思う

552:デフォルトの名無しさん
10/04/16 00:11:31
ボタンの中に画像を置く
ということをXMALではなくC#のコードから実現したいです。

ネタとしては、ここの質問のC#版です。
質問内容を理解しないでXAMLの話をする回答者が多いみたいですが。
URLリンク(bbs.wankuma.com)

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

ググってもXAMLの話ばかりです。よろしくお願いします。

553:デフォルトの名無しさん
10/04/16 00:23:24
Imageを持ったButtonのUserControlをXAMLで書いておいて、コード内で生成

554:デフォルトの名無しさん
10/04/16 01:45:52
>ということをXMALではなくC#のコードから実現したいです。
そうですか
>質問内容を理解しないでXAMLの話をする回答者が多いみたいですが。
そうですか
>XAMLではなくC#から生成したいのです。
そうですか
>画像の情報も動的に取得するので、画像もC#で生成したいです。
そうですか
>ググってもXAMLの話ばかりです。よろしくお願いします。
なにをよろしくですか

555:デフォルトの名無しさん
10/04/16 01:48:33
ちなみに
38526の回答以外のなにものでもないよ
質問内容を理解しないんじゃなくて、回答読んでも理解できない脳みそを恨め

556:デフォルトの名無しさん
10/04/16 02:02:05
>>554
中身の無いレスだな
お前みたいなのは来なくて良いよ

557:デフォルトの名無しさん
10/04/16 02:11:34
>>556
これがどれだけ程度の低い質問かわかんないってことは本人だろうな・・・

558:552
10/04/16 02:19:45
>>553
ありがとうございます。
UserControlなるものを使ったことが無いので
早速調べてみます。

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

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

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


もっと勉強します。ありがとうございました。

559:デフォルトの名無しさん
10/04/16 02:20:54
>>557
は?程度の低さは関係ないだろ
どれだけ馬鹿なんだよ

560:デフォルトの名無しさん
10/04/16 02:21:32
>>558
違うよ
ButtonオブジェクトのContentプロパティにImageオブジェクト突っ込めばいいだけ

561:デフォルトの名無しさん
10/04/16 02:22:47
>>559
はいはい
お前が気の済むように回答してやれよ

562:デフォルトの名無しさん
10/04/16 02:29:42
>>561
>はいはい
え?マジで分かってないの?
こりゃ重症だな。関わらないでおくよ。

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

別の機会に謹んで回答させていただきますw

563:デフォルトの名無しさん
10/04/16 02:32:36
>>562
中身の無いレスだな
以下略

564:558
10/04/16 02:55:46
>>560
お恥ずかしいです。ありがとうございます。

質問をする前にスレを見返していましたが、
人を馬鹿にするレスしかしない人が多い中、
あきれずに回答していただきありがとうございました。

565:デフォルトの名無しさん
10/04/16 06:49:02
横着せずにWPF入門書を最初から読んでいけばコントロールの追加方法なんて最初にかいてある。
なんで未知の言語なのにチュートリアルすっとばそうとするかな。

別にすっとばしてもいいけどひとりで悩んでくれよ。ひとのせいにすんな。

566:デフォルトの名無しさん
10/04/16 07:26:49
これだからIDの無い板は。

567:デフォルトの名無しさん
10/04/16 07:51:10
>>565
おおむね同意だが

>ひとのせいにすんな。
これってどこを見て感じたことなんだ?
なぜこう感じたのか、俺には全く分からんのだが。


568:デフォルトの名無しさん
10/04/16 11:50:17
blend4のベータ出たな
URLリンク(www.microsoft.com)
めぼしい機能追加はピクセルシェーダくらいじゃないのかな
あとはギャラリーで公開してくれれば済むような追加しかないような

569:デフォルトの名無しさん
10/04/16 11:59:39
ああでも3->4のアップグレードは全員無料なのか

570:デフォルトの名無しさん
10/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)) } };
}


571:デフォルトの名無しさん
10/04/16 14:07:51
「.netなんて池沼にもできる障碍者用言語だろ余裕だよ。入門書?そんなもん小学生にでも読ませとけ」
→「はー?なんでうごかねーんだよこの欠陥言語。おいくずどもどうなってるか説明しろ!」

ようするにこういう思考だろ。
「なんでおれがこんな低レベル言語にてこずらなきゃならないんだよ」みたいな
雰囲気ぷんぷんさせながら質問するとか鼻で笑うわ

572:デフォルトの名無しさん
10/04/16 22:21:44
> ボタンの中に画像を置く
> ということをXMALではなくC#のコードから実現したいです。

キチ○イwww

573:デフォルトの名無しさん
10/04/17 00:01:45
>>570
へーこんな書き方できるんだ
はじめて知った。

>>571
お前みたいに"決め付ける"人って
大抵・・・

574:デフォルトの名無しさん
10/04/18 09:50:13
WPFで「コードから動的にボタンを配置したい」ということ自体めったに無いよね
WinFormsでそうやってたようなことはアイテムテンプレート使えばだいたいXAMLだけで完結する

575:デフォルトの名無しさん
10/04/18 13:18:15
アイテムテンプレートでできるけどある条件の時はこっちとかするのも含めてコードで書いちゃった方が好きかなー


576:デフォルトの名無しさん
10/04/18 14:52:46
XAMLって「データ言語」っていうんだっけ。
プロパティの指定はXAMLコードから判るが、メンバの設定は何度読んでも混乱する。

577:デフォルトの名無しさん
10/04/19 22:05:41
Rectangleを20個ほど一気にAnimationさせると
Core2 E7400 + GeForce9400GT でも若干ガクガクするんだけど
WPFってそんなもんなの?
それとも、うまい書き方があるの?

RectangleはXAMLで配置して、AnimationはC#内で書いてるんだけど。

578:デフォルトの名無しさん
10/04/19 22:18:56
描画だけでよければDrawingVisual使ってみたら
間違ってもDrawingContextは使わないように

579:577
10/04/19 23:12:18
>>578
ありがとう、調べてみた。
これってアニメーションできないように思うんだけど
そんなことないの?
イベントとかは使わないから描画だけといえばそうなんだけど。

20個(できればそれ以上)のRectangle、長い長方形をぐるぐる回したいんだよね。
風車がたくさん立っているイメージ。

580:デフォルトの名無しさん
10/04/20 00:46:03
オブジェクトの重なりが多いほど重くなる

581:デフォルトの名無しさん
10/04/20 00:47:39
CPUでピクセルの合成してるんだっけ?
そういうのはGPUが得意なんだがな・・・

582:デフォルトの名無しさん
10/04/20 00:49:14
WPFのウインドウ内部は全部directxで書いてるって何回書いたらわかるんだよ
けちらずエッセンシャル買え

583:デフォルトの名無しさん
10/04/20 01:35:21
>>579
その程度のアニメーションなら普通にStoryboardじゃいかんの?

584:デフォルトの名無しさん
10/04/20 12:27:39
描画じゃなくてレイアウトとか入力とか高次の部分で引っかかってるんだろ
RenderTransform使ってみるとか

585:デフォルトの名無しさん
10/04/21 11:11:04
みんなRelayCommandとDelegateCommandのどちらを使ってる?

586:デフォルトの名無しさん
10/04/21 12:11:56
使うも何も両方ともただのサンプルでしょ
必要に応じて自分で作るんだよ

587:デフォルトの名無しさん
10/04/21 12:19:10
他人に説明するとき、アレと一緒で済むから楽じゃん。

588:デフォルトの名無しさん
10/04/21 15:06:02
URLリンク(www.codeproject.com)
面白い比較の記事を見つけた。
こういうのを探していたんだ。
終わりの方の比較のところね。

589:デフォルトの名無しさん
10/04/21 21:53:09
というか RelayCommand でも DelegateCommand でもどっちでもいいけど
標準で用意しときゃいいのにとはおもったわ。

590:デフォルトの名無しさん
10/04/21 22:00:52
だってMとVMはWPFと関係ないじゃん

591:デフォルトの名無しさん
10/04/21 22:26:42
依存プロパティではCLRラッパーが使えて、添付プロパティでは
使えないのはどうして?
MSDNでは「WPF の添付プロパティには、get および set のアクセスを容易にするための
標準的な CLR "ラッパー" メソッドはありません。
これは、添付プロパティが設定されたインスタンスの CLR 名前空間に、
その添付プロパティが属しているとは限らないからです。」
って書いてあったけど。つまり・・・どういうことだってばよ

592:デフォルトの名無しさん
10/04/21 22:33:09
自分自身のプロパティじゃなくて他のオブジェクトに設定するプロパティだから
プロパティ構文じゃ書けないよってこと

593:デフォルトの名無しさん
10/04/21 22:33:59
たとえばCanvasのLeft添付プロパティはCavnasクラスに定義されたプロパティだけど
そのプロパティの値を実際に持つのはCanvasの中に追加する他のクラスのインスタンスだろ
CLRプロパティではプロパティが定義されてるクラスとその値を持つインスタンスのクラスは必ず一致するけど
添付プロパティでは一致しないからCLRプロパティでは表現できない

594:デフォルトの名無しさん
10/04/21 22:39:53
でも、アクセスする構文ってCanvas.Leftみたいに[クラス名].[プロパティ名]でしょ。
ラッパーを静的にする必要はあるけど、コードからでも普通に使えそうだけどなあ。

595:デフォルトの名無しさん
10/04/21 22:42:44
だからCanvas.SetLeftメソッドがあるだろ

596:デフォルトの名無しさん
10/04/21 22:44:03
「どのオブジェクトの」Canvas.Leftなのよ?
ということになって結局Canvas.GetLeft(obj)で十全だろ、分かりやすいし

597:デフォルトの名無しさん
10/04/21 22:48:49
設定を行うインスタンスを知る必要がある(引数として送る)からラッパーでは出来ないってことか
なっとく

598:デフォルトの名無しさん
10/04/21 23:04:20
Obj.Canvas.Left とかならまだわかる

599:デフォルトの名無しさん
10/04/21 23:06:01
Obj[Canvas.Left]だな

600:デフォルトの名無しさん
10/04/21 23:15:27
DependencyObjectにthis[DependencyProperty]を定義すると
obj[Canvas.LeftProperty]にせざるを得ないからなぁ objectでしか扱えないし
それ以上は言語の方に手を入れなきゃなんなくなる

いや、dynamicでなんとかなる・・・か? しないで良いけど

601:デフォルトの名無しさん
10/04/21 23:20:15
WPF は結局ユーザーの要求するパフォーマンスに達しなかったね。

602:デフォルトの名無しさん
10/04/21 23:50:23
自分が使いこなせないからってひとも同じだと思う人って…

603:デフォルトの名無しさん
10/04/22 02:50:17
BlendとかXamlPadみたいにリアルタイムでXamlの内容を表示するのってどうやるの?

604:デフォルトの名無しさん
10/04/22 06:57:38
>>603
これがおのぞみのかな?

XamlPadを作ってみた。
URLリンク(pro.art55.jp)

605:デフォルトの名無しさん
10/04/22 07:42:46
>604
それリアルタイムでの編集内容反映は入ってないよね?


606:デフォルトの名無しさん
10/04/22 21:28:40
>>604
おー、意外にシンプルでびっくり。さんくす
>>605
更新タイミングは工夫次第でいけそう。

607:デフォルトの名無しさん
10/04/22 23:02:07
テキスト変更イベントのたんびにパースするとかね。


608:デフォルトの名無しさん
10/04/22 23:26:42
あるWindow window1 があって、
window1の中のある領域に X を配置して、
その X の中を右方向にアニメーションさせた場合、
X の右端がXの左端にくっついたように
ずっと X がループされてスライドするアニメーションって
どうやったらできますか?

ここで X とは、CanvasでもPageでも何でもよいので、
ボタンとかラジオボタンとかが配置できる領域のことです。

説明が難しいのですが、例えば window1 に電車を描き、
電車の窓から X (外の景色) を眺めているとし、外の景色が
ずっとスライドしていく感じです。

このとき、X に動的に「電柱」の絵を置いたら、ループ絵として
次に現れる X にも「電柱」が存在するように見せたいです。


609:デフォルトの名無しさん
10/04/22 23:36:59
はじっこにきたら座標もどせばいいだけじゃないの?

610:デフォルトの名無しさん
10/04/22 23:40:12
一番手抜きだと1枚の画像を座標変えて常に2回表示すればいいだけだろ

611:デフォルトの名無しさん
10/04/23 00:01:30
>>609
ありがとうございます。ですが、それだと絵が切れてしまいます。
窓の大きさが X と同じで、動かす絵が X の場合、
X を右にスライドさせると、Xの左側が空白になります。
X1 X2 と Xを並べて、X2がXの領域からはずれたら X1 の左に
配置するようにすれば実現できますが、そうすると X1 と X2 が
同じものになりません。X1に電柱が追加されたらX2にも追加、となると
処理が重たくなりますので・・・。

>>610
ありがとうございます。
そちらの方法で、チカチカさせない方法があるのでしょうか??

612:デフォルトの名無しさん
10/04/23 00:08:20
>>611
まあ>>610の方法はゲームの一般的なループの作り方なだけで
そのまんまはだめかもしれないけどねw
なるべく再利用した方がいいかと思って>>610として書いたけど
ちらついたりするならとりあえずは1つのファイルを内部で2つ同じものを作って
とかはだめ?

613:デフォルトの名無しさん
10/04/23 00:11:20
それでもうまくいかないならとりあえずは読み込む画像その物を
同じ物を2枚並べた横長で作っておいて座標で調整するか

614:デフォルトの名無しさん
10/04/23 00:13:10
expressionの4にMVVMのプロジェクトテンプレートが入るみたいね
これが標準のフレームワークってことになんのかしら

615:デフォルトの名無しさん
10/04/23 00:14:55
>>612-613
やはり冗長な部分を作って
必要な部分だけ見せるのが手っ取り早いみたいですね。
なるべくなら再利用したいのですが、ひとまず↑でやってみます。

では、失礼します。

616:デフォルトの名無しさん
10/04/23 00:25:33
>>615
画像をTile指定で表示してやれば自動的に繰り返しになる。
あとはViewportを動かしてやればいい。
URLリンク(www7a.biglobe.ne.jp)


617:デフォルトの名無しさん
10/04/23 00:31:51
IEはソース表示が出来ないようなのでXAMLのソースも張っとく。
URLリンク(codepad.org)


618:デフォルトの名無しさん
10/04/23 00:43:03
>>616-617
おぉ、このようなものもあるのですね。
寝る前に見て良かったです。

ざざっと調べてみたのですが、こちらの方法では
画像を複製表示することはできるようですが、
Buttonなどが配置されたPage(を配置したFrameなど)を
複製表示させることはできないみたいですね。

(調べ方が甘かったらすみません)

教えていただいた TileMode で絵を複製して、
Buttonなどは自分で複数配置する方法も検討してみます。

619:618
10/04/23 00:55:24
度々書き込み失礼します。

TileMode から色々と調べてみましたが、
Canvas Neme="canvas1"
にボタンなどを配置し、

<Rectangle ... >
 <Rectangle.Fill>
  <VirualBrush Visual={Binling element=canvas1}" />
 </Rectangle.Fill>
</Rectangle>

とすると、一応 Button なども複製されますね。
しかし(当然ですが)複製された絵の Button は操作できませんね。
残念です。

620:デフォルトの名無しさん
10/04/23 01:19:32
スライドしてる状態でボタンなどを操作する必要も無いだろうから、
動いてないときは普通に表示して、
スライド中だけVirtualBrushに入れ替えればいいんじゃない。

621:デフォルトの名無しさん
10/04/23 01:36:50
スライドといってもゆっくりのものでして
移動中でもクリックに反応して欲しいんです。

622:デフォルトの名無しさん
10/04/23 02:09:47
その手のは一枚絵としてスクロールさせるというよりも同サイズでスライスした要素みたいに考えて
クリッピングと組み合わせて実現するのが常套じゃないのかな

623:デフォルトの名無しさん
10/04/23 04:11:30
プログラムなんてプリミティブなアイデアの集合体なんだから
自分ですこしは考えなよ

624:デフォルトの名無しさん
10/04/23 06:47:11
>>623
そういうことは2ch言ってもしかたないと思うんだぜ

625:デフォルトの名無しさん
10/04/23 07:47:11
>>623
>>619では「考えている」認定されないのか。
2chって厳しいインターネットなんだなw

626:デフォルトの名無しさん
10/04/23 14:20:14
二度手間でもエレガントじゃなくても冗長でも、数学的な問題じゃない限り
自分の望むことをコードにすることはできるだろう、諦める=考えてない、ってことさ

627:デフォルトの名無しさん
10/04/23 18:38:39
richtextboxで行間を指定する方法はない?
LineHightやMarginを試してみても変わらなかった

628:デフォルトの名無しさん
10/04/23 18:39:55
nyuryuが言っていたが、WPFでもすべての部分にDirectXを使っているわけではないらしい。

629:デフォルトの名無しさん
10/04/23 18:49:52
>>627
WPFじゃなくてWinFormのでいいんだよな?
LineHeightってどのクラスのプロパティ?
行間ってのは段落間じゃない行間のことでOK?

まあEM_SETPARAFORMATとPARAFORMAT2使うことになると思う

>>628
にゅりゅ ってエロい響きだな

630:デフォルトの名無しさん
10/04/23 19:13:55
>627
WPFでフォントコントロールったら、
FormattedText クラスじゃないんか?

URLリンク(msdn.microsoft.com)

631:629
10/04/23 19:16:34
あ、ここWPFスレだった
C#スレと勘違いしてた、ごめん

632:デフォルトの名無しさん
10/04/23 19:22:45
FlowDocument全体の行間ならFlowDocument.LineHeightで問題ないと思うけど

633:デフォルトの名無しさん
10/04/23 22:08:51
>>627
WPFの方

634:デフォルトの名無しさん
10/04/24 12:07:11
すまん。
自己解決した。
トークンごとに読み取ってそのトークンをパラグラフを追加するときに\r\nを無視しないのが原因だったらしい。
xamlを調べて初めて原因が分かった
間違い
<flowdocument>
 <paragarh>aaaa<run>(見えないが\r)</run><run>(見えないが\n)</run></paragrah>
</flowdoument>
正しくは
<flowdocument>
 <paragarh><run>aaaa</run></paragrah>
</flowdoument>



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5357日前に更新/192 KB
担当:undef