[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 22:01 / Filesize : 192 KB / Number-of Response : 878
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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

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

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

545 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:33:45 ]
ゲームってジャンルくらい書きなよ

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


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

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

549 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 21:50:22 ]
WPFは基本的にビデオカード要求だけど

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

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

551 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 22:29:22 ]
google booksでwpf検索してみたら
だいたい用は足りると思う



552 名前:デフォルトの名無しさん [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の話ばかりです。よろしくお願いします。

553 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 00:23:24 ]
Imageを持ったButtonのUserControlをXAMLで書いておいて、コード内で生成

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

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

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

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

558 名前:552 mailto:sage [2010/04/16(金) 02:19:45 ]
>>553
ありがとうございます。
UserControlなるものを使ったことが無いので
早速調べてみます。

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

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

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


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

559 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 02:20:54 ]
>>557
は?程度の低さは関係ないだろ
どれだけ馬鹿なんだよ

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

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



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

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

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

563 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 02:32:36 ]
>>562
中身の無いレスだな
以下略

564 名前:558 mailto:sage [2010/04/16(金) 02:55:46 ]
>>560
お恥ずかしいです。ありがとうございます。

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

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

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

566 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 07:26:49 ]
これだからIDの無い板は。

567 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 07:51:10 ]
>>565
おおむね同意だが

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


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

569 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 11:59:39 ]
ああでも3->4のアップグレードは全員無料なのか

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


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

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



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

キチ○イwww

573 名前:デフォルトの名無しさん mailto:sage [2010/04/17(土) 00:01:45 ]
>>570
へーこんな書き方できるんだ
はじめて知った。

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

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

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


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

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

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

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

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

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

580 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 00:46:03 ]
オブジェクトの重なりが多いほど重くなる

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



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

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

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

585 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 11:11:04 ]
みんなRelayCommandとDelegateCommandのどちらを使ってる?

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

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

588 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 15:06:02 ]
www.codeproject.com/KB/WPF/NitoMVVMCommands.aspx?msg=3132936
面白い比較の記事を見つけた。
こういうのを探していたんだ。
終わりの方の比較のところね。

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

590 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:00:52 ]
だってMとVMはWPFと関係ないじゃん

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



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

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

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

595 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 22:42:44 ]
だからCanvas.SetLeftメソッドがあるだろ

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

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

598 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 23:04:20 ]
Obj.Canvas.Left とかならまだわかる

599 名前:デフォルトの名無しさん mailto:sage [2010/04/21(水) 23:06:01 ]
Obj[Canvas.Left]だな

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

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

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



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

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

604 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 06:57:38 ]
>>603
これがおのぞみのかな?

XamlPadを作ってみた。
pro.art55.jp/?eid=863237

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


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

607 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 23:02:07 ]
テキスト変更イベントのたんびにパースするとかね。


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

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

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

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


609 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 23:36:59 ]
はじっこにきたら座標もどせばいいだけじゃないの?

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

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

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



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

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

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

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

では、失礼します。

616 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 00:25:33 ]
>>615
画像をTile指定で表示してやれば自動的に繰り返しになる。
あとはViewportを動かしてやればいい。
ttp://www7a.biglobe.ne.jp/~fbsoft/test/miku1.cgi


617 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 00:31:51 ]
IEはソース表示が出来ないようなのでXAMLのソースも張っとく。
ttp://codepad.org/jGnPpTxR


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

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

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

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

619 名前:618 mailto:sage [2010/04/23(金) 00:55:24 ]
度々書き込み失礼します。

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

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

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

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

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



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

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

624 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 06:47:11 ]
>>623
そういうことは2ch言ってもしかたないと思うんだぜ

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

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

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

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

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

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

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

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

ttp://msdn.microsoft.com/ja-jp/library/system.windows.media.formattedtext%28v=VS.80%29.aspx

631 名前:629 mailto:sage [2010/04/23(金) 19:16:34 ]
あ、ここWPFスレだった
C#スレと勘違いしてた、ごめん



632 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 19:22:45 ]
FlowDocument全体の行間ならFlowDocument.LineHeightで問題ないと思うけど

633 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 22:08:51 ]
>>627
WPFの方

634 名前:デフォルトの名無しさん mailto:sage [2010/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 名前:デフォルトの名無しさん mailto:sage [2010/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 名前:デフォルトの名無しさん mailto:sage [2010/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 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 21:42:03 ]
>>636
それだとだめだ。
aaa
(aaaの先頭でzを入力)
zaaa
(連続で入力すると、zazaaになってしまう)

なんでWPFってこんなに面倒なの?
文字単位で選択することもできないし、キャレットを文字単位で動かすことすらできない。
開発者は馬鹿なの?

638 名前:デフォルトの名無しさん mailto:sage [2010/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 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 22:33:53 ]
>>638
目がシパシパしたwww

640 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 02:37:57 ]
>>638
パラグラフが
aaa
となっているときに
bbb
aaa
とすると、aaaを削除するとキャレットがaaaの先頭にあるにもかかわらず、bbbの後ろに移動してしまうのをどうにかして防ぎたい。
TextPointerについても調べたんだが、画面に表示されている文字単位で位置を取得するメソッドはなぜかなかった。

641 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 09:54:47 ]
>>640
>aaaを削除すると

>>635
this.doc.Blocks.Remove(p);に当たるのかな
言ってることがあんまよくわからないけど、空のパラグラフを置いといてその先頭にキャレット置くというのがやりたいんじゃないの?
ソースはそうなってないだろ



642 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 10:24:40 ]
>>641
>言ってることがあんまよくわからないけど、空のパラグラフを置いといてその先頭にキャレット置くというのがやりたいんじゃないの?
それじゃなくて、パラグラフを置き換えてもキャレットの位置をそのまま保つということがやりたい

643 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 23:47:54 ]
ScrollViewerのマウスホイールによるスクロールを無効化する方法はありますか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<192KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef