WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part7
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/08/22(日) 21:11:53Windows Presentation Frameworkについて語るスレ。
パワフルで柔軟すぎるのが敗因か? 正直ついていけないよね…。
Visual Studio 2010
ttp://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
関連スレ
Microsoft Silverlight その6
ttp://pc12.2ch.net/test/read.cgi/tech/1271580489/
過去スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part6
http://hibari.2ch.net/test/read.cgi/tech/1274423236/
WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5
http://pc12.2ch.net/test/read.cgi/tech/1261879110/
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/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
0002デフォルトの名無しさん
2010/08/22(日) 22:08:370003デフォルトの名無しさん
2010/08/24(火) 01:40:56乙
0004デフォルトの名無しさん
2010/08/27(金) 21:46:28ボタンのコマンドを変えたい場合、ボタンのコマンドをチェックボックスの値にバインドして
booleanからICommandへのConverterを書くしか方法はないでしょうか?
Styleのtriggerのpropertyはターゲット自身のプロパティしか参照できないですよね??
0005デフォルトの名無しさん
2010/08/28(土) 01:17:36TriggerはTargetName=チェックボックスのName、Property=IsChecked、Value=Falseを指定する。
SetterのTargetName=ボタンのName、Property=IsEnabled、Value=Falseを指定する。
0006デフォルトの名無しさん
2010/08/28(土) 14:14:230007デフォルトの名無しさん
2010/08/28(土) 17:51:30言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究
0008デフォルトの名無しさん
2010/08/31(火) 22:50:420009デフォルトの名無しさん
2010/08/31(火) 22:55:16忘れてたけど
0010デフォルトの名無しさん
2010/09/01(水) 22:15:42Expression3→4へ無償UPGキャンペーンってまだやってんの?
0011デフォルトの名無しさん
2010/09/01(水) 22:41:57実質永久にキャンペーン中
0012デフォルトの名無しさん
2010/09/01(水) 22:49:200013デフォルトの名無しさん
2010/09/01(水) 23:07:490014デフォルトの名無しさん
2010/09/03(金) 15:06:37キャンペーンのこと知らなくて、体験版入れたら何時まで経っても使用期限が来ないもんで
登録情報見たら登録済みになっててびっくらこいたよ。
もしかして落とせるようになってたの体験版じゃなくて正規版??とか一瞬ドキドキしたw
Expressionの3とは別にインストールされるみたいだけど、3はアンインスコしちゃって
いいのかねえ???
0015デフォルトの名無しさん
2010/09/03(金) 16:11:21入れっぱなしだけど…
0016デフォルトの名無しさん
2010/09/05(日) 19:22:49ListBox の外枠でクリッピングされてしまいますが、これをはみ出させる方法はありますでしょうか?
とりあえず、ListBox と ListBoxItem の ClipToBounds = false にしてみましたが、
これではだめなようです。
0017デフォルトの名無しさん
2010/09/05(日) 20:32:31スクロールバー表示のため制御されてる
001816
2010/09/07(火) 09:15:51難しそうなんであきらめることにします。
0019デフォルトの名無しさん
2010/09/07(火) 21:50:55で、UserControl で、
<UserControl.InputBindings>
<KeyBinding Key="Left" Command="HogeHoge" />
</UserControl.InputBindings>
としたんですが、ScrollViewer にキー入力をとられてしまい、
HogeHoge が発生しません。
UserControl で先にイベントを取得する方法はないでしょうか?
(PreviewKeyDown イベントを使う方法だと、KeyBinding が使えなくなって
しまうので、それ以外の方法でお願いします。)
0020デフォルトの名無しさん
2010/09/10(金) 04:05:20[Category("共通")] 以外あったら教えてくれ。
0021デフォルトの名無しさん
2010/09/10(金) 11:37:140022デフォルトの名無しさん
2010/09/11(土) 20:01:19今はttp://gurizuri0505.halfmoon.jp/develop/csharp/zorderの方法を試してみたのですが、
最背面どころか画面が消えて見えなくなってしまいます。
0023デフォルトの名無しさん
2010/09/12(日) 09:34:54<TreeViewItem Header="aa">
<TreeViewItem Header="bb">
<TreeViewItem Header="cc" />
</TreeViewItem>
</TreeViewItem>
<TreeView.Resources>
<Style TargetType="TreeViewItem">
<EventSetter Event="MouseDoubleClick" Handler="ItemClick" />
</Style>
</TreeView.Resources>
</TreeView>
これだとダブルクリックイベントが複数回発生するんだけどどうすればいいの?
0024デフォルトの名無しさん
2010/09/12(日) 10:09:45ActivatedイベントでWin32APIのSetWindowPos関数使ってHWND_BOTTOMにセットするとか
一瞬アクティブになったりもするけど
>>23
e.Sourceで判断する
0025デフォルトの名無しさん
2010/09/12(日) 10:13:53>ルート上のその後の MouseDoubleClick イベントは、Handled が false に設定された状態で発生します。
>コントロール作成者がマウスのダブルクリックを処理する場合は、
>ClickCount が 2 に等しいMouseLeftButtonDown イベントを使用する必要があります。
>これにより、要素ツリー内の別の要素がそのイベントを処理する場合に、Handled の状態が適切に伝播されます。
うわ面倒くさ
0027デフォルトの名無しさん
2010/09/12(日) 10:36:42senderで判別しろってことだろ
下位の層でイベントを拾ったら上の層を無視するようにする
002823
2010/09/12(日) 10:43:42ありがとうございました
0029デフォルトの名無しさん
2010/09/12(日) 11:25:18自分のやりたい事は壁紙を変更する事だと気づき、最背面はあまり関係ありませんでした。
でも、壁紙変更もWin32APIで出来る事がわかりました。
あまりWPF関係ないですね。ありがとうございました。
0030デフォルトの名無しさん
2010/09/13(月) 02:25:12ウィンドウ内で画面遷移させるのってWPFだとどうやるの?
UIをそれぞれリソースにしてContent = FindResource("...")とやれば一応動作はするんだけど、
これだとそれぞれのUIにコードビハインド付けられないし使いにくい。
PageはWeb用みたいなかんじだし、UserControlでまとめるのもなんか違う気がする。
0031デフォルトの名無しさん
2010/09/13(月) 04:25:18003230
2010/09/13(月) 10:50:35それぞれのUIはこれで作ってMainWindowに統合する形でやってみます。ども
0033デフォルトの名無しさん
2010/09/13(月) 13:22:270034デフォルトの名無しさん
2010/09/13(月) 13:36:04http://msdn.microsoft.com/ja-jp/library/ms611061.aspx
0035デフォルトの名無しさん
2010/09/13(月) 21:16:35普通にUserControlだろ
リソースディクショナリにコードビハインドとかどう考えてもおかしい
0036デフォルトの名無しさん
2010/09/14(火) 00:11:17テキストを表示するのに必要な幅を知りたいので、
これをよこいっぱいに広がらず WinForms の AutoSize = true の
ような状態にしたいのですが、そのような設定ができるプロパティ
とかありますか?
現在は、StackPanerl(Orientation = Horizontal)の中にいれて
横幅いっぱいまでひろがらないようにしていますが、
そのためだけに StackPanerl を使うのは無駄なような気がして、
なにか方法あるんじゃないかと思ってるんですが。
0037デフォルトの名無しさん
2010/09/14(火) 00:16:54たしかにデザイナも使えないしやめたほうがいいかも
それでやってみます
0038デフォルトの名無しさん
2010/09/14(火) 00:20:05HorizontalAlignment/VerticalAlignment?
003936
2010/09/14(火) 00:52:41HorizontalAlignment プロパティは知ってましたが、WinForms と同じで
TextBlock 内で Text をどこに表示するかという意味だとばかり思ってました。
HorizontalAlignent でコントロール自体の大きさが変わるとは・・・。
勉強になりました。ありがとうございました。
0040デフォルトの名無しさん
2010/09/14(火) 00:59:56TextBlockにはないけど子要素をどう配置するかはHorizontalContentAlignment
HorizontalAlignmentは親要素に対し自分をどう配置するか
0041デフォルトの名無しさん
2010/09/14(火) 02:19:51コントロールが複数ならgeneric.xamlでマージする。
0042デフォルトの名無しさん
2010/09/14(火) 12:59:41特にテンプレートのサポート
中は泥臭くていいからコンポーネントの利用者には完璧なAPIを提供しろっていう
いかにもMSらしい思想を感じる
0043デフォルトの名無しさん
2010/09/14(火) 13:25:56テンプレートになかったら、自力で書くしかないね。
しかし XAML 使い出すと、フォームはもう使うことないわ。古臭すぎる。
0044デフォルトの名無しさん
2010/09/14(火) 13:36:370045デフォルトの名無しさん
2010/09/16(木) 01:48:180046デフォルトの名無しさん
2010/09/16(木) 01:51:51http://msdn.microsoft.com/ja-jp/library/ms752097.aspx
泥臭いよなー
マジどうにかしてほしい
0047デフォルトの名無しさん
2010/09/16(木) 01:56:34ttp://gun.world.coocan.jp/guns/shooting_re/031205hdd.htm
0048デフォルトの名無しさん
2010/09/20(月) 03:50:290049デフォルトの名無しさん
2010/09/22(水) 00:58:44TextBlock オブジェクトをたくさん作ってずらせば出来そうだけど
もっとスマートな方法あるよね。
0050デフォルトの名無しさん
2010/09/22(水) 01:25:24FormattedTextのBuildGeometryを縁取りをつけて描画。
http://msdn.microsoft.com/en-us/library/ms745816.aspx
小さめの文字ではあまり見栄えが良くないので使いどころに困る。
Effectでお茶を濁したほうが楽だろうなぁと思う。
0051デフォルトの名無しさん
2010/09/22(水) 01:30:50神だわ、マジサンクス!
0052デフォルトの名無しさん
2010/09/22(水) 02:00:260053デフォルトの名無しさん
2010/09/22(水) 02:12:200054デフォルトの名無しさん
2010/09/22(水) 02:43:00できた、ありがとう
0055デフォルトの名無しさん
2010/09/22(水) 23:34:42・ViewModelでチェック
・ModelをIDataErrorInfoの具象にしてModelで値のチェック
・ValidatesOnExceptionで入力値の型をチェックさせることもできたり
・BindingのValidationRuleでチェックさせることができたり
・ViewのDependencyPropertyにValidateCallbackでもチェックできたり
・ViewのDependencyPropertyにCoerceValueCallbackを登録すれば
(チェックではありませんが)入力値自体を正常範囲に丸めたり、不正な入力を蹴ったりできたり
と、色々な箇所にチェックを入れれるようで、どれをどういう場合に使えばいいのやらサッパリで…
0056デフォルトの名無しさん
2010/09/22(水) 23:57:53HasError とかに何を入れるかよね。
モデルに投げちゃう方式だと、モデルが WCF サービスでウェブ越しとかな時に困りそう。
最近多いのは、VM のプロパティに DataAnntations の検証属性つけて、
HasError とかの中では Validator.ValidateObject/ValidateProperty するだけとかかな。
O/R マッパーのエンティティクラスの方と2度手間になったりするんで、
T4 とか使ったコード生成で対処してる人もちらほら。
0057デフォルトの名無しさん
2010/09/23(木) 12:38:05上記のサイトを参考にwin.xaml実行したのですが、xpcom.dllがないってエラー表示されます
ブラウザはgoogle chromeを既定に設定してます。
xamlを動かすには何かランタイムが必要なのでしょうか?
net flamework4.0はインストール済みです
0058デフォルトの名無しさん
2010/09/23(木) 14:47:05ググってみたらFireFoxをインストールしてパスを通せばChromeで動くようになるらしいけど
そんなんで動いても意味ないでしょ。配布先にそんなことさせるの?
XBAPなんて完全に見捨てられた技術だからブラウザで動かしたかったらSilverlight使うべき。
0059デフォルトの名無しさん
2010/09/23(木) 14:57:09006058
2010/09/23(木) 14:58:14LooseXAMLといって、.NETが入ってればIEで直接開けるものもあるんだけど、
一般にはXAMLはそれ単体では動かない。VSでビルドしてアプリケーションに組み込まれて初めて動くようになる。
>>57の情報は古いのでこっち参考に
http://www.atmarkit.co.jp/fdotnet/chushin/introwpf_index/index.html
0061デフォルトの名無しさん
2010/09/25(土) 21:35:450062デフォルトの名無しさん
2010/09/25(土) 21:50:40StackPanelをOrientation=Horizontalにして使うんじゃ駄目なのか?
0063デフォルトの名無しさん
2010/09/25(土) 21:57:150064デフォルトの名無しさん
2010/09/25(土) 22:01:45http://msdn.microsoft.com/ja-jp/library/ms750821.aspx
0065デフォルトの名無しさん
2010/09/27(月) 23:43:160066デフォルトの名無しさん
2010/09/27(月) 23:56:250067デフォルトの名無しさん
2010/09/28(火) 00:00:210068デフォルトの名無しさん
2010/09/28(火) 00:10:590069デフォルトの名無しさん
2010/09/28(火) 01:06:130070デフォルトの名無しさん
2010/09/28(火) 01:37:150071デフォルトの名無しさん
2010/09/28(火) 02:03:20新しいってだけで思考停止しちゃう>>66みたいな第2のコボラーが荒らしに来るから普段は離れてROMってる。
0072デフォルトの名無しさん
2010/09/28(火) 08:10:13くい。コントロールのイベントやプロパティも覚えきれないほどたくさんあるけ
ど、肝心なところが「え!こんなこともできないの?」と抜けてることもあるし。リ
フレクションの多用で型の安全性が大きく損なわれてるのも. net frameworkの元々の
思想から大きく逸脱してる。
0073デフォルトの名無しさん
2010/09/28(火) 09:02:39IE以外でローカルで動かす方法は知らない。
LooseXAML: .xaml application/xaml+xml
XBAP: .xbap application/x-ms-xbap
Click Once: .application application/x-ms-application
Chromeもこれで動いていた記憶があるが今は環境がないので試せない。
silverlightでは不要なのでブラウザ上でいろいろやりたい場合はこっちのほうがいいかな。
0074デフォルトの名無しさん
2010/09/28(火) 09:21:51MIME の設定は、Silverlight の XAP に対しても必要よ。
0075デフォルトの名無しさん
2010/09/28(火) 09:42:06xapはプラグインがダウンロードするからMIMEの設定は不要。
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
<param name="source" value="xxxxx.xap"/>
MIMEの登録は間違って開かないようにとか、
他のアプリに使われないようにといった意味しかないと思う。
0076デフォルトの名無しさん
2010/09/28(火) 14:18:200077デフォルトの名無しさん
2010/09/28(火) 23:57:45デスクトップでいいものならやっぱフル版の .NET の方が楽なんだけどもねぇ。
0078デフォルトの名無しさん
2010/09/29(水) 03:23:29強化されて乱用されると複数のバインディングの動作順次第で処理結果が変わるなんて
トラブルが多発しそうで面倒見れないから
バインディングやxamlの処理を直接デバッグできるようにするとかを強化して欲しいなぁ。
0079デフォルトの名無しさん
2010/09/29(水) 12:41:11デバッグは本当に困るね。なんとかならないのかな。
0080デフォルトの名無しさん
2010/09/29(水) 13:10:17使ったらだめ
0081デフォルトの名無しさん
2010/09/29(水) 14:13:100082デフォルトの名無しさん
2010/09/29(水) 14:23:400083デフォルトの名無しさん
2010/09/29(水) 18:09:570084デフォルトの名無しさん
2010/09/29(水) 20:00:19SilverlightはLinuxサーバでも動かせるんでしたっけ?
0085デフォルトの名無しさん
2010/09/29(水) 20:11:41バカは死んでください。
0086デフォルトの名無しさん
2010/09/29(水) 22:22:21たしかに作業が分担になるかもしれないが、これでは、
『分担しなければ作れない』
になってしまうではないか・・・
個人でプログラム書くには向いてないねこれ。
0087デフォルトの名無しさん
2010/09/29(水) 22:24:07俺はもうFormsには戻りたくない
0088デフォルトの名無しさん
2010/09/29(水) 22:29:460089デフォルトの名無しさん
2010/09/29(水) 22:33:45http://kamome.2ch.net/test/read.cgi/newsplus/1285742248/
0090デフォルトの名無しさん
2010/09/29(水) 23:17:260091デフォルトの名無しさん
2010/09/29(水) 23:19:26ガワ作るのは楽しいけど、ほんとそれだけ
0092デフォルトの名無しさん
2010/09/29(水) 23:31:54.NET5にはようやく…
0093デフォルトの名無しさん
2010/09/30(木) 16:56:500094デフォルトの名無しさん
2010/09/30(木) 17:10:160095デフォルトの名無しさん
2010/09/30(木) 17:17:060096デフォルトの名無しさん
2010/09/30(木) 17:23:24そこから選択変更できるはず
0097デフォルトの名無しさん
2010/09/30(木) 17:43:03すみません、ListboxのItemContainerGeneratorのメゾットを使用して、
既に選択されている項目がクリックされたときに反応する方法がわからないのですが、どうすればいいのでしょうか?
0098デフォルトの名無しさん
2010/09/30(木) 17:46:51http://msdn.microsoft.com/ja-jp/library/system.windows.controls.listboxitem_events.aspx
>MouseDown
少しは検索しろよチンカス
0099デフォルトの名無しさん
2010/09/30(木) 17:51:40優しすぎて泣いた
ありがとん
0100デフォルトの名無しさん
2010/09/30(木) 18:33:000101100
2010/09/30(木) 18:33:42■ このスレッドは過去ログ倉庫に格納されています