WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part8
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/12/05(日) 22:08:33.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/
0137デフォルトの名無しさん
2010/12/07(火) 23:51:550138デフォルトの名無しさん
2010/12/08(水) 00:59:012chの片隅でどんなに叩いても大勢には何一つ影響ないのによくやるもんだww
0139デフォルトの名無しさん
2010/12/08(水) 01:16:47Part1では4カ月かかったのがたった2日…。
0140デフォルトの名無しさん
2010/12/08(水) 01:21:191 .NET3.0もリリースされて盛り上がってまいりますた。
2 .NET3.5 SP1 Betaもリリースされて盛り上がってまいりますた。
3 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。
4 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。
5 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。
6 .NET4.0もリリースされたけど別に盛り上がってはいないよね…。
7 パワフルで柔軟すぎるのが敗因か? 正直ついていけないよね…。
8 .NET4 もリリースされて盛り上がってまいりますた。
Part1 2006/11/08-2008/05/24 563日
Part2 2008/05/22-2009/01/11 234日
Part3 2009/01/09-2009/06/20 162日
Part4 2009/06/19-2009/12/27 191日
Part5 2009/12/27-2010/05/21 145日
Part6 2010/05/21-2010/08/28 99日
Part7 2010/08/22-2010/12/06 106日
Part8 2010/12/05-2011/?
盛り上がってまいりますた!
0141デフォルトの名無しさん
2010/12/08(水) 01:21:19しかしCore iシリーズのHD GraphicsのコンパネはWPFで作られている・・・
0142デフォルトの名無しさん
2010/12/08(水) 01:41:17設定画面はWPFなのにWPFのアプリが落ちたりする不具合を抱えてる。
設定画面はちゃんと動いてるだけになんでWPFアプリが動かないのか悩んだよ。
0143デフォルトの名無しさん
2010/12/08(水) 02:38:350144デフォルトの名無しさん
2010/12/08(水) 03:13:470145デフォルトの名無しさん
2010/12/08(水) 03:44:54趣味グラマは数万円もするようなツールは買いたがらないからな。
昔に比べてだいぶ流行ってきたとはいえ、まだまだだろう。
フリーのExpression Brendでもでればいいのだが。
0146デフォルトの名無しさん
2010/12/08(水) 04:41:47そこから踏み込むならBlendがあるに越したことはない。
無料版出せとは言わないまでも、単品パッケージの復活ぐらいはやってほしいね。Express可のUPGが15kぐらいだっけ?
0147デフォルトの名無しさん
2010/12/08(水) 08:37:49こんなのが作れたのかってな感じで
0148デフォルトの名無しさん
2010/12/08(水) 11:10:12ウィンドウを拡大縮小したときの文字列の並び替えが
すごく滑らかだ
同じソースなのにlive2chだとカクカクする
どうして?
0149デフォルトの名無しさん
2010/12/08(水) 11:37:160150デフォルトの名無しさん
2010/12/08(水) 12:56:38900スレ取り込んだら激重いw
WPF使えねーな
0151デフォルトの名無しさん
2010/12/08(水) 13:09:030152デフォルトの名無しさん
2010/12/08(水) 13:37:47live2chで1000レスあるスレをhtmlで書き出して
コピペしたWebBrowserのソースに割り当てただけ
読み込み自体はまだ許容範囲だが(それでもJaneStyleより遥かに遅い)
ウィンドウを拡大縮小するともっさもさ
Delphiやれっつーことか
でも、今更やりたくないな
0153デフォルトの名無しさん
2010/12/08(水) 13:46:070154デフォルトの名無しさん
2010/12/08(水) 13:47:390155デフォルトの名無しさん
2010/12/08(水) 13:53:37http://kamome.2ch.net/test/read.cgi/mnewsplus/1291782924/
0156デフォルトの名無しさん
2010/12/08(水) 14:00:24なんでWPF叩いてるのってこんな奴ばっかりなんだろ…。
WebBrowserが重いって馬鹿だろ。そんな作り方じゃDelphiで書いても糞重いわ。
0157デフォルトの名無しさん
2010/12/08(水) 14:02:450158デフォルトの名無しさん
2010/12/08(水) 14:10:36正しいやり方教えろよ
0159デフォルトの名無しさん
2010/12/08(水) 14:20:510160デフォルトの名無しさん
2010/12/08(水) 14:22:150161デフォルトの名無しさん
2010/12/08(水) 14:23:080162デフォルトの名無しさん
2010/12/08(水) 14:40:50みたいな書き方にしないで、素直に
<setter Background="Black"/>
みたいにかけるようにすればよかったのにね。
いちいちPropetyだのvaluだの余計な単語つけないといけなくてめんどい
0163デフォルトの名無しさん
2010/12/08(水) 14:54:410164デフォルトの名無しさん
2010/12/08(水) 16:47:33Backgroundプロパティを持ってるわけではないのでそんな書き方は無理。
0165デフォルトの名無しさん
2010/12/08(水) 17:34:100166デフォルトの名無しさん
2010/12/08(水) 17:38:22実際にはコードでクラスでほげほげされてるしね。
0167152
2010/12/08(水) 17:43:420168デフォルトの名無しさん
2010/12/08(水) 17:53:440169デフォルトの名無しさん
2010/12/08(水) 18:10:550170デフォルトの名無しさん
2010/12/08(水) 18:13:35timeBeginPeriod(1)でも呼んどけばいいんじゃない?
0171170
2010/12/08(水) 18:32:28そんなの自前でレンダリングしろ。
0172152
2010/12/08(水) 19:56:14言うと思ったw
live2chと比べているのに
レンダリングしろってそりゃないですよw
そんな解決法しか思いつかないのにえらそうに
「そんな作り方はダメ」なんて言ってたの?
ユーザーがスキンを自由にカスタマイズできるように
WebBrowser使っているのにさ、まったく理解してないね
じゃあ、自由にカスタマイズできるようにしろって?
そういうことするのは無能と言っていいでしょ
0173デフォルトの名無しさん
2010/12/08(水) 19:58:030174デフォルトの名無しさん
2010/12/08(水) 20:10:28WPFスレとしては自分でレンダリングしろと言うしかないでしょう
スレ違いだ
0175デフォルトの名無しさん
2010/12/08(水) 20:22:400176デフォルトの名無しさん
2010/12/08(水) 20:23:51なんか、レス数が増えると重くなるって言ってる様
に受け取れるんだが、WebBrowserコントロール
って表示はlive2chと同じ仕組みが用いられてんだか
ら中で表示するhtmlのサイズは関係ないと思うのだ
が、WebBrowserコントロールをどんな使い方して
んのさ。
作り直しが面倒な程作り込んでるなら別の部分に
問題があるじゃない?さっきの10行10万列の野郎
みたいにリサイズの度に10万個のひろゆき画像を
三次元に回転させるとかだったらそれは重いと
思うよ。
後、知ってると思うがもし仮にXP上で動かして
いたならこれは諦めた方が良いでしょ
0177デフォルトの名無しさん
2010/12/08(水) 20:27:18ネイティブのウィンドウを重ねてActiveXコントロール貼ってるだけだから
0178152
2010/12/08(水) 20:28:26作りこむも何もWebBrowser貼り付けただけのものだよ
XPだとなぜ諦めないといけないの?
.Net入ってたら同じ環境になるんじゃないの?
0179152
2010/12/08(水) 20:29:470180デフォルトの名無しさん
2010/12/08(水) 20:32:07OSの影響が無いし、ActiveX丸出しじゃなくてもうちょっとちゃんとしたWebBrowserが使えるよ
0181デフォルトの名無しさん
2010/12/08(水) 20:32:520182デフォルトの名無しさん
2010/12/08(水) 20:41:05極端な話、枠を消したウィンドウにActiveXコントロールを貼ってWPFのウィンドウ上に重ねてるだけ。
だからXP上のレンダリングの問題とかの話は適用できないの。
0183152
2010/12/08(水) 20:56:55sourceにバインドしようと思ったらよくわからないオブジェクトのプロパティを
使わないといけないみたいで、あれみて一気にやる気失せた
0184デフォルトの名無しさん
2010/12/08(水) 21:00:28単なるActiveXコントロール。WPFとは全く関係ない。スレ違い。
0185デフォルトの名無しさん
2010/12/08(水) 23:14:52チェックしてダメだったら元のとこに戻したいってだけなのに.focusで無限ループ
どうしましょ
0186デフォルトの名無しさん
2010/12/08(水) 23:36:590187デフォルトの名無しさん
2010/12/08(水) 23:37:56> このイベントはバブル ルーティングを使用するため、フォーカスを失う要素は、
> イベント ハンドラが実際にアタッチされている要素ではなく、子要素である可能性があります。
> イベント データの Source をチェックして、フォーカスを取得した実際の要素を確認してください。
0188デフォルトの名無しさん
2010/12/09(木) 00:23:28ああ、それならキャンセル持ってるですね。試してみます。
>>187
ちょこちょこsenderに移動先のコントロールが紛れ込んでくるんですが、
その辺が関係してるかもしれないですね。
複数のコントロールをまとめて一つのlostfocusにsetterEventで飛ばしてるんですが、
何かバラにした方が良さげな気がしてきました。
どうもです。
0189デフォルトの名無しさん
2010/12/09(木) 01:59:00RectangleはFillなんだ
Rectangle Background="Red"ってやってもエラーでるから何事かと15秒くらい考えてしまったじゃないか。
Microsoftはどっちかに統一しろよクソめ
0190デフォルトの名無しさん
2010/12/09(木) 02:12:500191デフォルトの名無しさん
2010/12/09(木) 02:22:07なにもおかしい所はない。
他のビジュアル要素を内包するコントロールの背景がBackgroundで前景がForegroundなのも当たり前。
PenがBrushで、BorderがBorderBrushとBackgroundで、PanelがBackgroundになるのも当然の結果。
言葉の意味考えずに、単語だけでプログラミングやってんの?
こういう奴って見るだけで頭痛になりそうな痛い変数名・関数名を量産してそう。
0192デフォルトの名無しさん
2010/12/09(木) 02:23:03そういう基本的な図形はShapeなので区別は付くはずだよ。
0193デフォルトの名無しさん
2010/12/09(木) 02:31:22Windows Formのコントロールなら
FormもLabelもButtonもTextBoxも全部Textプロパティだったのに。
WPFはWindows Formのクラス群でTextプロパティだったのがいろいろ分かれてる。
いちいち、このコントロールはTextがContentで、あっちはTextで、別のなにかはさらに違ってって全部いちいち暗記しなきゃならないのか。めんどくせーな。
0194デフォルトの名無しさん
2010/12/09(木) 02:39:100195デフォルトの名無しさん
2010/12/09(木) 02:40:36暗記しなきゃならないって馬鹿か。
中に何が入るか考えれば暗記する必要などない。
0196デフォルトの名無しさん
2010/12/09(木) 02:46:59Contentは文字に限らずいろんな要素を入れられるしContentTemplateなど表示のカスタマイズができる。
そんな感じに使い分けられてるから結構解りやすいと思うよ。
0197デフォルトの名無しさん
2010/12/09(木) 02:47:45http://msdn.microsoft.com/ja-jp/library/system.windows.controls.contentcontrol.aspx
の構文と継承を1時間ほど見つめ続けろ
0198デフォルトの名無しさん
2010/12/09(木) 02:53:16Buttonとかの背景がBackColorっていう名前のプロパティだったのに
WPFになるとBackgroundとか、意味も無く名前変わってるし。
なんなのこれは。Formから移ってきた人がうっかり前と同じようにコード書いてエラーおこさせるための嫌がらせか?
0199デフォルトの名無しさん
2010/12/09(木) 02:56:28Buttonクラスの継承調べろカス
0200デフォルトの名無しさん
2010/12/09(木) 03:01:52http://msdn.microsoft.com/ja-jp/library/ms751565.aspx
0201デフォルトの名無しさん
2010/12/09(木) 03:01:59>意味も無く名前変わってる
お前、無能だとよく馬鹿にされてるだろ。
Backgroundに入るのがColorだけだとでも思っているのか?www
ちょっとぐらい調べてから喋れクソめ
0202デフォルトの名無しさん
2010/12/09(木) 03:02:28BackColor とかどう見ても失敗。
ImageBrush とかも使えるし。
0203デフォルトの名無しさん
2010/12/09(木) 03:04:25Windows Formでつちかった知識をいかせないなんてWPFはクソな仕様なんだな
0204デフォルトの名無しさん
2010/12/09(木) 03:05:120205デフォルトの名無しさん
2010/12/09(木) 03:07:48Button.Text="Click me!";
これでOKだったんだから
WPFでも全く同じコードで動くようにすべきだよ。
0206デフォルトの名無しさん
2010/12/09(木) 03:08:150207デフォルトの名無しさん
2010/12/09(木) 03:08:56こういう奴って、WinFormsの頃からバインディングがあった事すら知らないか、ろくに使いこなせてなかったんだろうな。
0208デフォルトの名無しさん
2010/12/09(木) 03:16:36WinFormsの良いとこも悪いとこもお前以上に理解した上で出した結論。
その中に飛び込んで言うことが「プロパティ名が気に食わない」だけかよw
0209デフォルトの名無しさん
2010/12/09(木) 11:36:46ScaleTransformでの縮小時に文字が読めなくなってしまうのと、
コントロール自体の縦横比率で、文字の縦横比率が変わってしまうので困る。
全体サイズと内部配置を変更して、文字サイズは固定する方法ってない?
0210デフォルトの名無しさん
2010/12/09(木) 11:40:38Grid で列幅、行高さを auto なり * なり指定すればいいのに。
0211デフォルトの名無しさん
2010/12/09(木) 11:46:14細かくコントロールの配置を整えないので、Gridは厳しいなあ。
地道にpoint計算して、Canvas.SetLeftすることにします。
ありがとう。
0212デフォルトの名無しさん
2010/12/09(木) 11:50:20固定でやってたら文面ちょこっと変えただけで再配置になるし。
0213デフォルトの名無しさん
2010/12/09(木) 11:51:15ViewBox ってのがあるよ。中身を自動サイズ調整。
0214デフォルトの名無しさん
2010/12/09(木) 11:59:39細かくコントロールの配置を整え"る"ので、の書き間違い・・・
ViewBox試してみます!
0215デフォルトの名無しさん
2010/12/09(木) 15:26:20TopやLeftとかを変えればいいだけだと思うんだがなんの意味があるんだろう。
0216デフォルトの名無しさん
2010/12/09(木) 15:36:25LayoutTransform と RenderTransform で挙動違うからねぇ。
Layout 相当の方は確かに Top/Left の変更で行けなくはないが、Render の方は無理。
アニメーションでぶるぶる震えるとかそういうことやるのは Transform の方がいいともう。
Top とか Left とかは Canvas 内にいないと使えないし。
Content の入れ子ができる WPF じゃ Top/Left はいまいち使えない。
0217デフォルトの名無しさん
2010/12/09(木) 15:39:05<RowDefinition/>
をいっぱい書くのめんどくさいなぁ
<RowDefinition*8/>
みたいな書き方できるようにしてくれよ
0218デフォルトの名無しさん
2010/12/09(木) 15:50:22特殊文法はどこかで破たんするからなぁ。
ツールとの連携を考えると、正規の XML の文法からそれない方が身のため。
RowDefinition とかは Visual Studio の UI デザイナー使うなぁ、
さすがに手書きめんどくさいんで。
0219デフォルトの名無しさん
2010/12/09(木) 16:02:32簡単なツールならVSで十分だが、出来ればBlendを買うのを勧める
0220デフォルトの名無しさん
2010/12/09(木) 16:08:59http://www.youtube.com/watch?v=lnHa6OZa0U4
これで何が不満なのか。
0221デフォルトの名無しさん
2010/12/10(金) 00:12:10<MenuItem Header="Exit" Command="Close"/>
だとメニューのExitがdisableなままでクリックできないし。
自前Command作ってもVMがVを持ってないから Close できないわけで。。。
どうすりゃいい?
0222デフォルトの名無しさん
2010/12/10(金) 01:16:31よくあるパターンでは、ViewModelにRequestCloseってイベント作っておいて、
DataContext への代入の時にそれに += するようなのか、
もしくは、最近はやりは、
Close イベント拾ってウィンドウ閉じるようなビヘイビア書くかかなぁ。
0223デフォルトの名無しさん
2010/12/10(金) 01:22:05C#のコードを簡略化して書けるようなものなの?
C#だと
なんちゃら 変数 = new なんちゃら();
変数.Child.Add(なんとか);
みたいなのを
<なんちゃら>
<なんとか>
</なんちゃら>
だけでかけて、いちいちnewとかChild.Addとか書かなくていいから大幅に省略できてラクチン?
0224デフォルトの名無しさん
2010/12/10(金) 01:25:04ツールが読みやすいように XML にしてるとか、
依存関係プロパティやらデータバインディングやら、C# で書きにくいのを楽に書けるとか。
Children.Add とかは、C# 3.0 以降、書く必要ない。
var layoutRoot = new Grid {
Children = { new Button(), new TextBox() }
};
みたいに書ける。
0225デフォルトの名無しさん
2010/12/10(金) 01:30:12違う。簡略化じゃなくて、外部ツールでも扱い易くするために、あの文法になった。
手書きを前提としては作ってない。
あと、今は
List<string> list = new List<string>();
list.Add("hoge")
は
var list = new List<string> { "hoge" };
と書ける。
0226225
2010/12/10(金) 01:31:050227デフォルトの名無しさん
2010/12/10(金) 01:37:230228デフォルトの名無しさん
2010/12/10(金) 02:24:58それも含めて、ユーザーもツールを作りやすいように。
Microsoft は、XAML を WPF や Silverlight 専用とせずに .NET に関するデータをテキスト形式で書くための言語として作った
(だから、XAML でユーザー定義クラスのインスタンスも生成できる)。
.NET 同士でデータを交換したり、読み書きするなら、単なる XML を使うよりは、XAML を使ったほうが簡単に扱えるようになってる。
0229221
2010/12/10(金) 02:32:30XAMLに
<MenuItem Header="Exit" Command="{Binding ExitApp}"/>
VMに
public void Execute(object parameter) {
System.Windows.Application.Current.MainWindow.Close();
}
こんな感じに落ち着きましたです。
なんかかっこ悪い気がするけど終了するからまぁいいかと。
そんでもって今度は、ウィンドウ枠消して Label だけにしたウィンドウを
どうやってドラッグ移動させるかでどつぼってる中orz
0230デフォルトの名無しさん
2010/12/10(金) 02:40:09将来的にはそんなかっこ悪い書き方しなくなりそうな感じするけど、
現状はそれでいいと思う。
枠消したアプリは、MouseDown イベントのハンドラーで DragMove メソッド呼ぶだけだったと思う。
0231デフォルトの名無しさん
2010/12/10(金) 02:43:060232デフォルトの名無しさん
2010/12/10(金) 02:45:30標準になること自体は確定してるみたいなので、後は次期の問題・・・
0233デフォルトの名無しさん
2010/12/10(金) 03:22:59参照型とか意味わからん。
0234デフォルトの名無しさん
2010/12/10(金) 03:30:15参照型:jクラス(class)
値型:構造体(struct), 列挙型(enum) 組込み型(int,double...)
C# 参照型 でググると解説がいっぱいある。ふらっとC#あたりで聞いてもいい。
0235デフォルトの名無しさん
2010/12/10(金) 03:54:20Routed eventなのに日本語だと
ルーティング イベント
になるの?
用語つけたやつ誰だよ。
0236デフォルトの名無しさん
2010/12/10(金) 03:54:53ありがとう。
Label に MouseDown="label1_MouseDown" 追加して Window1.xaml.cs に
private void label1_MouseDown(object sender, MouseButtonEventArgs e)
{
this.DragMove();
}
追加でいけました。
>>231
添付ビヘイビアってやつですかね?
DragMoveBehaviour みたいな
■ このスレッドは過去ログ倉庫に格納されています