[表示 : 全て 最新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/

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のマウスホイールによるスクロールを無効化する方法はありますか?

644 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 00:03:42 ]
PreviewMouseWheelでHandledしちゃうとか

645 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 00:52:19 ]
>>644
e.Handle = trueでうまくいきました
ありがとうございます

646 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 03:26:57 ]
こんな感じでボタンを並べるにはどうすればいいんでしょうか?
uproda.2ch-library.com/239369drL/lib239369.png

平行四辺形とかでしたらなんとかなるんですが・・・

647 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 04:25:39 ]
表示部分にしかあたり判定がないんだから同じpanelに全部かさねて表示だけかえればいいじゃない
そんな形なら標準ボタンを使うわけでもないんでしょ

648 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 06:27:53 ]
ufcpp.net/study/dotnet/wpf_uielement.html
傾斜とかもできるので上辺もしくは下辺を短くするとか
できるかなあと思ったんですが無理ですかね?

649 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 07:04:59 ]
Expression Blend で簡単に星形のボタンとか作れるみたいだね。



650 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 07:09:59 ]
ジオメトリの作り方がわからないから四角の変形で作りたいっていうなら
アフィン変換使いなよ自分で計算してな

651 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 08:48:31 ]
Blend使えればベストだけどボタンぐらいならXAMLだけでなんとかなる。
ContorolTemplateを書けばいいだけでサンプルも結構転がってるから。
あとエッセンシャルWPF読んどけ

652 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 09:41:08 ]
>>648
それは線形変換で表現できないから無理
高校数学C参照

653 名前:デフォルトの名無しさん mailto:sage [2010/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 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 15:05:53 ]
>>649>>650>>651
ありがとうございます。

しかしここまでGUIをいろいろ変えやすいとなるとデザインセンスないと
きついですね・・・

655 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 18:47:52 ]
宇宙仮面のHP
エラーでまくり

656 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 19:03:56 ]
RadioButtonをC#からCheckする方法ありますか?

657 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 19:07:39 ]
あるよ

658 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 20:20:09 ]
>>656
XAML側でコントロールに名前(Name="hoge")とかやれば
C#側から従来のWinFormのようにいじり放題

659 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 20:38:00 ]
でも実際にはバインディングオブジェクトのプロパティの方を操作するよね



660 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 20:41:36 ]
WPFは要素にName付けたら負け

661 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 20:46:27 ]
それなんてみすりーど。

662 名前:656 mailto:sage [2010/04/26(月) 21:22:55 ]
>>657-661
>>658さんの方法以外はどのように書けばいいんでしょうか?

663 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 21:38:08 ]
気にせず名前付けたらいい

664 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 00:08:38 ]
>>660
コードビハインド使ったら負け

665 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 00:53:01 ]
真の勝者はXAMLを使わない

666 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 00:54:50 ]
blend+コードビハインド
都会派はこれ


667 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 00:55:03 ]
ソフトなんか他人に作らせるよね真の勝者なら。

668 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 00:57:01 ]
こだわりのソフト作成なら至福だろ
作らされてるなら敗者

669 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 01:27:42 ]
WPFの場合

プログラマーはバインド関連をマスター
デザイナーはXAML関連をマスター

そんなところですかね?



670 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 02:18:51 ]
BeginAnimationのタイミングが異なっても、
アニメの動きのタイミングを同期させる方法ってありますか。

671 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 04:59:26 ]
あるよ

672 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 08:28:30 ]
INotifyPropertyChangedから依存プロパティへのバインドが機能したりしなかったりする
わけがわからない

673 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 09:00:47 ]
>>669
正解じゃない。

プログラマーはバインド関連とXAML関連をマスター 。

674 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 22:14:00 ]
XAML自体はマスターするには.NETプログラミングに習熟してないといけないからデザイナには酷
デザイナーはExpression BlendとXAMLの基礎事項をマスター

675 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 00:05:19 ]
だな。MSはデザイナがXAMLを触らなくても大丈夫なようにツールを揃えた方が良いだろね。

676 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 00:08:47 ]
WPFのバインディングは勉強すればするほど魅力的なんだよな
C#のコントロールにも一応項目あったけどここまで使えたっけ?

677 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 00:15:35 ]
デザイナが実際には動かさないスタイルを自由奔放に作成して
上司は「デザイナの作った物がそのまま動く!素晴らしい!」と言い出して
結局はプログラマが地獄を見る。そういう代物だろ?

