トップページtech
1001コメント283KB

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part8

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/12/05(日) 22:08:33
あたらしいユーザーインターフェースシステム、Windows Presentation Frameworkについて語るスレ。
.NET4 もリリースされて盛り上がってまいりますた。

Visual Studio 2010
http://www.microsoft.com/japan/msdn/vstudio/
Microsoft .NET Framework 4 (Web インストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=9CFB2D51-5FF4-4491-B0E5-B386F32C0992&displaylang=ja
Microsoft .NET Framework 4 (スタンドアロンインストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&displaylang=ja

前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part7
http://hibari.2ch.net/test/read.cgi/tech/1282479113/

関連スレ
Microsoft Silverlight その7
http://hibari.2ch.net/test/read.cgi/tech/1288613056/

過去スレ
Part6 http://hibari.2ch.net/test/read.cgi/tech/1274423236/
Part5 http://pc12.2ch.net/test/read.cgi/tech/1261879110/
Part4 http://pc12.2ch.net/test/read.cgi/tech/1245384489/
Part3 http://pc12.2ch.net/test/read.cgi/tech/1231506876/
Part2 http://pc11.2ch.net/test/read.cgi/tech/1211453941/
Part1 http://pc11.2ch.net/test/read.cgi/tech/1162950198/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
0519デフォルトの名無しさん2011/01/05(水) 19:54:01
>>518
トン
0520デフォルトの名無しさん2011/01/05(水) 20:10:58
日本語の充実したドキュメントとか、やっぱ欲しいよなあ
0521デフォルトの名無しさん2011/01/06(木) 02:32:08
WPF終了っぽいね
0522デフォルトの名無しさん2011/01/06(木) 02:40:21
何を根拠に?

WPF が終わるのは、WPF のほぼ全機能が Silverlight に移った時だと思うんだけど。
0523デフォルトの名無しさん2011/01/06(木) 09:02:39
WPFはSilverlightのゴールですか
最初からSiliverlight一本でやってたほうがよかったんじゃないの?
二本立てにすることにメリットあったのかな?
0524デフォルトの名無しさん2011/01/06(木) 09:06:13
市場成熟、ハードウェアとか他の技術との兼ね合い、投入時期の問題、
色々あるからしょうがない。

例えば、WPF 自身にも、じゃあ、Forms なんて出すなよって思うわけだけど
WPF が完成するまで .NET Framework のリリース遅らせれるかって言ったら、
そんなことしてたら10年近く VS の新品出なかったのよ。
とりあえず Win32 API をラップしただけの Forms 必要だったでしょ。
0525デフォルトの名無しさん2011/01/06(木) 15:09:54
VisualStudioでTextBoxのKeyDownの処理をしようとすると
Window.xaml.csにTextBox_KeyDown(object sender, KeyEventArgs e) が作られますが
これをWindow.xaml.csとは別のcsファイルに書く方法ってありませんか
interactivity.dllのEventTriggerをつかうとKeyDownイベントでCommandを呼べるようにはできましたが
CommandParameterにKeyEventArgsを渡す方法が分かりませんでした
0526デフォルトの名無しさん2011/01/06(木) 16:19:01
対象の要素のKeyDownイベントにアタッチしてコマンドを呼び出すビヘイビアを作る
System.Windows.Interactivity.Behavior<UIElement>あたりから継承
0527デフォルトの名無しさん2011/01/06(木) 16:47:20
WPFの前に2chがやばそうだな
ニュー速なんだよあれw
0528デフォルトの名無しさん2011/01/06(木) 17:20:54
>>526
ありがとう
Blendからもポトペタでできるようになりました
0529デフォルトの名無しさん2011/01/06(木) 23:51:32
Silverlightは.Net使わないネイティブコードで表示早いんだっけ?
WPFは.Netネイティブだから表示遅いし重いんだっけ?
0530デフォルトの名無しさん2011/01/06(木) 23:56:38
Silverlight は、GPU(Graphic Processing Unit)を使いませんが、WPF は GPU を使って高速に描画できます。
0531デフォルトの名無しさん2011/01/06(木) 23:56:56
英語でおk
0532デフォルトの名無しさん2011/01/06(木) 23:59:22
いやSilverlightの方が描画はもっさり。一応SilverlightもGPU使ってるけど
WPFよりもかなり消極的でキャッシュも控えめで描画面積が広くなると目に見えて遅くなる。
WPFはフレームワーク自体はC#で書かれてるけど描画はネイティブだよ。
0533デフォルトの名無しさん2011/01/07(金) 00:17:11
それでなんでWPFなくなってSilverlight残るなんてこといってる奴がいるの?
0534デフォルトの名無しさん2011/01/07(金) 00:27:58
http://codezine.jp/devsumi/2010/report/10/
ここにはSilverlightのが表示早いみたいに書かれてるけど。
0535デフォルトの名無しさん2011/01/07(金) 00:35:43
それDataGridコントロールに限った話。
DataGridはもともとSilverlight向けに作られたのでWPFでの調整が十分にできてないだけ。
0536デフォルトの名無しさん2011/01/07(金) 23:20:31
>>529
描画に関しては、まだ比較計測していないが
ループ処理は、WPFの方が10倍近く早かった。
0537デフォルトの名無しさん2011/01/07(金) 23:37:03
ループ処理って何?
0538デフォルトの名無しさん2011/01/08(土) 00:03:51
>>537
for文とかwhile文とか。
0539デフォルトの名無しさん2011/01/08(土) 00:10:30
そんなんで10倍も差が出るわけないだろw
.NET FrameworkのCLRとSilverlightのCLRはほぼ同じもの
若干Silverlightの方が最適化が控えめらしいが10倍はどう考えてもありえない
0540デフォルトの名無しさん2011/01/08(土) 00:19:01
憶測で物を考えるのが君らの悪い癖だ
0541デフォルトの名無しさん2011/01/08(土) 00:34:27
試してみたけどそんなに変わらなかったよ
文字列連結は誤差範囲、単純なループ+数値の加算だと1〜2倍くらい
0542デフォルトの名無しさん2011/01/08(土) 01:07:00
.NET Framework と .NET Compact Framework だと、
ガベコレの性能が全然違うんで、
ループの奥でインスタンス生成とかしてるとパフォーマンス10倍変わる可能性ある。

Silverlight の CLR は優秀だったはず。
もしかすると、Silverlight for Windows Phone 7 の話だとすると、
WP7 は Compact Framework ベースなので、確かに遅そう。
0543デフォルトの名無しさん2011/01/08(土) 12:03:50
実験してみるか。

private void button1_Click(object sender, RoutedEventArgs e)
{
  DateTime timer = new DateTime();

  timer = DateTime.Now;
  for (uint i = 0u; i < 4294967295u; i++) ;
  MessageBox.Show((DateTime.Now - timer).ToString());
}

コードはこれで良い?
(xamlにボタン1個置いて、ボタン押したら計測開始の想定で)
0544デフォルトの名無しさん2011/01/08(土) 12:24:51
全く差は無かった
05455432011/01/08(土) 12:27:50
Visual C# 2010 Express
  [ Ctrl ] + [ F5 ] で実行
    1回目 : 1.3660000 (秒)
    2回目 : 1.3610000 (秒)
    3回目 : 1.3620000 (秒)

  [ F5 ] で実行
    1回目 : 10.2020000 (秒)
    2回目 : 10.1960000 (秒)
    3回目 : 10.1970000 (秒)

Visual Web Developer 2010 Express
Silverlight 4.0.51204.0
OOB実行 (ブラウザで変わるとは思わないけど、念の為)
  [ Ctrl ] + [ F5 ] で実行
    1回目 : 10.7090000 (秒)
    2回目 : 10.6980000 (秒)
    3回目 : 10.7320000 (秒)

  [ F5 ] で実行
    1回目 : 10.7040000 (秒)
    2回目 : 10.6950000 (秒)
    3回目 : 10.7140000 (秒)

OSはWindows Vista + SP2 (x86)
CPUはIntel Core2 Extreme X9650 @3.00GHz
0546デフォルトの名無しさん2011/01/08(土) 12:40:52
それデバッガ動いてるんじゃないの?
こっちだと[Ctrl]+[F5]で両方2秒前後で差は無かったよ
デバッグ有効だと両方9秒程度
VWD2010, Silverlight 4.0.51204.0
XPSP3(x86), PenD 3.00GHz
生成されたテストページを直接ブラウザで開いたらどうなる?
05475432011/01/08(土) 12:47:18
>>546
>生成されたテストページを直接ブラウザで
それもやってみたんだけど、やっぱりSL4だと10秒以上掛かった。
IE8とGoogle Chromeで、1回ずつ試行。

こっちの環境が何かおかしいのかな。
0548デフォルトの名無しさん2011/01/08(土) 13:35:13
System.Drawing.Bitmap から BitmapSource を生成してファイルを保存しているのですが
何10ヶも繰り返していると OutOfMemoryException が発生してしまいます。
海外サイトでも取り上げられていて、同じように実装しているのですがどうしても
発生してしまいます。
何か問題ありますでしょうか?

[DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr hObject);

string[] srcFiles = Directory.GetFiles(srcFolder, "*.jpg");
Array.Sort(srcFiles);

if (!Directory.Exists(dstFolder))
Directory.CreateDirectory(dstFolder);

foreach (string name in srcFiles)
{
using (Bitmap srcImage = new Bitmap(name))
{
string dstName = Path.Combine(dstFolder, Path.GetFileName(name));
IntPtr ptr = srcImage.GetHbitmap();
BitmapSource bs = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
ptr, IntPtr.Zero, Int32Rect.Empty,BitmapSizeOptions.FromEmptyOptions());

DeleteObject(ptr);
bs = null;
GC.Collect();
}
}

0549デフォルトの名無しさん2011/01/08(土) 14:23:43
GC.Collect入れてみたら
0550デフォルトの名無しさん2011/01/08(土) 15:13:31
>>549
最後の方に入ってるな。
0551デフォルトの名無しさん2011/01/08(土) 15:19:13
とりあえず何がリソースリークしているか調べたら?
0552デフォルトの名無しさん2011/01/08(土) 16:47:41
それよしも例外投げたメソッドはどいつだよ
0553デフォルトの名無しさん2011/01/08(土) 16:56:11
OutOfMemoryExceptionだから実行エンジンが投げた非同期例外じゃないの
どこからともなくやってきて問答無用で即死の類
0554デフォルトの名無しさん2011/01/08(土) 16:58:14
昔のBitmapクラスはロードしたときに投げたりするぞ
拾おうと思えば拾えるのもあるからやれ
0555デフォルトの名無しさん2011/01/08(土) 17:02:34
それはImage.FromFileじゃなかったか。
Image.FromFileは4.0でもOutOfMemory投げてる。
頭おかしい。
0556デフォルトの名無しさん2011/01/08(土) 18:50:38
皆様お返事ありがとうございます。

OOM 例外が発生するのは、
srcIamge.GetHbitmap();
です。
DeleteObject(ptr);
で解放しており、BitmapSource をコメントアウトすると OOM 例外は発生せず何事もなく終了します。
GetHbitmap で取得したオブジェクトは DeleteObject で解放しているようなのですが、
BitmapSource が間に入ると解放されずに保持しっぱなしのようです。
BitmapSource に Dispose がないので、代わりに null を代入して GC.Collect() しているのですが・・・

0557デフォルトの名無しさん2011/01/08(土) 19:54:23
たぶんこれじゃね
http://www.google.co.jp/search?hl=ja&q=CreateDIBitmap+%E3%83%A1%E3%83%A2%E3%83%AA%E4%B8%8D%E8%B6%B3&aq=f&aqi=&aql=&oq=&gs_rfai=

CreateDIBitmapってのはDIB(GDI+のイメージオブジェクトの中身)からDDBを作るもの
0558デフォルトの名無しさん2011/01/08(土) 20:02:35
そもそもの話をするとなんで一度Bitmapに読み込んでいるのか気になるところではある。
BitmapImageに読んじゃ駄目なのかなぁ。
0559デフォルトの名無しさん2011/01/08(土) 20:17:23
>>557
BitmapSource をコメントアウトして、GetHBitmap と DeleteObject だけだと
メモリは問題なく解放されているんですよ。
BitmapSource を HBitmap から作成すると解放されませんので、
BitmapSource あたりにに問題があると思います。

>>558
System.Drawing.Bitmap でいろいろやった後に、BitmapSource しなければ
ならない事情が。
0560デフォルトの名無しさん2011/01/08(土) 20:27:29
>>559
これだな。Framework のバグ。
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=410590&wa=wsignin1.0

>>558
そういう話の展開はあまり意味ないぞ。
何にもコメントできなくなったやつが、意味もなく言い出すことだ。
0561デフォルトの名無しさん2011/01/08(土) 20:27:55
BitmapSourceの中身はDIBのはずだがなあ
0562デフォルトの名無しさん2011/01/08(土) 21:02:48
てかなんで直接WPFで読み込まないのと言いたい。
マルチスレッドで扱う方法を知らないという落ちじゃないだろうな?
0563デフォルトの名無しさん2011/01/08(土) 21:13:24
WPFは使ってないんじゃないの
WPFのエンコーダが使いたいだけとか
0564デフォルトの名無しさん2011/01/08(土) 21:18:22
素直にBitmapをロックしてBitmapSource.Createでコピーしたほうがよくね
0565デフォルトの名無しさん2011/01/08(土) 22:10:33
>>560
バグですか。これは当分使える見込みなさそうですね。

>>563
そうなんです。WPF のエンコーダであれば PNG 8bit などの保存ができますので。

>>564
こちらの方法で試してみましたが、結果はほぼ同じでした。
http://www.netframeworkdev.com/windows-presentation-foundation-wpf/createbitmapsourcefromhbitmap-dpi-85977.shtml

上の方に書いた方法ですと 2G のメモリを食い尽くして OOM が発生していましたが、こちらの方法であれば正常に終了しました。
しかしタスクマネージャで使用メモリを見ていると、実行を開始すると使用メモリが 20MB からどんどん上昇し、
600MB まで達したところで、ちょうど実行が終了しました。
この方法で OOM は出ませんでしたが、実行中はメモリ使用量が異常に上昇してしまう現象は同じようです。
しかしこのメソッドの実行終了後、使用メモリは一気に元の20MB に戻りましたので、GC は何らかの形で動いているようです。
0566デフォルトの名無しさん2011/01/08(土) 22:40:46
WPFで作り直しちゃいなよ!
0567デフォルトの名無しさん2011/01/09(日) 09:42:54
ListViewについて教えてください。Wpfの奴は、例えばスクロールして4項目目が1番上に表示されている状態で項目入れ替えると
Viewが更新されても4項目目が一番上に来るみたいですね
そこでデータソートして1番目のアイテムをScrollIntoViewで一番上に表示させたらいいと思ったんですが、CollectionViewSource
使ったソートは項目自体を並び替える訳じゃないようで、一つ目の項目取り出しても最初に入れた項目が出てきます

ListViewのスクロールさえリセットできたら良いんですが、何か良い方法はありませんか?
0568デフォルトの名無しさん2011/01/09(日) 14:29:41
SelectedItem 差し替えかな。
0569デフォルトの名無しさん2011/01/10(月) 15:00:59
VIBlendのEditors.dllのコントロールは非商用なら
自分のアプリにつけて配布しちゃっていいってことだよねー
英語できないとだめだなぁ・・
0570デフォルトの名無しさん2011/01/15(土) 18:41:19
コマンドラインでもformsでも出来るのに、WPFだとコードコントラクトの静的チェックができない
検索してもさっぱりだし、うちの環境が悪いのか、みんなWPFなんて試してもいないのかもわからない
0571デフォルトの名無しさん2011/01/15(土) 19:12:15
WPFの利点ってどんなですか
俺Formアプリで十分作りやすいんだけど
わざわざめんどうなXML編集するほどのメリットがある感じ?
0572デフォルトの名無しさん2011/01/15(土) 19:23:51
原始人にインターネットの必要性を説くようなもの
まず自分で触れ
0573デフォルトの名無しさん2011/01/15(土) 20:04:28
>>571
全体的に API 洗練されてる
コントロール類とほとんど同じノリでベクター画像、3D、動画等混ぜ込める
ビューとモデルの分離しやすい

等々。
05745702011/01/15(土) 21:08:39
xaml処理でpartialが自動生成されるwindow派生クラスの中だと全無視、それ以外だと反応するみたい
フォーラムでg.i.csがどうとか言ってたのが完全にfixされてないのか
0575デフォルトの名無しさん2011/01/16(日) 01:44:29
ExpressionBlendってSilverlightとは仲良いみたいですけど
なんてWPFと仲悪いんですか?
0576デフォルトの名無しさん2011/01/16(日) 01:54:09
どこら辺が仲悪いんですか?
0577デフォルトの名無しさん2011/01/16(日) 02:08:17
俺には仲がいいように見えるけど、あれはマヤカシなのか?
0578デフォルトの名無しさん2011/01/16(日) 02:09:17
>>577
実は仮面夫婦なんですよ
0579デフォルトの名無しさん2011/01/16(日) 03:11:58
>>578
それは、カン・チョクト夫妻な
0580デフォルトの名無しさん2011/01/16(日) 04:11:08
実際、VSよりも数段WPFと仲良いしな
0581デフォルトの名無しさん2011/01/16(日) 10:05:36
でもVSとBlendは仲良くないよ
全く同期されてなくて 片方で編集→もう一方でプロジェクトをリロード を繰り返すことになる
0582デフォルトの名無しさん2011/01/16(日) 10:15:35
両方で同時に開いてる時とか、「読み込みなおしますか?」の警告ある方がありがたいと思うけども。
0583デフォルトの名無しさん2011/01/16(日) 11:00:00
XAMLテキストエディタはVSの方が上だよね
BlendはバインディングやSetterやxmlns:などで全然インテリセンスが効かない
必要ないということなんだろうけど、たまにどうしてもBlendで直接XAML編集したいときにイラっとする
変更がバッティングしたりして面倒だし、どうせ完全にプログラミング寄りで
どう考えても純粋なデザイナーが使うもんじゃないんだからVSに統合でいいよ
0584デフォルトの名無しさん2011/01/17(月) 07:47:37

コマンドでパラメータを渡す時に、複数のエレメントの値をバインドして渡す場合は
どの様にしたらいいんでしょうか?
0585デフォルトの名無しさん2011/01/17(月) 20:18:33
ListBoxとScrollViewer(x:Name="PART_ContentHost")から成るカスタムコントロール(Textboxを継承、WTextBoxとする)を作成しているのですが
煮詰まっています。

わからないのは以下の3点です。
1.ListBoxのItemSourceへのデータバインドの方法(XAMLおよびコード)
以下が例です。(ListBoxに表示するのはNAMEのみ)
 ID/NAME
1 晴れ
 4 曇り
 5 雨

2.WTextBoxに依存関係プロパティ(w)を設定する。
 このとき、 デザイナよりコントロールを配置し、WTextBox.w = 4
を設定した場合、Listbox の ID と一致する項目が選択されているようにするには?

3.ListBoxで選択した項目のIDをWtextBox.w と同期する方法

どなたか親切な方、よかったら教えてください。

 
0586デフォルトの名無しさん2011/01/17(月) 20:55:39
>>584
1.渡したいデータをプロパティとして持つCommandParameter用の型
2.MultiBindingからその型に複数の値をセットするConverter
を作って、それを使ってCommandParameterにBinding。ググれば例は出てくると思う。

>>585
丸投げは関心しない。最低限の基礎を理解してからもう一回出直すことをお薦めする。
0587デフォルトの名無しさん2011/01/17(月) 21:12:01
>>585
そういうコードを書く。コードからコントロールを触るためにTemplatePart付けたんだろ?
OnApplyTemplateの中でFindName("PART_ContentHost")として取得したら
あとはコードから触り放題。イベントハンドラも使いまくる。Generic.xamlには見た目以外のことは一切書かない。
カスタムコントロールはそういうもん。
0588デフォルトの名無しさん2011/01/17(月) 21:34:16
要素をよくいじるようなのは俺ならユーザーコントロールで済ましちゃうなー。
そして大小問わずなんでもユーザーコントロールで部品化してメインのウィンドウにペタペタ貼ってる。

ページっていうのがあるけどこれはWPF/Eで使うイメージ。普通のWPFアプリでは使ってるの見ないな。
0589デフォルトの名無しさん2011/01/17(月) 22:07:53
>>586-588
レスありがとう。

1がわからないから2も3も…だと思っています。

Generic.xamlについて
<ListBox ItemSource = "{Binding}">
みたいにかいて、
コード側で???(´・ω・`)
コード側からListBoxのx:Nameが直に指定できないから
FindNameでみつけてやるべくOnApplyTemplateで書きなさいってことですか><

あー ワカラナイ><
0590デフォルトの名無しさん2011/01/17(月) 22:29:55
結局ComboBoxでしょ?
ComboBoxのテンプレートを作れば十分なはず
0591デフォルトの名無しさん2011/01/19(水) 02:50:41
>>548
IntPtrをZeroにしていない終了じゃね?
0592デフォルトの名無しさん2011/01/19(水) 19:30:13
CheckListBoxをカスタムコントロールで作っているんですけど、
コードでDataContextを設定したいときはどこに書けばいいんですか?
OnApplyTemplateの中に書いても、Loadedに書いてもバインドできたけど、
item.clearしないとだめっぽい。

あと、さらにGeeric.XamlでListBox.ItemContainerStyleのTemplateを書いたら、
止まってしまいました。なぜ???
0593デフォルトの名無しさん2011/01/19(水) 19:32:10
まずカスタムコントロールでDataContext使うのはおかしい
UserControl使う
0594デフォルトの名無しさん2011/01/19(水) 22:21:21
ListView使ってファイラー作ってるんだが、気付くとアイテムを選択するとその後にカラムサイズが変更不可になっちまった
ListView自体にカラム固定機能は元々存在しないし、無理矢理固定する方法もあるらしいが、それによる副作用も見られない
まあ大した不具合でもないけど理屈が判らず気持ち悪い
特別なことと言えばAPICodePackのGlassWindowその他を使っている程度
デバッグをするヒントが判れば嬉しいのですが
0595デフォルトの名無しさん2011/01/20(木) 00:48:58
>>592
どういう状態なのか良く解らんが、
カスタムコントロールよりもListBoxのItemTemplateでCheckBox追加するだけで十分じゃないか?
0596デフォルトの名無しさん2011/01/20(木) 04:18:53
Blendのエディタくらい外注しないで自前でつくってほしいよなぁ
0597デフォルトの名無しさん2011/01/20(木) 23:26:20
GridのDefinitionのWidthやHeightで*を指定したときみたいに、
StackPanelでコントロールを引き延ばす事って可能ですか?
Gridは記述が増えて面倒ですし、DockPanelは一番最後の要素のみみたいなので・・・orz
0598デフォルトの名無しさん2011/01/21(金) 03:43:38
>>597
stackpanelでコントロールを引き伸ばすってどういうこと???stackpanelは子の最
大サイズに合わせて自分を規定するのが原則でサイズ制御の仕組みはないと思うんだ
けど。uniformgridみたいなことをしたいのかすら?
0599デフォルトの名無しさん2011/01/21(金) 08:52:56
.net3.5とBlend3 SDKの
Microsoft.Expression.Interactions.dll
System.Windows.Interactivity.dll
じゃIntellisenseに出てこなかったんですが、
CallMethodActionってBlendを購入しないと使えないんですか?

ChangePropertyAction, GoToStateAction, LaunchUriOrFileAction, RemoveElementAction
は使えるみたいです。
0600デフォルトの名無しさん2011/01/21(金) 08:59:19
Expression Blend を買わなくても、Blend SDK っていうのが無料でダウンロード可能。
0601デフォルトの名無しさん2011/01/21(金) 10:07:25
>>600
Blend SDKは入れてるんですがCallMethodActionだけ使えないんですよね。
SDKをインストールしなおしてもだめで。

Blend3じゃなくてBlend4以降じゃないとダメとかあるのかな。
0602デフォルトの名無しさん2011/01/21(金) 11:43:31
3は知らんが少なくとも4SDKには入ってる
TriggerActionはあるんだったら、継承してリフレクションでメソッド呼び出すだけだから自作しても一瞬だろ
0603デフォルトの名無しさん2011/01/22(土) 08:51:47
依存関係プロパティって
Public Shared 以外で宣言してもいいのですか??
0604デフォルトの名無しさん2011/01/22(土) 10:38:24
なんのために?
0605デフォルトの名無しさん2011/01/22(土) 10:48:05
privateにするのは構わない
インスタンスメンバにするのは重複したりメモリリークしたりするからダメ
0606デフォルトの名無しさん2011/01/22(土) 19:54:27
スレ違いでしたらごめんなさい。
MACでも動作するWebアプリを作りたいのですが、GUIは何で作るのが
おすすめでしょうか?ベテランさんアドバイスをお願いします。
0607デフォルトの名無しさん2011/01/22(土) 19:59:19
スレ違い。
0608デフォルトの名無しさん2011/01/22(土) 20:02:59
WPFアプリケーションプロジェクトにUserControlを追加して、
UserControlにボタンを1個配置して
window1.xamlにclr-namespaceを設定してUserControlタグを配置しただけのコードなんだが
VS2008+C#では動くのに
VS2008+VBでは参照エラー
調査しようと思って家でVS2010+VBを入れてテストしたら普通に動いた
これじゃ会社の環境で開発が進まないんだけど
似たような現象にあった人はいませんか?
0609デフォルトの名無しさん2011/01/22(土) 20:12:06
ViewModel作ってバインドする時、プロバティウインドで弄れるようにするにはどうしたら良いんですか?
いやあ、アレ一回使ってみたいだけなんですが
0610デフォルトの名無しさん2011/01/22(土) 20:13:31
それを見たことはないが、エラー内容を晒さないと誰もアドバイスできないと思う。
もしくはエラー内容で自分でググる。
0611デフォルトの名無しさん2011/01/22(土) 20:20:22
>>609
d:DataContext属性にダミーのViewModelのインスタンスを指定する
Blendならサンプルデータも自動生成してくれるんだけどね
0612デフォルトの名無しさん2011/01/22(土) 23:52:23
デザイナ上で、データセットをドラッグアンドドロップすると次のようなコードが作成されますが
<my:dbDataSet x:Key="DbDataSet" />
<CollectionViewSource ... Source={StaticResource DbDataSet}}"/>
数カ所にあるDbDataSetをDbDataSet1に変えると動作しなくなります
このDbDataSetというKeyの名前は自分で決められるわけではないのでしょうか?
0613デフォルトの名無しさん2011/01/23(日) 03:08:38
>>606
Mac OS みたい見た目にならないが
マルチプラットフォームなRIAならSilverlightでできるよ
0614デフォルトの名無しさん2011/01/23(日) 04:41:39
>>613
Silverlightを使用すると、Win上とMac 上では見た目が異なるということでしょうか?
web開発素人なものですみません。。
0615デフォルトの名無しさん2011/01/23(日) 08:58:26
Mac上で動かしても、Winアプリみたいな外観になるって事では?
(まあ、見た目なんて好きに弄れるけれども)
0616デフォルトの名無しさん2011/01/23(日) 09:12:26
>>615
ありがとうございます。
Mac上でも見た目同じであれば、ありがたいです。
Macがまだないもので、テストできず色々調べているのですが
なかなか思う情報に辿り着かない為困っています。。
0617デフォルトの名無しさん2011/01/23(日) 09:20:06
ここはSilverlightスレと見てる人ほとんど同じだから向こうでやれよ
IISならSilverlightの前に普通にASP.NETじゃダメなのか?
0618デフォルトの名無しさん2011/01/23(日) 09:34:30
>>617
ありがとうございます。
みてる方ほとんど同じだったのですね(^^;;
デザインもプログラマーが作るのであれば
Silverlightの方がいいのかと思いまして。
ビジネスロジックはASP.NETになると思いますが。。
■ このスレッドは過去ログ倉庫に格納されています