WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/12/27(日) 10:58:30て語るスレ。.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/
0283デフォルトの名無しさん
2010/02/12(金) 16:43:400284デフォルトの名無しさん
2010/02/12(金) 20:12:470285デフォルトの名無しさん
2010/02/17(水) 15:39:06最初から表示させとくことしかできないの?
0286デフォルトの名無しさん
2010/02/17(水) 15:57:180287デフォルトの名無しさん
2010/02/17(水) 16:03:08イベントハンドラかいて出来たけど
0288デフォルトの名無しさん
2010/02/18(木) 13:05:12あるサイトにあった
<Style x:Key="NumberColumnStyle" TargetType="{x:Type my:DataGridCell}">
<Setter Property="HorizontalAlignment" Value="Right" />
</Style>
をそのまま書くとPropertyDescriptorの値が無効ですといわれてしまいます
0289デフォルトの名無しさん
2010/02/18(木) 13:45:390290デフォルトの名無しさん
2010/02/18(木) 14:30:150291デフォルトの名無しさん
2010/02/18(木) 17:01:050292デフォルトの名無しさん
2010/02/18(木) 19:15:110293デフォルトの名無しさん
2010/02/18(木) 20:21:050294デフォルトの名無しさん
2010/02/19(金) 05:29:22ここの解説で、
>この不要なオーバーヘッドを回避するには、
>WPF に対して、イメージをサムネイル サイズにデコードするように要求するか、
これはBitmapSourceを生成する時点で大きさを指定することで、
>サムネイル サイズのイメージを読み込むように要求します。
これはもとから小さいサイズの画像を用意しておくってことでいい?
ImageコントロールのWidth/Heightでの指定は非効率つーことだよね
0295デフォルトの名無しさん
2010/02/19(金) 05:35:55その辺はメモリやディスクの場所とCPU(GPU)の演算資源とのトレードオフだよ
どの段階でサムネイルを用意するかはソフト次第ってところだけど
たとえば3Dゲームなんかだとミップマップというのがそれっぽい
画像の管理かなあ
0296デフォルトの名無しさん
2010/02/20(土) 11:48:58画像読み込み用スレッドにて作成した System.Windows.Media.Imaging.BitmapImage
クラスを、ウィンドウのある元スレッドにて使用したいのですが、
InvalidOperationException が発生し、動作しませんでした。
別のスレッドからWPFエレメントを操作しようとすると、
同様の例外が発生することから多分無理だろうと思っていましたがやはりダメでした。
読み込む画像のサイズが大きくそれなりに数があるので、
できれば読み込みは非同期で行いたいと思っております。
どのような解決方法がございますでしょうか?
0297デフォルトの名無しさん
2010/02/20(土) 12:09:35BitmapImage読み込み後にFreezeすればスレッド間で共有できる筈
0298デフォルトの名無しさん
2010/02/20(土) 12:55:58早速調べてみます、ありがとうございます!
0299デフォルトの名無しさん
2010/02/20(土) 13:17:10無事成功しました。
操作したい場合はCloneで置き換えればよいみたいですね。
ありがとうございました。
0300デフォルトの名無しさん
2010/02/20(土) 17:52:46ちょっと規模が大きくなってくるとコードの見通しが絶望的に悪くなってくる。
せっかくC#なのに・・・
0301デフォルトの名無しさん
2010/02/20(土) 17:57:450302デフォルトの名無しさん
2010/02/20(土) 17:59:44じゃ、どーやってつくるんだよ
0303デフォルトの名無しさん
2010/02/20(土) 18:01:34WPFの本領を発揮しようとすると途端に至る所で色んな処理を書かなきゃいけなくなって死ぬ
0304デフォルトの名無しさん
2010/02/20(土) 18:03:250305デフォルトの名無しさん
2010/02/20(土) 18:05:28表示も入力もできないよママン
0306デフォルトの名無しさん
2010/02/20(土) 18:36:38いまはどうしても手で書き足さないとだめだもんな。
Expression Blendは使ったことないからわからない。
0307デフォルトの名無しさん
2010/02/23(火) 11:52:030308デフォルトの名無しさん
2010/02/23(火) 11:58:44kwsk
0309デフォルトの名無しさん
2010/02/23(火) 12:37:08うぉ、マジだ…
http://wpf.codeplex.com/releases/view/40535
0310デフォルトの名無しさん
2010/02/23(火) 12:38:500311デフォルトの名無しさん
2010/02/23(火) 12:48:420312デフォルトの名無しさん
2010/02/23(火) 18:08:56とかだとは流石に思わなかった
0313デフォルトの名無しさん
2010/02/28(日) 16:59:57リソースどうなってん?
XAMLがUI要素だけのための超高級言語っぽくて正直とっつきにくいが、日本語解説サイトもっと増えてくれー!
ついでにasp.net使える無料スペースも増えてくりゃれ、ドメインはいらんのです
0314デフォルトの名無しさん
2010/03/04(木) 19:53:39もともと.NET FrameworkにGUIアプリ向けのライブラリが混入してること自体が間違いだし、それをSilverlightで是正しようとしてるね。
0315デフォルトの名無しさん
2010/03/04(木) 21:22:570316デフォルトの名無しさん
2010/03/04(木) 21:25:150317デフォルトの名無しさん
2010/03/04(木) 21:27:31何を勘違いしてるのか知らんが、.NETをはじめとしたMSの言語群は「短期間で高品質な生産」を行うためにある
つまりアイデアが最も重要で、使い方を考えられない人間は価値を見いだせていないだけだ
0318デフォルトの名無しさん
2010/03/04(木) 21:37:58クライアントアプリはなんかどんどん微妙な立ち位置になってきてる気はするね。
0319デフォルトの名無しさん
2010/03/04(木) 22:09:130320デフォルトの名無しさん
2010/03/04(木) 22:38:42WPFにある程度追いついてしまったらSilverlightの方が幅広く活用されるのはは当然です。
Gridありますし。
0321デフォルトの名無しさん
2010/03/04(木) 22:54:370322デフォルトの名無しさん
2010/03/04(木) 22:56:26Silverlightの勝利はマネージコードの敗北です
0323デフォルトの名無しさん
2010/03/04(木) 23:30:53>Silverlightでもクライアントアプリ作れるし、将来的に完全にWPFに置き換わるようになっていくってこと。
将来Visual Studioの実装がSilverlightで置き換えられるって? んなアホな。
Visual Studioの軽量版がSilverlightで実装されることはあるかもしれないが、
それは新規需要の開拓であって今のVisual Studioの置き換えでは無かろうよ。
0324デフォルトの名無しさん
2010/03/04(木) 23:58:390325デフォルトの名無しさん
2010/03/05(金) 00:13:44キミがそう思うのは自由だがひとには話さないことだな
0326デフォルトの名無しさん
2010/03/05(金) 00:26:27WPFじゃないアプリじゃこんなことなかったのに
0327デフォルトの名無しさん
2010/03/05(金) 01:07:100328デフォルトの名無しさん
2010/03/05(金) 07:55:34gui用のライブラリが入ってるのが間違いとか、意味分からんわ。
view無しのフレームワークとかありえんだろ。ウェブのDOMも間違いとかいい出しそうだな。
0329デフォルトの名無しさん
2010/03/05(金) 08:19:56先頭10ページを要約してよ。
→ 自分で買って読め
はいはい
0330デフォルトの名無しさん
2010/03/05(金) 10:54:550331デフォルトの名無しさん
2010/03/05(金) 12:23:09エッセンシャルは公開*されてません*
0332デフォルトの名無しさん
2010/03/05(金) 12:37:34さすがにXAMLパーサまでアンマネージコードで実装するのはどうかと
0333デフォルトの名無しさん
2010/03/05(金) 12:37:560334デフォルトの名無しさん
2010/03/05(金) 18:54:28実は読んだことないでしょ?w
0335デフォルトの名無しさん
2010/03/05(金) 22:44:450336デフォルトの名無しさん
2010/03/05(金) 23:21:140337デフォルトの名無しさん
2010/03/05(金) 23:33:56今ならベストセラー狙える
0338デフォルトの名無しさん
2010/03/06(土) 00:20:54俺もってないけど?
普通はMSDNだのブログだので充分だと思うが。
0339デフォルトの名無しさん
2010/03/06(土) 01:07:31最近はネットの情報も増えてきて随分過ごしやすくなったね。
0340デフォルトの名無しさん
2010/03/06(土) 03:55:020341デフォルトの名無しさん
2010/03/06(土) 09:50:06その本正直ゴミみたいな本だよね
0342デフォルトの名無しさん
2010/03/06(土) 10:39:55ほぼそれで大丈夫だよ。
0343デフォルトの名無しさん
2010/03/06(土) 12:23:51日本語の本では、新しいのが出ないね。
0344デフォルトの名無しさん
2010/03/06(土) 13:11:01今使ってる層はWebから情報得たり英語ソースあたったりする層ぐらいじゃないの?
0345デフォルトの名無しさん
2010/03/06(土) 13:38:29これからwpf入門をしようと思い、サイトなどを見ているのですが、
以下のサイトの記述は誤りであるという解釈でよろしいのでしょうか。
http://www.atmarkit.co.jp/fdotnet/vblab/uiframework_01/uiframework_01_01.html
> Silverlightはラインタイムのサイズを4MBytes台に抑えるという
> 至上命令があったため、WPFと比べると機能が削られているという
> 違いが存在する。
「ラインタイム」ではなく「ランタイム」だと思うのですが、
別にそういう用語があるのか気になってます。
0346デフォルトの名無しさん
2010/03/06(土) 13:44:410347デフォルトの名無しさん
2010/03/06(土) 13:45:530348デフォルトの名無しさん
2010/03/06(土) 13:47:56ありがとうございます。
0349デフォルトの名無しさん
2010/03/07(日) 00:05:23WPFと比べて削られてるって言うのはちょっと不適切だと思う
.NET Frameworkと比べてSilverlightは機能が削られているというならわかるけど
0350デフォルトの名無しさん
2010/03/07(日) 11:54:170351デフォルトの名無しさん
2010/03/07(日) 17:29:500352デフォルトの名無しさん
2010/03/07(日) 18:48:56silverlightにあってWPFに無い機能もあって移植のときに困る。
0353デフォルトの名無しさん
2010/03/07(日) 18:52:270354デフォルトの名無しさん
2010/03/07(日) 19:29:00他のところはだいたいそのまま.NETのコードを拝借しただけなんだけど
0355デフォルトの名無しさん
2010/03/08(月) 22:09:33ユトリは大人しくオナニーでもしてろ
0356デフォルトの名無しさん
2010/03/09(火) 11:32:09結局は面倒くさいからな
マイクロソフトのこの手の製品の癖として、何でも出来るようにさせるがために、全体の簡便さや明快さを犠牲にする。
作るソフトの特殊度・高機能度 低 中 高
要する労力 30 50 70
これを、 15 30 100
くらいの設計思想にしたっていいように思うがそうはしない。
ソフト制作の環境が昔と様々に違っている上、「また数年も経てば新プログラミング製品を出すんだろ?だとしたら過渡期のものをいちいち細かく研究してられるか。」感も強く、流行らないのも仕方ない。
0357デフォルトの名無しさん
2010/03/09(火) 11:48:54http://www.dotup.org/uploda/www.dotup.org711436.png
0358デフォルトの名無しさん
2010/03/09(火) 12:00:40WPF と全然関係なくね?
0359デフォルトの名無しさん
2010/03/09(火) 12:10:240360デフォルトの名無しさん
2010/03/09(火) 13:29:06Javaみたい
0361デフォルトの名無しさん
2010/03/09(火) 15:51:450362デフォルトの名無しさん
2010/03/09(火) 16:01:490363デフォルトの名無しさん
2010/03/09(火) 16:37:36あんまり簡単すぎるとうちらの仕事もなくなっちゃうよorz
0364デフォルトの名無しさん
2010/03/09(火) 16:42:220365デフォルトの名無しさん
2010/03/09(火) 17:01:040366デフォルトの名無しさん
2010/03/09(火) 17:12:590367デフォルトの名無しさん
2010/03/09(火) 17:21:53自動実装のプロパティと比べて2つも増えているのが面倒とか?
0368デフォルトの名無しさん
2010/03/09(火) 17:24:330369デフォルトの名無しさん
2010/03/09(火) 17:57:11正直くどい。
0370デフォルトの名無しさん
2010/03/09(火) 18:42:37Visual Studio使っていれば、propdp[Tab][Tab]と叩くいて雛形を埋めるだけで出来上がるし。
0371デフォルトの名無しさん
2010/03/09(火) 18:47:50不毛すぎる。
0372デフォルトの名無しさん
2010/03/09(火) 20:17:360373デフォルトの名無しさん
2010/03/10(水) 13:13:42答えはもちろんNO!
0374デフォルトの名無しさん
2010/03/10(水) 15:24:480375デフォルトの名無しさん
2010/03/10(水) 15:30:320376デフォルトの名無しさん
2010/03/10(水) 17:37:340377デフォルトの名無しさん
2010/03/10(水) 17:55:12バッドノウハウをお客さんのかわりに網羅する仕事だもんな。
Oracle のあるバージョン特有のチューニング方法とかどう考えても10年後20年後に役立つ知識じゃない。
0378デフォルトの名無しさん
2010/03/11(木) 00:30:280379デフォルトの名無しさん
2010/03/11(木) 01:17:27DataGrid で行の確定ごとにサーバーに問い合わせて、エラーを表示したいんだけど良い方法が分からない。
0380379
2010/03/11(木) 22:13:56IDataErrorInfo と INotifyPropertyChanged を実装してエラー更新後に PropertyChanged 呼んでやれば良いだけだった。
PropertyChanged でエラー情報も拾ってくれるんだね。
0381デフォルトの名無しさん
2010/03/12(金) 20:55:17WPF3.5 で開発しています。
[DllImport("user32.dll")]
public static extern bool SetProp(IntPtr hWnd, string lpString, IntPtr hData);
this.Loaded += new RoutedEventHandler(
delegate(object sender, RoutedEventArgs arg) {
var source = new WindowInteropHelper(this);
SetProp(source.Handle,
"MicrosoftTabletPenServiceProperty", new IntPtr(0x01000000));
}
);
によってマルチタッチを有効にし(これはMSDNのサンプルからも得られる知識です)、
Stylusイベントによってマルチタッチアプリを開発しています。
参考になるサイトは以下です。
ttp://blog.andreweichacker.com/2009/02/windows-7-multi-touch-using-wpf/
MSDNのサンプル、↑のブログ、その他海外のサイト、どこを見ても
StylusDown, Up によってタッチの有無を判定していますが、
StylusEnter, Leave を用いたものを見たことがありません。
試しに Enter, Leave のイベントを記述し、対応する関数内で
(たとえば)listBox1.Items.Insert(0, "Stylus Enter" + e.StylusDevice.ID);
などと記述すると、Enter, Leave は問題なく取得できています。
が、1本目の指で StylusEnter し、2本目の指をウィンドウ内にタッチすると
Enter, Leave が暴走します。
(※すみません、次のレスに続きます)
0382381
2010/03/12(金) 21:09:20window1 内に、Rectangle1, Rectangle2 を配置し、
線を太くし、それぞれに StylusDown, Up, Enter, Leave の関数を記述します。
各関数では、↑に貼ったURLのように StylusのIDで条件分岐し、
Rect1/2 どちらのイベントか、Down/Up/Enter/Leaveどのイベントか
が分かるように、文字列として出力するとします。
■試行1(Enter, Leaveのイベントを取らない場合)
・Rect1をタッチすると、"Rect1 Down 16" みたいに表示されます。
16はStylusDevice.IDの例です。
・Rect1上から指を離すと、"Rect1 Up 16" みたいに表示されます。
・Enter, Leave, Rect2の場合も同じです。
・Rect1をタッチしながらRect2をタッチすると、"Rect1 Down 16" に続いて
"Rect2 Down 17" みたいに表示されます。
続いて指を離すと、指に応じたIDが "Up" された表示が出ます。
■試行2(Enter, Leaveのイベントを取る場合)
・Rect1の外をタッチして、Rect1の中にスライドさせると、"Rect1 Enter 16"みたいに表示。
・そのままLeaveすると、"Rect1 Leave 16"みたいに表示。
・Rect1に Enter した状態で、Rect1, Rect2 の外をタッチすると、
"Rect1 Leave 16", "Rect1 Enter 16" "Rect1 Leave 16" "Rect1 Enter 16" ...
と、次々と表示されます。
・Rect1に Enter した状態で、Rect2をタッチすると、
"R1 Leave 16" "R1 Enter 16" "R2 Leave 17" "R2 Enter 17" "R1 Enter 16" "R1 Leave 16" "R2 Enter 17"...
と、次々と表示されます。
これが何故か分かる方、
また、この対処方法が分かる方はおりますでしょうか?
長文、申し訳ありませんがよろしくお願いします。
0383デフォルトの名無しさん
2010/03/12(金) 21:18:58間違っても「どうすればいいか」とかは聞かないでくれよ。
■ このスレッドは過去ログ倉庫に格納されています