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>
635:デフォルトの名無しさん
10/04/24 14:56:26
Paragraph p = richtextbox.CaretPostion.Paragraph;
TextRange range = new TextRange(p.ContentStart, p.ContentEnd);
this.para = new Paragraph();
this.para.Margin = new Thickness(0);
this.Spilitter.Parse(range.Text);
this.doc.Blocks.InsertBefore(p, this.para);
this.doc.Blocks.Remove(p);
パラグラフの置き換えを行うとキャレットがパラグラフの一番最後に移動してしまう。これを防ぐ方法はない?あらかじめCaretPostionを覚えておいて、置き換えた後で戻してもダメだった。
636:デフォルトの名無しさん
10/04/24 16:15:42
>>635
var curP = richTextBox.CaretPosition.Paragraph;
var offset = curP.ContentStart.GetOffsetToPosition(richTextBox.CaretPosition);
var newP = new Paragraph();
newP.Inlines.Add("New Paragraph");
richTextBox.Document.Blocks.InsertBefore(curP, newP);
richTextBox.Document.Blocks.Remove(curP);
richTextBox.CaretPosition = newP.ContentStart.GetPositionAtOffset(offset) ?? newP.ContentEnd;
これじゃダメなん?
637:デフォルトの名無しさん
10/04/24 21:42:03
>>636
それだとだめだ。
aaa
(aaaの先頭でzを入力)
zaaa
(連続で入力すると、zazaaになってしまう)
なんでWPFってこんなに面倒なの?
文字単位で選択することもできないし、キャレットを文字単位で動かすことすらできない。
開発者は馬鹿なの?
638:デフォルトの名無しさん
10/04/24 22:10:32
>>637
何がしたいのか分からないんだけど。
文字単位で選択するなら:
richTextBox.Selection.Select(richTextBox.CaretPosition, richTextBox.CaretPosition.GetPositionAtOffset(10));
キャレットを次の文字に移動するなら:
richTextBox.CaretPosition = richTextBox.CaretPosition.GetNextInsertionPosition(LogicalDirection.Forward);
TextPointer クラスと RichTextBox クラスについて、もうちょっと調べたら?
639:デフォルトの名無しさん
10/04/24 22:33:53
>>638
目がシパシパしたwww
640:デフォルトの名無しさん
10/04/25 02:37:57
>>638
パラグラフが
aaa
となっているときに
bbb
aaa
とすると、aaaを削除するとキャレットがaaaの先頭にあるにもかかわらず、bbbの後ろに移動してしまうのをどうにかして防ぎたい。
TextPointerについても調べたんだが、画面に表示されている文字単位で位置を取得するメソッドはなぜかなかった。
641:デフォルトの名無しさん
10/04/25 09:54:47
>>640
>aaaを削除すると
は
>>635の
this.doc.Blocks.Remove(p);に当たるのかな
言ってることがあんまよくわからないけど、空のパラグラフを置いといてその先頭にキャレット置くというのがやりたいんじゃないの?
ソースはそうなってないだろ
642:デフォルトの名無しさん
10/04/25 10:24:40
>>641
>言ってることがあんまよくわからないけど、空のパラグラフを置いといてその先頭にキャレット置くというのがやりたいんじゃないの?
それじゃなくて、パラグラフを置き換えてもキャレットの位置をそのまま保つということがやりたい
643:デフォルトの名無しさん
10/04/25 23:47:54
ScrollViewerのマウスホイールによるスクロールを無効化する方法はありますか?
644:デフォルトの名無しさん
10/04/26 00:03:42
PreviewMouseWheelでHandledしちゃうとか
645:デフォルトの名無しさん
10/04/26 00:52:19
>>644
e.Handle = trueでうまくいきました
ありがとうございます
646:デフォルトの名無しさん
10/04/26 03:26:57
こんな感じでボタンを並べるにはどうすればいいんでしょうか?
URLリンク(uproda.2ch-library.com)
平行四辺形とかでしたらなんとかなるんですが・・・
647:デフォルトの名無しさん
10/04/26 04:25:39
表示部分にしかあたり判定がないんだから同じpanelに全部かさねて表示だけかえればいいじゃない
そんな形なら標準ボタンを使うわけでもないんでしょ
648:デフォルトの名無しさん
10/04/26 06:27:53
URLリンク(ufcpp.net)
傾斜とかもできるので上辺もしくは下辺を短くするとか
できるかなあと思ったんですが無理ですかね?
649:デフォルトの名無しさん
10/04/26 07:04:59
Expression Blend で簡単に星形のボタンとか作れるみたいだね。
650:デフォルトの名無しさん
10/04/26 07:09:59
ジオメトリの作り方がわからないから四角の変形で作りたいっていうなら
アフィン変換使いなよ自分で計算してな
651:デフォルトの名無しさん
10/04/26 08:48:31
Blend使えればベストだけどボタンぐらいならXAMLだけでなんとかなる。
ContorolTemplateを書けばいいだけでサンプルも結構転がってるから。
あとエッセンシャルWPF読んどけ
652:デフォルトの名無しさん
10/04/26 09:41:08
>>648
それは線形変換で表現できないから無理
高校数学C参照
653:デフォルトの名無しさん
10/04/26 13:08:53
文字単位で選択するメソッドがないので作ってみた。だが、どうも、遅いような気がする。これより早い方法があったら教えてほしい。
TextPointer getPostionAtCharacters(int offset)
{
for (int i = offset; this.Document.ContentStart.GetPositionAtOffset(i) != this.Document.ContentEnd; i++)
{
TextRange range = new TextRange(this.Document.ContentStart, this.Document.ContentStart.GetPositionAtOffset(i));
if (range.Text.Length == offset)
return range.End;
}
return null;
}
654:デフォルトの名無しさん
10/04/26 15:05:53
>>649>>650>>651
ありがとうございます。
しかしここまでGUIをいろいろ変えやすいとなるとデザインセンスないと
きついですね・・・
655:デフォルトの名無しさん
10/04/26 18:47:52
宇宙仮面のHP
エラーでまくり
656:デフォルトの名無しさん
10/04/26 19:03:56
RadioButtonをC#からCheckする方法ありますか?
657:デフォルトの名無しさん
10/04/26 19:07:39
あるよ
658:デフォルトの名無しさん
10/04/26 20:20:09
>>656
XAML側でコントロールに名前(Name="hoge")とかやれば
C#側から従来のWinFormのようにいじり放題
659:デフォルトの名無しさん
10/04/26 20:38:00
でも実際にはバインディングオブジェクトのプロパティの方を操作するよね
660:デフォルトの名無しさん
10/04/26 20:41:36
WPFは要素にName付けたら負け
661:デフォルトの名無しさん
10/04/26 20:46:27
それなんてみすりーど。
662:656
10/04/26 21:22:55
>>657-661
>>658さんの方法以外はどのように書けばいいんでしょうか?
663:デフォルトの名無しさん
10/04/26 21:38:08
気にせず名前付けたらいい
664:デフォルトの名無しさん
10/04/27 00:08:38
>>660
コードビハインド使ったら負け
665:デフォルトの名無しさん
10/04/27 00:53:01
真の勝者はXAMLを使わない
666:デフォルトの名無しさん
10/04/27 00:54:50
blend+コードビハインド
都会派はこれ
667:デフォルトの名無しさん
10/04/27 00:55:03
ソフトなんか他人に作らせるよね真の勝者なら。
668:デフォルトの名無しさん
10/04/27 00:57:01
こだわりのソフト作成なら至福だろ
作らされてるなら敗者
669:デフォルトの名無しさん
10/04/27 01:27:42
WPFの場合
プログラマーはバインド関連をマスター
デザイナーはXAML関連をマスター
そんなところですかね?
670:デフォルトの名無しさん
10/04/27 02:18:51
BeginAnimationのタイミングが異なっても、
アニメの動きのタイミングを同期させる方法ってありますか。
671:デフォルトの名無しさん
10/04/27 04:59:26
あるよ
672:デフォルトの名無しさん
10/04/27 08:28:30
INotifyPropertyChangedから依存プロパティへのバインドが機能したりしなかったりする
わけがわからない
673:デフォルトの名無しさん
10/04/27 09:00:47
>>669
正解じゃない。
プログラマーはバインド関連とXAML関連をマスター 。
674:デフォルトの名無しさん
10/04/27 22:14:00
XAML自体はマスターするには.NETプログラミングに習熟してないといけないからデザイナには酷
デザイナーはExpression BlendとXAMLの基礎事項をマスター
675:デフォルトの名無しさん
10/04/28 00:05:19
だな。MSはデザイナがXAMLを触らなくても大丈夫なようにツールを揃えた方が良いだろね。
676:デフォルトの名無しさん
10/04/28 00:08:47
WPFのバインディングは勉強すればするほど魅力的なんだよな
C#のコントロールにも一応項目あったけどここまで使えたっけ?
677:デフォルトの名無しさん
10/04/28 00:15:35
デザイナが実際には動かさないスタイルを自由奔放に作成して
上司は「デザイナの作った物がそのまま動く!素晴らしい!」と言い出して
結局はプログラマが地獄を見る。そういう代物だろ?
678:デフォルトの名無しさん
10/04/28 00:17:38
うーん
まあ前ほどは地獄をみないんじゃないかな
バインディングが強力なのでいい感じだよ
679:デフォルトの名無しさん
10/04/28 00:17:43
そこは誤解がないようにちゃんと主張しろよ
680:デフォルトの名無しさん
10/04/28 00:18:51
.NET 4.0 では NumericUpDown コントロールはサポートされますか?
681:デフォルトの名無しさん
10/04/28 00:19:17
デザイナーが作る範囲は所詮はwebページで言えばhtmlに毛の生えたことしかしてないからなあ
682:デフォルトの名無しさん
10/04/28 01:14:12
.NET4な。CLRは4.0。
683:デフォルトの名無しさん
10/04/28 01:48:52
blend上で動くなら何も心配しなくていいんじゃないの何かあるの?
684:デフォルトの名無しさん
10/04/28 02:07:24
URLリンク(www.atmarkit.co.jp)
上のサイトの中央付近から始まる「コレクション・オブジェクトへのバインド」のところを
動かそうとしたのですが下記のようなエラーとなり動きません。
>エラー 1 値 ' {Binding}' をプロパティ 'ItemsSource' に割り当てることができません。
>型 'IEnumerable' のプロパティ 'ItemsSource' は文字列として指定できません。
どのように対処すればよいのでしょうか?
685:デフォルトの名無しさん
10/04/28 02:14:01
>>682
.NET 4 と .NET 4.0 の違いを詳しく教えてください。
区別すべきなのでしょうか?
686:デフォルトの名無しさん
10/04/28 02:15:10
.NET 4.0 とかくことは意味があると思いますが、
.NET 4 と指摘していることについて詳しく教えてください
687:デフォルトの名無しさん
10/04/28 02:19:37
>>684
素直にXAMLで書けよ
688:684
10/04/28 02:28:18
自己解決しました。
ListBoxを使っているほかのサンプルと見比べたところ
<Grid x:Name="MainPanel" Loaded="MainPanel_Loaded">
<ListBox ItemsSource=" {Binding}"
DisplayMemberPath="Bmi"/>
</Grid>
の
<ListBox ItemsSource=" {Binding}"
{Binding}の前の半角スペースが原因で文字列として認識されていたようです。
>>687
質問に対する答えになってないと思いますが・・・
689:デフォルトの名無しさん
10/04/28 02:37:07
VS2005 / .NET2.0 しか許されない環境で、
MVVMを模倣して手動でモデリングしたクラスプログラミングをすることは効率化になりますか?
690:デフォルトの名無しさん
10/04/28 02:37:15
ガベージイン、ガベージアウト
691:デフォルトの名無しさん
10/04/28 02:43:57
>>685-686
「.NET Framework 4」が正式名称。
.NET 4.0と言っても問題なく通じるので実用上の問題はない。わざわざ指摘する程の事でもないだろ>>682
692:689
10/04/28 03:17:09
>>74が気になるなぁ。リフレクション調べてみるか…
693:デフォルトの名無しさん
10/04/28 03:21:53
>>692
目指す目標としてXAMLなどがあるんだし、それと同じ仕組みにすれば
MVVMも可能じゃないかな?
まあ自前であれこれするより本当はWPFにするべきなんだが
ところでなんでそんな古い環境にこだわらないといけないんだろうw
694:デフォルトの名無しさん
10/04/28 05:26:27
VとVMの疎結合さえ保てればとりあえずMVVMって言えるのかな?
・Viewを定義する「なにか」を設計する
(WPFではXAML)
・「なにか」からViewを生成するライブラリを実装する
(WPFではSystem.Presentationとかかな?)
・「なにか」と実行時バインドする方法も実装する
(依存プロパティみたいな仕組み。ここでリフレクションががっつり登場)
マンドクセ・・・
XAMLの仕様はそのまま使って.net 2.0 WinFormsでもViewが構築できるライブラリ作れば
それなりに需要は・・・ないか
695:デフォルトの名無しさん
10/04/28 05:34:57
一番重要なのはMとVVMと間のデカップリングだと思うよ。
696:デフォルトの名無しさん
10/04/28 05:37:58
そういえば依存関係を切り離せるコンテナってあったよね?
あれは使えないの?
697:デフォルトの名無しさん
10/04/28 06:30:25
ざっくりいうとVMはVからのMに対するブリッジって認識だがよろし?
>693
ぶっちゃけマシン性能にもよるんだろうが未だにWPF遅くね?
頻繁な更新が必要なデイトレアプリみたいなもんとか向いてなさそうなんだが。
>694
そげんな感じのもん作ったお。未だに2000とかにも配慮しなきゃいけなくてな( ^ω^)・・・
698:デフォルトの名無しさん
10/04/28 06:42:25
DIコンテナは未だによくわからん・・・
699:デフォルトの名無しさん
10/04/28 07:39:00
>>693-697
thx.
2005なのは、そういう環境でWindowsXpとWindowsCEの開発レッスンを受けてますw
自分が2000使ってるのでその点も嬉しいかなw
700:デフォルトの名無しさん
10/04/28 10:36:39
>>696
CAL(Prism)なんかはUnityのDIコンテナ使ってるよ。
.NET4で追加されたMEFもかな、仕組みはDIコンテナっぽいが。
701:デフォルトの名無しさん
10/04/28 10:46:10
ブラウザアプリでエクセルを操作するプログラムが入っててエクセルオブジェクトバージョンが違ってる人がアドレス開いてアプリ操作したらどうなるの?
702:デフォルトの名無しさん
10/04/28 10:52:10
WPFが描画にGPUとCPUどっちを使ってるかどうすればわかるんですか?
自分のグラボがWPFに対応出来てるかしりたいんです
703:デフォルトの名無しさん
10/04/28 12:52:20
>>702
WPF のパフォーマンス プロファイリング ツール
URLリンク(msdn.microsoft.com)(VS.90).aspx
704:デフォルトの名無しさん
10/04/28 13:55:32
依存関係の向きがV→VM→Mとなってればいいだけのことで
VのコードビハインドでVとVMを手で結びつければバインディングはいらないよ
コマンドはVMのメソッドを呼び出せばいいだけ
705:デフォルトの名無しさん
10/04/28 14:11:36
MVVMの目的はVMを単体テストすることだよ
それが必要ないんだったらコードビハインドをVMとみなして
XAMLで自身のプロパティにバインドするだけでいい
それが本来WPFで想定されていたバインディングの使い方
706:デフォルトの名無しさん
10/04/28 14:12:00
C++ と XAML の組み合わせで使えないのはなんで?
707:デフォルトの名無しさん
10/04/28 14:22:27
WPFはマネージコード専用だから
C++/CLIで使えないのは単にMSにやる気がないから
WPFはアンマネージドな世界との相互運用がしづらいしものすごく高レベルなので
わざわざC++/CLIから使うというのはちょっと考えられない
708:デフォルトの名無しさん
10/04/28 14:27:11
>>703
WindowsSDKツールのV6.0A V6.1の両方ともWpfPerf アプリケーションが入ってません
どのSDKですか?
709:デフォルトの名無しさん
10/04/28 14:30:10
ブラウザアプリでファイルにアクセスできないと何も出来なくないですか
同一サーバー上のファイルにアクセスするにはどうすればいいんですか
710:デフォルトの名無しさん
10/04/28 15:39:52
>>709
下手に許すとローカルのファイルをいじり放題。その気になればスパイウェアも仕込み放題ということになってしまうから、それはできないことになってる
711:デフォルトの名無しさん
10/04/28 16:12:42
>635で質問したものだが、こういう風にすることでとりあえず解決した
URLリンク(ideone.com)
712:デフォルトの名無しさん
10/04/28 19:15:20
>>708
V6.0 か V7.0。
以前は単体でもダウンロードできたけど、今は出来ないみたい。
(URLリンク(windowsclient.net) の previous version of WpfPerf)。
SDK を入れるなら Win32 Development Tools だけ入れればいい。
713:デフォルトの名無しさん
10/04/28 20:57:54
XAML:<ListBox ItemsSource="Binding ."/>
結果:
B
i
n
d
i
n
g
.
あぁそうか…stringもIEnumerableだったな… ってこんなんアリなのかw
714:デフォルトの名無しさん
10/04/28 23:35:19
ちょっとワロタw
715:デフォルトの名無しさん
10/04/29 11:29:33
>>712
できたありがとう
ハードウェアレンダー 1 になってた
サンプルサイト見てるとカクカクだから絶対CPUレンダーだと思ったのに・・・
716:デフォルトの名無しさん
10/04/29 17:32:32
Shazzam(WPF/Silverlight用のシェーダエディタ)良いね
シンプルだけどWPFやSilverlightのシェーダ書くのには十分
C#側のコードを自動生成してくれる
WPFの見本みたいなかっこいいインターフェイス
717:デフォルトの名無しさん
10/04/29 19:15:45
WPF入門者用のサイトいくつか教えてくれ
718:デフォルトの名無しさん
10/04/29 19:20:07
ゲームパッド使えるの?
719:デフォルトの名無しさん
10/04/29 19:25:12
>>718
XNA+WPFでいけ
URLリンク(sorceryforce.com)
720:デフォルトの名無しさん
10/04/29 19:28:45
>>717
ここだなあ
URLリンク(www.atmarkit.co.jp)
WinFormで動的にコントロール追加したりオーナードローとかやったことある人なら
それほど違和感なくやれると思うがこれからって人は2010のマウスでデザインできる
ってを利用した方がいいかもね~
721:デフォルトの名無しさん
10/04/29 22:40:11
XNAだとXBOX用コントローラしか使えない
DirectXは参照できたからそっちで攻めるしかないんじゃない
722:デフォルトの名無しさん
10/04/29 22:50:42
>>721
PS2パッドも使えるわ
適当なこと言うな
723:デフォルトの名無しさん
10/04/29 22:54:59
>>723
使えねえよ
724:723
10/04/29 22:57:13
>>722
つ、使えないと思います
725:デフォルトの名無しさん
10/04/29 22:58:27
訂正来てよかったぜ
どう突っ込んでいいか悩んだぜ
726:デフォルトの名無しさん
10/04/29 22:58:49
いやいや現に使ってるしw
なにいってんの?
727:デフォルトの名無しさん
10/04/29 23:01:09
もしかしたら古いコンバーター使っているんじゃないのか?
1年前に買った奴だと普通に使えたわ
728:デフォルトの名無しさん
10/04/29 23:40:58
>>726
そういうのもう良いから。
しかし DirectInput に未対応なのはなんでなんだろね。
729:デフォルトの名無しさん
10/04/29 23:45:29
XNA+DirectXならXBOXコン以外使える
WPF+XNAならXBOXコンしか使えない
730:デフォルトの名無しさん
10/04/29 23:48:59
>>720
全部読んでサンクス
読んで思ったのが
stackpanelに複数配置されたコンテンツを
そっくり別のコンテンツに取り替えるようなのって
xamlじゃ無理?
画像を表示してた場所をすべてボタンに変えるとか
そういうのはやっぱりC#でやるのかね
決まった雛形だら自由に作れるような感じだけど
GUIの表示をごっそり変えるのはどうするのかな
次はバインド読んでみるか
731:デフォルトの名無しさん
10/04/29 23:50:28
ListBox.ScrollIntoView を使うと、指定したアイテムを画面内に持ってくることができますが、
一番端に表示されます。
これを一番端ではなく、もうちょっと内側(2、3個要素が見えるような位置)にしたいんですが、
どうすればよいでしょうか?
732:デフォルトの名無しさん
10/04/29 23:50:34
>>729
ああ、そういうことか
733:デフォルトの名無しさん
10/04/29 23:53:22
>>731
そういうかゆいところに手が届かないこと多すぎるよな
それの対処にやたら時間かかって先に進めないのが
すごくイラつくわ
コアの部分に全然時間かけれない
734:デフォルトの名無しさん
10/04/30 00:05:49
2,3個上の要素を指定すればいいのでは・・・
735:デフォルトの名無しさん
10/04/30 00:11:44
やってみたら例外がでた!→範囲内に丸めろよ…
やっと初心者がWPFをやる時代が到来胸が熱くなるな
736:デフォルトの名無しさん
10/04/30 00:46:35
WPF みたいな一部でしか使えないものは危険。
737:デフォルトの名無しさん
10/04/30 00:53:21
意味わからん
738:デフォルトの名無しさん
10/04/30 02:00:54
>>718
>>729
このスレならどうせWindows専用ってことだろうから
joyGetPosをP/InvokeすればXBOXコントローラ以外も使える。
Windows 95から存在するAPIなので安心。
URLリンク(msdn.microsoft.com)
739:デフォルトの名無しさん
10/04/30 10:12:31
WPF勉強しているんだけど
初心者にはあえてこちらの方がお勧めのような気がする
GUI部分とロジック部分を自然に分離して記述するから
ソースも見やすくなりそう
740:デフォルトの名無しさん
10/04/30 13:01:04
実際に初心者に使わせたら大半をコードビハインドに記述、
ViewModelでViewを生成し、
ViewがViewModelのコントローラという素敵構造にしたんだが…
741:デフォルトの名無しさん
10/04/30 13:18:34
>>720
これずーっと読んでいって
第 3回 “見た目”を決めるリソースとスタイル
で詰まった
むずぅ
742:デフォルトの名無しさん
10/04/30 13:24:51
>>741
そう?
WinFormでもImageListなんてあるけどあれの汎用版みたいなもんでしょ
743:デフォルトの名無しさん
10/04/30 13:26:15
おっと途中になった
スタイルはCSSと似てるし
744:デフォルトの名無しさん
10/04/30 17:50:21
みんなExpression Blen使ってるの?
745:デフォルトの名無しさん
10/04/30 21:31:35
>>744
これからWPF試してみたいのでExpression Blend 4が早くでないかなと思ってる。
VS10が出たし、もうすぐだと思ってたんだがアナウンスがないな…
746:デフォルトの名無しさん
10/04/30 22:57:26
ブレンド無しで WPF ってwww
747:デフォルトの名無しさん
10/05/01 02:07:09
Blendなんて飾りですよ
ControlTemplate生成にしかわからんのです
748:デフォルトの名無しさん
10/05/01 05:48:20
別にボタンを星型にしたいとか思わないしなあ
749:デフォルトの名無しさん
10/05/01 08:02:08
ボタンを星形にするだけがテンプレートじゃないだろ
WPFの胆はDataTemplateやItemTemplate
VSだけだと手書きしないといけない
750:デフォルトの名無しさん
10/05/01 09:16:53
Blendなきゃだめなのか
WPF一気にやる気なくなったわ
751:デフォルトの名無しさん
10/05/01 10:52:30
やる気も金もない人間は必要とされていないようだ。
752:デフォルトの名無しさん
10/05/01 10:52:45
2010を使い.NET4でWPFを始めてみました
ググりながら試行錯誤してコマンドとコンテキストメニューを繋ごうとしています
キー操作だと正常に動作し、PlayPause_Executeが呼ばれるのですが、
コンテキストメニューは見出しやキーの表示は合っていますが、グレー表示のままで選択できません
何が悪いのでしょうか?
タイマで定期的にCommandManager.InvalidateRequerySuggested();してみても変わらないようですし
キーを押したときにはCheckCanExecuteCommandが呼ばれますが、それ以外では呼ばれないようです
public class Commands
{
public static RoutedUICommand PlayPause = new RoutedUICommand("再生/一時停止", "PlayPause", typeof(Commands),
new InputGestureCollection { new KeyGesture(Key.Space) });
}
XAMLで(はしょっています)
<Window xmlns:local="clr-namespace:hoge">
<StatusBar.ContextMenu>
<ContextMenu>
<MenuItem Command="{x:Static local:Commands.PlayPause}" IsEnabled="True" />
</ContextMenu>
</StatusBar.ContextMenu>
C#側コンストラクタで
CommandBindings.Add(new CommandBinding(Commands.PlayPause, PlayPause_Execute, CheckCanExecuteCommand));
private void CheckCanExecuteCommand(Object sender, CanExecuteRoutedEventArgs e) {
e.CanExecute = true;
}
753:デフォルトの名無しさん
10/05/01 11:04:27
>>751
お前は一日中いろんなスレで煽るしかできない人間みたいだな
754:752
10/05/01 14:06:29
>>752
どうやらContextMenuの場合だけのようで、理由はまだよくわかりませんが
とりあえずコンストラクタの最後にFocus();を入れることで回避できることがわかりました。
755:デフォルトの名無しさん
10/05/01 14:11:55
>>753
お前は一日中いろんなスレで煽られるしかできない人間みたいだな
756:デフォルトの名無しさん
10/05/01 14:48:48
Blendなんて飾りですよ。漢は手書き。マジで、Blendは非プログラマ向けの
ツールだから、開発者はUIをちゃんと設計して手書きした方が覚えがいい。
757:デフォルトの名無しさん
10/05/01 14:51:15
うむ確かに手書きで覚えないとここまで分離した作りになると
わからなくなるぞ
JavaScript書くやつだってhtmlやCSSは知ってるだろ?
C#とXAMLの関係ってそういうもんだよ
758:デフォルトの名無しさん
10/05/01 14:59:42
非プログラマ向けとかまで言い切っちゃうのは逆にblendを過大評価しすぎ
手書きすることとUIを設計することは全然関係ないし
細かいアニメーションとかスタイル指定とかblendあったほうがいいに決まってんじゃん
759:デフォルトの名無しさん
10/05/01 15:05:52
設計して、手書きしろと薦めただけだから関係なんて求められてもねぇ。
設計してBlendで作れるんなら別にそれでいいけど、細かいアニメも
スタイルも、設計さえしてあれば、手書きできるから、敢えてBlendじゃ
無いとできないものって無いでしょ。
感覚的に作りたいという意味でBlendはプログラマ的じゃないよ。
でも、非プログラマに使わせて使えるかというと、使えないんだけど。
下手にソースを汚されても困るし、やっぱBlendは要らないなぁ。
存在が非常に中途半端。
760:デフォルトの名無しさん
10/05/01 15:09:09
ああそれだとまあ同じように感じてるのかな
現状のblendはプログラマがデザイン的な作業をすることをサポートするツールって感じる
で俺には有用
アニメ付けるのにプレイバックなしで手書きとかやってらんない
761:デフォルトの名無しさん
10/05/01 15:48:50
ホームページビルダー使えたからって
プログラミングができるわけじゃない
762:デフォルトの名無しさん
10/05/01 16:41:15
html・cssの手書きとかあんな糞つまらん作業したって別に自慢には
763:デフォルトの名無しさん
10/05/01 17:57:43
>762
cssは手書きしてた頃しか知らない。誰でもできる技術になった頃には
辞めてたから。XAMLもアホでもできるようになる前には、辞めて別の
何かを始めるよ。
元々は、つまんないとかの話じゃなくて、プログラマなら、デザイナで
操作するだけじゃなくて、ソースで中身を覚えろって話なんだけどね。
764:デフォルトの名無しさん
10/05/01 18:46:17
何こいつ気持ち悪い
765:デフォルトの名無しさん
10/05/01 18:55:34
わろた
手書きしてる俺カッケー(キリッ
766:デフォルトの名無しさん
10/05/01 18:58:13
>>763
アホでもできるようなコードしか書けないから
すぐに追い抜かれて嫌になるのですね
767:デフォルトの名無しさん
10/05/01 19:00:47
並のレベルのプログラマならblendの出力なんかいざとなればいつでも読めるんだからどうでもいい話
768:デフォルトの名無しさん
10/05/01 19:06:25
>767
あぁ、いかにもやったこと無いって感じのコメントだね。
できるけど、嫌んなるよ。
769:デフォルトの名無しさん
10/05/01 19:24:15
>>767
やればできる、っていうのとは あんまり関わりたくない・・・
770:デフォルトの名無しさん
10/05/01 19:24:57
どうだろね
まだ本質的にややこしいGUIは作ってないし
blendで弄って出てきたXAML見てなるほどとか言っちゃうことがあるレベルだからわからんけど
でもXAML一緒に表示して弄れるんだからあんま問題なくない?
771:デフォルトの名無しさん
10/05/01 19:52:49
>770
仕様的に危ない点もあるけど、デザイナが他にいるとして、見た目は
他人が作るわけだ。大概のデザイナはソースが読めないから、
ソースにコメントを入れるとか、読みやすいソースを書くというセンスも
無く、Blendが生成したソースがそのまま送られてくる。
書き直そうと思っても、こういうソースになった意図(内部的な実装仕様)
を読み解かないと、書き直せない。けど、デザイナは内部実装の仕様なんて
存在自体を知らんよ。
一人でやるなら自分の頭の中だけで解決するから、好きにすりゃいいと思う。
772:デフォルトの名無しさん
10/05/01 20:07:41
まあ俺はもともとblendがデザイナとの協働ツールとして優れてるとは全然思ってないからね
773:デフォルトの名無しさん
10/05/01 20:24:49
言い訳するな
774:デフォルトの名無しさん
10/05/01 20:50:34
言い訳ってw
>現状のblendはプログラマがデザイン的な作業をすることをサポートするツールって感じる
先にこう書いてるよ
775:デフォルトの名無しさん
10/05/01 21:36:36
ListViewで6000行10列ぐらいのDataTableバインディングしてるんだけど、スクロールが遅い
コンテナのリサイクルと仮想モードは有効にしてて、遅延スクロールは最終手段ってことで保留してて、
現状でこれなんで、デザインどころじゃないんだが
兄さん達はどうやって最適化してる?
776:デフォルトの名無しさん
10/05/01 22:05:12
>>775
表示しているところだけListViewに追加する
他はダミー
777:デフォルトの名無しさん
10/05/01 22:10:14
バインドするアイテムを制限するしかない気がする。
778:デフォルトの名無しさん
10/05/01 22:22:34
そういうの必要になったらなにを試すかなと考えたら
直結するんじゃなくてvisualBrush化して並べるとかかなと思った
スクロールは早そうじゃない?
779:デフォルトの名無しさん
10/05/01 22:42:03
>>778
visualBrushが分からんので調べたらようはハリボテか!それ頂き!
適当にブラーかけて描画省略してもよさそうだ、
兄さん達ありがとう。試行錯誤してみるよ
780:デフォルトの名無しさん
10/05/01 22:44:25
描画というより重いのはレイアウトだろ
781:デフォルトの名無しさん
10/05/02 03:19:00
ボタンをひし形にして疑似3Dゲームのように並べるにはどうすればいいだろう?
理想としてはウインドウの大きさに合わせて縮尺が変わってくれるといいのだが・・・
782:781
10/05/02 03:40:35
イメージとしてはこんなのです
URLリンク(tsushima.2ch.at)
青のラインの上をめざしてて、下の方は避けた挙動です。
783:デフォルトの名無しさん
10/05/02 04:38:03
SkewTransform弄れば擬似3Dっぽい表現は一発
ウィンドウのサイズに追従させるのはパっとはわからない
784:デフォルトの名無しさん
10/05/02 04:57:30
一人で作る小規模アプリにWPFは効率悪すぎる
785:デフォルトの名無しさん
10/05/02 05:12:47
>>783
自己レス
初期表示で傾斜つけたコンテナをウィンドウに収まるように配置しとけばリサイズには勝手に追従するなあ
uniformgridならうまく拡大してくれるような気がする
786:781
10/05/02 05:15:31
>>783>>785
朝早くありがとう
ボタン単体で傾斜つけてグリッドに埋め込んだりしてたけどどうもおさまり悪いので
ボタンを入れ込むグリッドそのものを回転しちゃえって方向で今調べてました・・・
Blend使った方が楽かなあ・・・・
こいつが出力するxamlで勉強した方が速そう・・・orz
787:デフォルトの名無しさん
10/05/02 05:30:40
UniformGridでかっちりできるね
縦横比によっては見えなくなっちゃうけど
blendはそりゃあったほうがいいでしょ
なかったらこんなのめんどくさくて試す気もしないもん
788:デフォルトの名無しさん
10/05/02 06:16:28
こういうことか
URLリンク(tsushima.2ch.at)
ひし形の場合って影は下と右どっちが普通なんだろう
789:デフォルトの名無しさん
10/05/02 06:19:16
おっとボタン上のテキストは正面向いてないといけないのかなー
それだと一手間いるな・・・
790:デフォルトの名無しさん
10/05/02 06:19:45
>>788
まさにそういうのです
まあ影はこの際いらないかなあ・・・
将来的にはスキンも考えてるので
791:デフォルトの名無しさん
10/05/02 06:30:26
>>788
あれですかね
ボタンを回転させるよりボタンを星形にするようにベクターをいじって
ひし形のボタンを作った方がいいかもしれないですね
ただそういう場合ってヒットエリアって矩形なんだろかそれとも作った形そのままなんだろうか・・・
792:デフォルトの名無しさん
10/05/02 06:56:29
ちなみに>>787で作ったのはこんなのね
URLリンク(tsushima.2ch.at)
簡単だけどかなり見劣りするな・・・
793:デフォルトの名無しさん
10/05/02 07:25:32
>>792
なるほど・・・
こちらでもBlend入れてデザインしてみましたが難しいですねw
URLリンク(tsushima.2ch.at)
ボタンそのものの形は変わるのですがあたり判定が元のままw
794:デフォルトの名無しさん
10/05/02 07:53:44
あら?傾斜(擬似3D)じゃなくて回転でいいわけ?
だったらこういうのも
URLリンク(tsushima.2ch.at)
簡単・・・プレゼンターだけをグリッドとは逆に回転させるスタイルを定義する
判定も問題なしなんだけどこれだとリサイズしたときにむちゃくちゃになっちゃうな
795:デフォルトの名無しさん
10/05/02 07:59:31
>>794
まあ本当はウインドウサイズ固定などができれば楽なんですけど
なにせウインドウズアプリなのでどうしてもウインドウサイズの変更は
できて当たり前みたいなところがあるのがつらいんですよね・・・
まあこんな状況だからウインドウズ関連で指を使ったタッチパネルUIが
普及しないんでしょうけど
細かいタッチ制度を出せるマウスもしくはスタイラスのような
ポインティングデバイス向けUIは得意なんでしょうけどね・・・
796:デフォルトの名無しさん
10/05/02 08:08:12
>>793
ちゃんとClipしていれば当たり判定は問題ないはず
フォーカスの破線は自分で描画(もしくは消す)
ついでに、>>788のXAML
URLリンク(pastebin.com)
797:デフォルトの名無しさん
10/05/02 08:37:34
>>796
ありがとうございます
うーん難しいw
798:デフォルトの名無しさん
10/05/02 10:51:49
というか、ゲーム作るならこれぐらいボタン使わないで描画しろよって話だな
中学生でもできるぞ
799:デフォルトの名無しさん
10/05/02 10:53:36
WPFの3Dはゲーム作成の為にある
800:デフォルトの名無しさん
10/05/02 10:57:55
データの視覚化とかトランジション効果とかの為だろ
801:デフォルトの名無しさん
10/05/02 10:59:10
>>798
こういうUIを採用してるアプリが思い当らなかったのでゲームを例題にしてますが
ゲームじゃないですよ
802:デフォルトの名無しさん
10/05/02 10:59:52
>例題にしてますが
>ゲームじゃないですよ
例題にしてますが
作っているのはゲームじゃないですよ
803:デフォルトの名無しさん
10/05/02 11:06:15
URLリンク(tsushima.2ch.at)
改造して影をつけてみたけど解像度あがると重い・・・
URLリンク(tsushima.2ch.at)
赤丸のあたりに別途ボタンをつけたりする方法がわからない・・orz
804:デフォルトの名無しさん
10/05/02 11:32:16
Gridはレイヤーみたいな使い方もできるぞ
がんばれ
805:デフォルトの名無しさん
10/05/02 11:42:44
道具に振り回されている感じだね
もっと頭使えよ
806:デフォルトの名無しさん
10/05/02 12:03:17
gridの使い方もわからない男の人って…
807:デフォルトの名無しさん
10/05/02 13:10:06
>>803
これが進化したらビューポイントが出来上がりそうだと思った。
808:デフォルトの名無しさん
10/05/02 17:30:25
>>804
はい
>>805
まあ休みの暇つぶしに始めたのでいろいろわからないことだらけなんですよね・・・
809:デフォルトの名無しさん
10/05/02 19:28:29
>>803
これ格闘ゲームのキャラクター選択画面みたいだな
810:デフォルトの名無しさん
10/05/02 19:52:56
こんなしょぼいもん作って喜んでるって
レベル低いな
811:デフォルトの名無しさん
10/05/02 20:04:58
俺のデザイン最強(キリ
こんなしょぼいもん作って喜んでるって
レベル低いな(キリ
どんなUI作ってるんだろう見てみたい
812:デフォルトの名無しさん
10/05/02 20:06:23
言ったもん勝ちだし。
MVPの俺が言うんだから確か。
813:デフォルトの名無しさん
10/05/02 20:11:33
そういえばWinFormのClientSizeに相当する動きってどうやればいいんだろう
814:デフォルトの名無しさん
10/05/02 20:15:45
コントロールとDataSetとの接続の仕方が判らない・・・
データベースを介さないと出来ないのか?
815:781
10/05/02 20:21:27
>>810
新しいことへの挑戦中なのでこれもラフスケッチみたいな物ですよ
今後でるであろうタッチパネル搭載端末で使いやすいUIの研究ですから
ある程度決まった画面内やりとりするってのはゲームUIから学ぶことが
多いのでこれもその一つなんですよ
WPFの勉強も兼ねてですから
まあ偉い人にはわからないでしょうねw
816:781
10/05/02 20:31:16
勝手にコメントしないでください
817:781
10/05/02 21:12:26
じゃあ、俺が変わりに。
アノデスネ・・・。
818:デフォルトの名無しさん
10/05/02 21:16:50
Fromの上にWPFのMediaElementを乗せた簡易メディアプレイヤーを
.NET4で完全WPFに書き換えたら重くなった
やってることはほとんど大差ないのに何故だ
819:デフォルトの名無しさん
10/05/02 23:36:30
>>813
Window.ContentのWidthとかHeightじゃだめ?
820:デフォルトの名無しさん
10/05/02 23:43:45
>>815
研究なら自分でやることだな
この程度のことを質問しているようじゃ
何も出来そうにないな
821:781
10/05/03 01:19:15
>>820
その人成りすましなんですって・・
ID欲しいよ・・・
822:デフォルトの名無しさん
10/05/03 01:40:50
>>819
ありがとうございます。
別件で
動的にコントロールを追加したりする場合はやはりC#側で制御するしかないんですかね?
823:デフォルトの名無しさん
10/05/03 03:13:09
動的の度合いがわからない
824:デフォルトの名無しさん
10/05/03 08:03:33
技術制約無視して条件分けとか言い出すんだから「xamlにコード埋め込め」でいいと思うよ
825:818
10/05/03 10:07:19
>>818
動画の上にテキストを表示するためにOuterGlowBitmapEffectを使ってたけど
.NET4で削除された?のでDropShadowEffectに書き換えたがこれが重いらしい
ウインドウサイズをいじって動画と重ならないようにすると少しだけ軽くなり
非表示にしたりEffectを無効にするとぐんと軽くなる
ヘルプの.NET4の相違点のページかなんかで
描画方法が変わったとか何か書いてあった気がするけどページが見つからない
826:デフォルトの名無しさん
10/05/03 10:27:06
BitmapEffectはパフォーマンスがクソだからというので
ピクセルシェーダでGPUを思いっきり使うようになったんだけど(.NET3.5~)
ハードウェアが対応してないとか
827:デフォルトの名無しさん
10/05/03 21:51:18
>>825
俺は、動画はないけど文字列をいっぱい表示してるけど縁取りでDropShadowEffectを使ってみたら重いな、OuterGlowBitmapEffectも重かったけどね
ボカシの処理を無くして縁取りの処理をもっと軽くできないものか・・・
828:デフォルトの名無しさん
10/05/04 07:05:54
>>827
ぼかしを無くして影を落とすだけでも重かったので、妥協して半透明の背景をつけることにした
BitmapEffectが重いからって話だったはずなのにこっちの方が重くなるのが納得いかない
グラボは6800XTだからShader 2.0には対応してるはずだけど3.0が必要なのかな
829:デフォルトの名無しさん
10/05/04 15:31:17
カスタムコントロールにResourceDictionaryを定義した
xamlファイルを結びつけるのはどうすればいい?
カスタムコントロールのコードからリソース内の表示用部品を利用したいのだけれど。
830:デフォルトの名無しさん
10/05/04 17:01:51
>>829
xaml の読み込み
ResourceDictionary.MergedDictionaries
or
XamlReader.Load(file)
部品の取得
FrameworkElement.FindResource(key)
or
ResourceDictionary[key]
831:デフォルトの名無しさん
10/05/04 18:34:43
>>829
これでも
ResourceDictionary rd = new ResourceDictionary();
rd.Source = new Uri("pack://application:,,,/MyApp;component/Dictionary1.xaml", UriKind.Absolute);
string myValue = rd["MyValue"] as string;
832:デフォルトの名無しさん
10/05/04 18:44:44
>>830-831
さんくす!
使うリソースは1つだけなので
this.Resources.Source = new Uri("pack://application:,,,/testcontrol/test.xaml");
でいけた。this.Content = this.FindResource("button");てな感じで使えるね。
これでようやくコントロールの表示部分に取り掛かれるわ
833:デフォルトの名無しさん
10/05/04 19:03:40
日本のメーカーPCはグラボ非搭載が主流だからWPFはきついな
834:デフォルトの名無しさん
10/05/04 19:28:07
誰一人つられないんだからね
835:デフォルトの名無しさん
10/05/05 00:38:09
現在主流のCore-iモデルの内蔵はintel HD Graphicsで
そのコンパネがWPFだったりするんだけどな
836:デフォルトの名無しさん
10/05/05 01:34:12
WPFってなんだろう
837:デフォルトの名無しさん
10/05/05 01:44:00
人生・・・かな?
838:デフォルトの名無しさん
10/05/05 03:17:03
鉄板麺!!
839:デフォルトの名無しさん
10/05/05 16:50:17
WPFはAdobeのあれをパクったような感じ
840:デフォルトの名無しさん
10/05/06 08:43:05
国連になんかあったな
841:デフォルトの名無しさん
10/05/06 23:49:46
Window の中に Grid が1つあり、
その中に同じ大きさの Viewbox を3つ配置しています。
3つのViewboxの位置は同じで、重なって配置されます。
それぞれのViewboxにはGridを配置し、その中には
・透過色を指定したPNG画像と
・Rectangleを1つずつ配置しています。
3枚の画像は同じ大きさで、UniformToFill にしています。
Rectangleは、各画像の背景色の領域中に配置するようにしています。
また、Rectangleはクリックされると Fill が変わるようにしています。
このとき、一番階層が高い Viewbox 内のRectangleしかクリックに反応してくれません。
2番目、3番目のViewbox内のRectangleも反応させるにはどうしたら良いのでしょうか?
ソースを以下にUPしましたので、よろしくお願いいたします。
URLリンク(www.dotup.org)
pass: wpf
842:デフォルトの名無しさん
10/05/07 00:02:32
現象が発生する最小のプログラムでないと誰も見ないぞ
単純に一番目にRect三つ配置すればいいんじゃねーの
843:デフォルトの名無しさん
10/05/07 00:05:50
>>841
Grid.Row, Grid.Column を分けずに、一つのセル(?)でやってるから、最後の Viewbox がイベントとっちゃって、その兄弟にはイベントが伝播しない。
素直に Canvas 使うか、Grid.Row を3つに分けなさい。
844:841
10/05/07 00:12:10
>>842
急いで書いたため、情報不十分でした。
各Viewboxは個別に移動、拡縮をしたいのです。
(それに応じでViewbox内のオブジェクトも、移動+拡縮させたいです)
ですので、一番目にRect3つ配置ではダメなのです。
>>843
ありがとうございます。
いただいた情報を元に考えて見ます。
845:デフォルトの名無しさん
10/05/07 00:36:07
>>844
Grid を入れ子にすれば、Grid で MouseUp をとるように変更すればできたけど・・・
もう少しスマートな方法ないかね。Viewbox 使わなければ Background に Transparent 設定してイベント透過させられるのだけど。
<Grid MouseUp="rectangle_MouseUp">
<Viewbox />
<Grid MouseUp="rectangle_MouseUp">
<Viewbox />
<Grid MouseUp="rectangle_MouseUp">
<Viewbox />
</Grid>
</Grid>
</Grid>
-----------
private void rectangle_MouseUp(object sender, MouseButtonEventArgs e)
{
((((sender as Grid).Children[0] as Viewbox).Child as Grid).Children[1] as Rectangle).Fill = Brushes.Red;
}
846:845
10/05/07 00:40:27
Grid 全体で MouseUp とってしまうから駄目だった。
忘れてくれ。
847:デフォルトの名無しさん
10/05/07 00:43:11
つまり透過してるので最前面でFill状態の画像をムシして
その後ろの画像にヒット判定させろ?
無理じゃね?
848:デフォルトの名無しさん
10/05/07 01:05:45
いや3ついっぺんにクリックされたように扱いたいって話じゃないの?
849:デフォルトの名無しさん
10/05/07 01:09:17
>>844
読み流してた
つまり>>847なんだなごめん
850:デフォルトの名無しさん
10/05/07 01:10:43
>>848
それだったら全面のやつがイベント受けたらほかの物にも伝えるとかそんなんでいいんじゃね?
それか画像を管理してるコンテナ、この場合はGridがクリックイベント拾うとか
851:841
10/05/07 01:12:58
皆さん、ありがとうございます。
やはり透過処理していようとも、画像の領域から
イベントを透過させることは無理(難しい?)みたいですね。
>>847-848
一番の理想は、”見えているオブジェクトがイベントを拾う”です。
うpしたものを見ていただけているか分かりませんが、
例えば2番目のViewboxを仮に下方向にAnimationさせた場合、
2番目のViewboxに配置したRectangleは「黒色」の後ろに隠れます。
このとき、隠れたRectangleはクリックできないようにしたいです。
が、それはあくまでも理想であり、3つヒットでも出来るなら嬉しいです。
852:デフォルトの名無しさん
10/05/07 01:43:08
一番上が拾うんでいいならTunnelじゃいかんのかね
853:デフォルトの名無しさん
10/05/07 01:50:25
しかしwindowsはマウスありきでできてるから
こういうGUIまわりは作りにくいな
854:デフォルトの名無しさん
10/05/07 02:04:46
>>852
TunnelってPreview~のあれ?
重ねたImageに対してトンネルなんてできるのか?
855:デフォルトの名無しさん
10/05/07 21:31:34
>>841
ViewBox内のImageに
IsHitTestVisible="False"
をいれたら下のRectangleも反応したよ
ただ、これだと隠れたRectangleをクリックさせない
というようなことはできないけど
856:デフォルトの名無しさん
10/05/07 22:00:45
Imageに不透明な部分だけマスクするClipを指定すればいいんじゃないの?
857:デフォルトの名無しさん
10/05/07 23:09:28
4の良書でないかなぁ
858:デフォルトの名無しさん
10/05/08 05:54:20
WPF4のデザイナで配置したコントロールのフローがWPF3と違いますよね…?
ウィンドウのリサイズを行うと、WPF3だと勝手に連動してコントロールのサイズが変わるのに、WPF4だとウィンドウだけしかリサイズされない…。
結果、プロパティやXAMLをちょこっと変更しなければいけないのだけれど。
859:デフォルトの名無しさん
10/05/08 06:52:09
update
URLリンク(code.msdn.microsoft.com)
860:デフォルトの名無しさん
10/05/08 10:34:01
>>858
コントロールの上下左右に小さな円があるだろ
それクリックするとコンテナの端からの距離が固定される(WinFormsのAnchor相当)
861:デフォルトの名無しさん
10/05/08 11:12:39
WPFのフォントレンダリングをフォームアプリと同じにすることはできないんでしょうか?
VS2010がフォームと同じフォント表示になったのに、
自分で作ったWPFアプリケーションのフォントレンダリングが前のままです。
862:デフォルトの名無しさん
10/05/08 11:59:32
同じというのは違うけど。
3のソースを4でコンパイルするだけじゃ駄目。
TextOptions.TextFormattingMode
TextOptions.TextRenderingMode
863:デフォルトの名無しさん
10/05/08 13:08:49
FlowDocumentに表示されている内容の表示上のサイズを取得する方法はありますか?
864:デフォルトの名無しさん
10/05/08 22:23:02
>>860
クリックですか。
クリックしたところ、希望の動作になりました。
ありがとうございました。
865:デフォルトの名無しさん
10/05/10 21:59:51
int型のプロパティPercentがあって、
それをバインドしているTextBlockでは、後ろに"%"を付けたいときって
どうすればいい?
866:デフォルトの名無しさん
10/05/10 22:01:19
IValueConverter
するまでもないな、StringFormat
867:デフォルトの名無しさん
10/05/10 22:17:23
866 なんか分かりづらくなっちゃった
{Binding Path=Percent, StringFormat=0\\%}
これでいいのか?
マークアップ拡張内は書式指定文字列が訳分からんことになるな
868:デフォルトの名無しさん
10/05/12 17:42:43
>>867
おおーまさしくこれだ。
なんで円記号が2つも…って思ったけどマークアップ拡張内では円記号もエスケープ必須か
869:デフォルトの名無しさん
10/05/12 17:45:00
途中で送信しちまった。>>867サンクス
870:デフォルトの名無しさん
10/05/12 18:13:55
GUIプログラミングの初心者は、WPFから入るよりForm使った方がいいのかな?
WPFはまだ情報量少ないみたいだし
871:デフォルトの名無しさん
10/05/12 18:18:10
>>870
最終的に何を作るかでも変わるけど似てるようでかなり違うからなあ
下手にFormの方を覚えるとWPFだと戸惑うこともあるよ
872:デフォルトの名無しさん
10/05/12 18:21:51
GUIプログラミングはWPFから入ったけど今更Formなんて勉強する気しないよ
873:デフォルトの名無しさん
10/05/12 19:48:05
>>872
最初からWPFって、どうやって学習した?
後学のために教えて欲しい。
874:デフォルトの名無しさん
10/05/12 19:53:59
>>873
ネットで情報収集。殆どはMSDNから。
書籍はエッセンシャルWPFだけ買った。
質問はここやC#スレで。
まだ全体は勉強してないけどな。目的のアプリ作るには一部だけでも十分。
C#と.NET Frameworkも同時にだったからだいぶかかったが。
875:デフォルトの名無しさん
10/05/12 19:54:50
WPFって動的にコントロールを生成しちゃいけないみたいな感じが面倒
876:デフォルトの名無しさん
10/05/12 20:02:06
え?DataTemplate使えば必然的に動的に生成しまくりだろ?
877:デフォルトの名無しさん
10/05/12 20:03:39
>>875
そんなことはないんじゃないの?
WPF側で名前つけておけばFormでやてったようなことはできるし
そういうのがだめってのならWPFなりの書き方すればいいだけだし