678 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 00:17:38 ]
うーん
まあ前ほどは地獄をみないんじゃないかな
バインディングが強力なのでいい感じだよ

679 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 00:17:43 ]
そこは誤解がないようにちゃんと主張しろよ



680 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 00:18:51 ]
.NET 4.0 では NumericUpDown コントロールはサポートされますか?

681 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 00:19:17 ]
デザイナーが作る範囲は所詮はwebページで言えばhtmlに毛の生えたことしかしてないからなあ

682 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 01:14:12 ]
.NET4な。CLRは4.0。

683 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 01:48:52 ]
blend上で動くなら何も心配しなくていいんじゃないの何かあるの?

684 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 02:07:24 ]
www.atmarkit.co.jp/fdotnet/vblab/uiframework_02/uiframework_02_04.html
上のサイトの中央付近から始まる「コレクション・オブジェクトへのバインド」のところを
動かそうとしたのですが下記のようなエラーとなり動きません。

>エラー 1 値 ' {Binding}' をプロパティ 'ItemsSource' に割り当てることができません。
>型 'IEnumerable' のプロパティ 'ItemsSource' は文字列として指定できません。

どのように対処すればよいのでしょうか?

685 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 02:14:01 ]
>>682
.NET 4 と .NET 4.0 の違いを詳しく教えてください。
区別すべきなのでしょうか?

686 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 02:15:10 ]
.NET 4.0 とかくことは意味があると思いますが、
.NET 4 と指摘していることについて詳しく教えてください

687 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 02:19:37 ]
>>684
素直にXAMLで書けよ

688 名前:684 mailto:sage [2010/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 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 02:37:07 ]
VS2005 / .NET2.0 しか許されない環境で、
MVVMを模倣して手動でモデリングしたクラスプログラミングをすることは効率化になりますか?



690 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 02:37:15 ]
ガベージイン、ガベージアウト

691 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 02:43:57 ]
>>685-686
「.NET Framework 4」が正式名称。
.NET 4.0と言っても問題なく通じるので実用上の問題はない。わざわざ指摘する程の事でもないだろ>>682

692 名前:689 mailto:sage [2010/04/28(水) 03:17:09 ]
>>74が気になるなぁ。リフレクション調べてみるか…


693 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 03:21:53 ]
>>692
目指す目標としてXAMLなどがあるんだし、それと同じ仕組みにすれば
MVVMも可能じゃないかな?

まあ自前であれこれするより本当はWPFにするべきなんだが

ところでなんでそんな古い環境にこだわらないといけないんだろうw

694 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 05:26:27 ]
VとVMの疎結合さえ保てればとりあえずMVVMって言えるのかな?
・Viewを定義する「なにか」を設計する
 (WPFではXAML)
・「なにか」からViewを生成するライブラリを実装する
 (WPFではSystem.Presentationとかかな?)
・「なにか」と実行時バインドする方法も実装する
 (依存プロパティみたいな仕組み。ここでリフレクションががっつり登場)

マンドクセ・・・
XAMLの仕様はそのまま使って.net 2.0 WinFormsでもViewが構築できるライブラリ作れば
それなりに需要は・・・ないか

695 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 05:34:57 ]
一番重要なのはMとVVMと間のデカップリングだと思うよ。

696 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 05:37:58 ]
そういえば依存関係を切り離せるコンテナってあったよね?
あれは使えないの?

697 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 06:30:25 ]
ざっくりいうとVMはVからのMに対するブリッジって認識だがよろし?

>693
ぶっちゃけマシン性能にもよるんだろうが未だにWPF遅くね?
頻繁な更新が必要なデイトレアプリみたいなもんとか向いてなさそうなんだが。

>694
そげんな感じのもん作ったお。未だに2000とかにも配慮しなきゃいけなくてな( ^ω^)・・・

698 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 06:42:25 ]
DIコンテナは未だによくわからん・・・

699 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 07:39:00 ]
>>693-697
thx.
2005なのは、そういう環境でWindowsXpとWindowsCEの開発レッスンを受けてますw
自分が2000使ってるのでその点も嬉しいかなw



700 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 10:36:39 ]
>>696
CAL(Prism)なんかはUnityのDIコンテナ使ってるよ。

.NET4で追加されたMEFもかな、仕組みはDIコンテナっぽいが。






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

前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