1 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 19:31:37.96 ] ユーザーインターフェースシステム、Windows Presentation Frameworkについて微に入り語るスレ。 Visual Studio 2013 & 2012 & 2010 www.microsoft.com/visualstudio/jpn/downloads Microsoft .NET Framework 4 (Web インストーラー) www.microsoft.com/downloads/details.aspx?familyid=9CFB2D51-5FF4-4491-B0E5-B386F32C0992&displaylang=ja Microsoft .NET Framework 4 (スタンドアロンインストーラー) www.microsoft.com/downloads/details.aspx?familyid=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&displaylang=ja Microsoft .NET Framework 4.5 msdn.microsoft.com/ja-jp/library/vstudio/5a4x27ek.aspx 前スレ WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part16 toro.2ch.net/test/read.cgi/tech/1369912326/ 関連スレ Microsoft Silverlight その9 toro.2ch.net/test/read.cgi/tech/1321150267/ コードを貼る場合は以下のサイトの利用をお勧め。 run codeのチェックは外しておきましょう。 ideone.com/
2 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 19:36:31.77 ] https://dl.dropboxusercontent.com/u/150482979/2.swf
3 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 19:50:14.83 ] >>2 はグロ注意な
4 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 20:11:27.08 ] ↑ 君のその報告こそどうでもいい事なんだが
5 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 20:48:58.04 ] why?
6 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 21:46:19.11 ] 立てんなっていってんだろうがカス
7 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 21:59:58.99 ] すっかりアンチが居着く様になったなあ
8 名前:デフォルトの名無しさん mailto:sage [2013/11/12(火) 01:34:36.30 ] DataTriggerって定数と一致する時のみなの? もっと自由な比較がしたいんだけど
9 名前:デフォルトの名無しさん mailto:sage [2013/11/12(火) 01:44:11.31 ] IValueConverterとか使えば自由に比較できるよ
10 名前:デフォルトの名無しさん mailto:sage [2013/11/12(火) 02:14:44.95 ] >>7 程よいアンチはメジャー技術の証し
11 名前:デフォルトの名無しさん [2013/11/12(火) 09:59:23.64 ] 超重いデータバインディング処理のGUI反映完了を知る手段ってありますか? ListBoxカスタマイズしてサムネイル一覧表示してるんだけど ObservableCollection<BitmapImage>に入れた後 処理が帰ってくるまでフリーズするんだよねぇ
12 名前:デフォルトの名無しさん mailto:sage [2013/11/12(火) 11:12:48.30 ] 完了タイミングを知るより処理を軽くする方が正しい気がする。サムネイルなのに画像でかすぎとか更新イベントとびまくりとか何か要因あるんじゃない?
13 名前:デフォルトの名無しさん mailto:sage [2013/11/12(火) 11:50:33.28 ] >>10 初期は誰も居なかったのに、ずいぶんと人が増えたものだ
14 名前:デフォルトの名無しさん [2013/11/12(火) 11:55:59.89 ] >>12 個数が何百もあって、最初はconverter経由でサムネイル化もバインディングでしてたけど、あまりに重いからサムネイル化はスレッドでやってあとからBitmapImageだけバインディングしたけど、結局ListBoxへのItem追加(バインディング)が遅かった ListBoxにサムネイル入れるのが間違ってるのかな、、、
15 名前:デフォルトの名無しさん mailto:sage [2013/11/12(火) 23:22:55.51 ] >>14 個数を減らした場合の結果はどう?意図せず UI の仮想化を無効にしてない? msdn.microsoft.com/ja-jp/library/cc716879.aspx
16 名前:デフォルトの名無しさん mailto:sage [2013/11/12(火) 23:30:48.91 ] >>11 単に仮想化がかかってないだけの気がする。 ListBoxはデフォルトのままだと仮想化されてなかったような。
17 名前:デフォルトの名無しさん mailto:sage [2013/11/12(火) 23:55:40.82 ] ItemsPanelに何使ってるの? StackPanelじゃないとVirtualize効かないぞ WrapPanelとか使ってるならItemSize指定しないと死ねる
18 名前:デフォルトの名無しさん mailto:sage [2013/11/12(火) 23:57:12.91 ] 正確にはVirtualizingStackPanel使わないと、だな
19 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 00:06:06.85 ] 何にせよちょっと情報が足らんな できればListBoxの部分のXAMLだけ貼ってくれ
20 名前:デフォルトの名無しさん [2013/11/13(水) 09:47:03.13 ] ありがとう!勉強なったよー <ListBox.ItemsPanel> <ItemsPanelTemplate> <WrapPanel ItemWidth="120"/> </ItemsPanelTemplate> </ListBox.ItemsPanel> ItemsPanelはTemplateでWrapしてました ノーマルで使う場合は仮想化が標準で利いていて問題がなかったもよう 見た目をWrapPanel風にしたいんだけどVirtualizingWrapPanelってないのか...
21 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 09:55:56.40 ] 自作か外人の作ったの使うか
22 名前:デフォルトの名無しさん [2013/11/13(水) 10:01:26.48 ] codeproject見つけました、めんどくさそ笑 素直にVirtualizingStackPanel使うしかなさそうですね
23 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 16:05:32.68 ] >>16 いや、ListBoxは標準で仮想化ですよ。逆にそれが原因でトラブったから間違いありません って事で、バインディングされているプロバティーのgetで読み込まれたタイミングでサムネ作ればなんとかなるかも
24 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 16:51:59.67 ] 4.0以降のDataGridで20行とか行数を固定にしてコントロールの縦幅に合わせて行の高さや 文字の大きさを調整するとか簡単に出来る方法無いかな?
25 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 19:01:01.76 ] >>23 > って事で、バインディングされているプロバティーのgetで読み込まれたタイミングでサムネ作ればなんとかなるかも 仮想化が無効になってるんだから、意味ないと思うけどな。 素直にVirtualizingWrapPanel実装したほうがいいんじゃない? 最初は面倒だけど、これが実装できるようになると、 実現できることの幅がぐっと広まるよ。
26 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 19:04:36.54 ] こんなもん実装しておけよって思ってしまう 不思議だなあ
27 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 19:09:13.84 ] そのうち標準で実装されるかもね。 VirtualizingStackPanelですら 4.5でやっとまともになったって段階なんで WPFの歩みは皆が思っているより相当遅い。 俺たちのWPFはこれからだ!
28 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 19:22:44.36 ] 6週ごとのリリースサイクルにしろよ 阿鼻叫喚だぜ
29 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 19:30:23.60 ] > 俺たちのWPFはこれからだ! 打ち切り?w
30 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 20:41:03.10 ] リスト系とかDataGridとかカラムの高さを変更しても中の文字とかサイズに追従してくれないけど そういう場合ってどうやったらフィットさせられるのかな。ViewBoxイチイチ仕込むしかない?
31 名前:デフォルトの名無しさん mailto:sage [2013/11/13(水) 22:07:54.87 ] >>25 いや、ListBoxは標準でVirtualizingStackPanelが包括してあって、VirtualizingStackPanel.IsVirtualizing="false"とすると はじめて仮想化が切られるようだ BringIntoViewがまともに動かず苦労したが(仮想化が有効だからItemが生成されていないため)仮想化を切ったら普通に動いた
32 名前:デフォルトの名無しさん mailto:sage [2013/11/14(木) 21:06:06.79 ] DataGridにバインドしたDataTableのデータの内容によって、セルの背景色を変えたいんですが、どうすればできるのでしょうか?
33 名前:デフォルトの名無しさん mailto:sage [2013/11/14(木) 21:24:03.95 ] CellStyle作ってDataTrigger使えば行けるんじゃねえの
34 名前:デフォルトの名無しさん mailto:sage [2013/11/14(木) 22:31:03.00 ] Livetの人のページが見られなくなってるけど何なのこれ
35 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 00:20:12.28 ] >>34 業務連絡はTwitterでやってください
36 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 01:02:39.74 ] どんな業務よ
37 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 09:15:09.39 ] フレームワークを使ったこと無いんだけどどれがオススメ?
38 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 10:13:18.84 ] 自作。割とマジで
39 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 10:45:40.49 ] 自分の好みに合わせて最終的に自作になるという話は分かるけどさ、それは他のを 触ってみて初めて到達できる境地だと思うんだよね。 まずは基本のPRISM使ってイラっとするところからじゃないかなw 俺も最初悩んで日本人作ってるしとLivetが良さそうと思ったんだけど資料が なすぎで選定落ちしたw あれはMVVMやWPFわからん人には多分無理だと思う。
40 名前:デフォルトの名無しさん [2013/11/15(金) 13:19:01.57 ] ReactiveUI一択
41 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 14:07:57.62 ] え、えむえふしー…
42 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 16:53:56.83 ] ダメだ、UserControlが複雑に重なりあうとBindinggroupがまったく機能しなくなる しゃーないから自分でClone実装して似たような事してるわ
43 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 19:43:36.25 ] Xamlの読解性って最悪じゃないですかね? HTML%2bCSSの方がよっぽどマシなんですが
44 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 19:46:27.79 ] >>43 その%2bってなに? 機種依存文字?
45 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 19:57:02.04 ] じゃあRIAのHTMLだけ見てレイアウトを想像できるのかと
46 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 04:07:03.87 ] LooseXAMLが、HTMLに取って代わる時代とか来て欲しかったなあ もう無理だろうけれども
47 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 10:34:05.11 ] なあにXAMLは既にHTMLの代わりになってるじゃん IEだけだけど
48 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 10:36:54.57 ] 所詮専用設計されたものじゃないので無理があるほうが逆に自然
49 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 15:06:36.39 ] Bindingの方法が何通りもある理由ってなんなんでしょうか 下々がWPFを理解し辛い理由がこのBindingなんすよね ひとつこれが正しいですってMSDNで解説してくれてれば迷わないんですが ケースごとの使い分けとか解説してないですよね だからググっても人によって行く通りもバラバラの解説で更に迷うみたいな
50 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 15:16:08.24 ] 何通りもあるってどういうこと? 拡張マークアップのことを何通りもあると表現しているのか? できれば何通りかサンプルURLでも貼ってくれるといいな
51 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 15:37:15.99 ] まあテンプレートバインディングなんかはそうだし、プロパティパスの書き方が プロパティの型名を入れる書き方とそうでない書き方があったりどか、そういうのはあるね。 あとBindingに限らないけど、WPFってこういうの結構多い気が togetter.com/li/63245 やっぱりWPFもXAMLも筋が悪いよな全体的に
52 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 15:46:35.47 ] TypedTableBase<T>はIEnumerableが付いてるからリンク先みたいな状況は滅多に発生しない
53 名前:デフォルトの名無しさん [2013/11/16(土) 15:51:55.36 ] WPFややこしいとか思ってたがインターフェースビルダーの方が意味不だったわ(´・ω・`)
54 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 15:57:44.81 ] しかもXcode4.7と5であまり互換性がないという
55 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 16:00:48.95 ] Macの話は止めろ どうせ使わん
56 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 17:47:27.32 ] WPFは機能面や構造面を見ると十分採用圏内なんだけど メンバーへのトランスファーを意識するとどうしたもんかと思ってしまう
57 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 18:11:15.05 ] >>51 しかも、MS自身がこういうドキュメント化されてしない仕様を把握しきれてないね。 そのせいで、コントロールの組み合わせ次第でレイアウトが崩れたり、 VSで問題ないコードがBlendでエラーを引き起こしたりとか、 ボロボロだよ。
58 名前:デフォルトの名無しさん [2013/11/16(土) 19:52:14.97 ] 問題点を整理した上でRazorを拡張して Webアプリとネイティブが両方同じ方法で作れるようになったら 大逆転あるで
59 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 19:54:47.90 ] そもそもなぜxamlとaspxを分けたんだろ・・・
60 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 20:14:49.39 ] Silverlightのためだろ そんくらい察しろ
61 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 20:22:48.77 ] M$はAppleの真似やめてM$ Acountは無料にしろよ WPやWin Storeアプリなんて誰が金払ってまで作るんだよw 売れたら30%手数料でいいだろ、M$ごとき落ち目がAppleと同じ目線で商売すんな >>58 Xamlでネイティブ・WP・WS・WebのUIをマルチで作れるなら逆転あるわ
62 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 20:44:37.66 ] おじいちゃんは黙ってデスクトップにしがみついてれば いいだろう無理するな
63 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 20:56:19.80 ] >>61 本当は、そのWebの部分をSilverlightでどうにかするハズだったんだよなあ iPadの出て来たタイミングが、マジで癌だった 後3年くらい遅けりゃねえ
64 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 21:05:42.45 ] WebはバイトコードDOMみたいな世界に中々いけないな
65 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 23:37:39.59 ] 拡張子が.xamlのWebページって一度も見掛けた事ないな まあ有っても困るんだけど LooseXAMLを流行らせようと思ったら、 IEが大きなシェア率を占めていた時代にやらなきゃ駄目だった
66 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 00:53:57.37 ] おい、NaNってなんやねん! Width,HeightはNaNでActualは0返しやがる、どうやったらサイズ取得できんねん! ホンマWPFは地獄やで!
67 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 03:54:46.28 ] WPFバグ多すぎ、しかもよくわからんバグがある ColorのGとBがある条件下だと逆になるとかどういう設計なんだ
68 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 04:25:47.78 ] There is no design, only WPF.
69 名前:デフォルトの名無しさん [2013/11/17(日) 11:13:05.47 ] >>63 いまならSilverlight on javascriptとかいけんじゃねーの。 コンパイラスイッチでILがjavascriptに変換される感じで。 まぁ実際作ったりはしたんだろな。でモサモサすぎてオクラになってる予感
70 名前:デフォルトの名無しさん [2013/11/17(日) 11:16:04.16 ] >>66 あー俺もストアの方だがRichEditBoxのDesiredHeight取りたいんだが取れたDesiredHeightも0でマジファックですわ(´・_・`)
71 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 11:21:18.97 ] 中間コードをJavaScript化しても、あまり意味無い気がする SLで(xamlで)作ったGUIをWebブラウザ上で表示するには、SLプラグインが必要な訳で SLプラグインが動く状況なら、SLに中間コードを実行させりゃ済む話だからなあ LooseXAMLで良けりゃIEはSL不要だが、他のWebブラウザに対応する事を考えるとSL必須だし
72 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 11:27:13.28 ] つか、Silverlightは元々JavaScript使える SL1.0の頃はむしろ、JavaScriptしか使えなかった マネージコードと比べて出来る事は非常に少ないが、 あのAPI群を拡張出来ない訳は無いんだよな
73 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 12:05:06.79 ] RIAプラグインはSilverlightもFlashも、モバイル界隈から嫌われてるからな こればかりはしゃーない iOSは一貫して非対応、(サードパーティ製のFlash使用可能ブラウザとかはあるけど) AndroidもFlash対応を謳ってたのが、非対応に方針転換 WindowsPhoneチームでさえ、プラグイン類の搭載に否定的 デスクトップ界隈では、まだしばらくRIAプラグインの需要はあると思うが 今後どうなってくんだかな
74 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 15:56:10.34 ] >>70 ホンマなんやねんな! Actual、Desired、NaNとかイミフや!! WinFormsにBitmapEffectとAnimationClock実装されればWPFなんてつかわんわ!!
75 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 15:57:32.30 ] 残念 すでにメンテモードなWinFormsには されないんです
76 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 15:59:13.44 ] それとWPFウィンドウを透過したらWindow Form Hostまで透過処理されるバグさっさと直せ!
77 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 16:54:32.06 ] Hostの上にコントロールを置けないのを直してほしいわ
78 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 19:38:39.39 ] 直そうと思ったけど、問題がありすぎてだめでした(・ω<) 詳しくはconnectを見てね
79 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 19:41:01.93 ] URLくれ 酒の肴にする
80 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 19:51:26.74 ] >>68 Ghostbustersか いつの日かWPFも亡霊と呼ばれる日が来るだろう
81 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 20:56:15.91 ] ストア・アプリもXAMLなんでしょ? 酷すぎてHTML5+JScriptの方が流行るかもしれないけど
82 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 20:57:34.24 ] ストアアプリなんて「出さないとそれなりのダメージがある」人しか作ってないような
83 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 22:19:47.29 ] vs2013で initcomponents での例外が出て参った 普通のビルドでは問題ないのにバッチリビルドで100%発生 どうもg.csのコンパイルがおかしい感じ
84 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 22:24:19.97 ] ばっちりビルドと読んでしまったw 首釣ってくる
85 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 00:35:37.45 ] >>83 文字列リソースをVSのデザイナの出力そのままでBindingしてない? 私はそれで糞ほど嵌ったから参考になれば。今はExtension書いて回避してる。
86 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 03:37:54.68 ] >>77 上におけないどころかScrollViewerとかはみ出るとか実用度にかなり疑問を感じるよね
87 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 06:47:44.95 ] >>84 俺もだw
88 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 07:20:41.27 ] >>85 お、書いてる書いてます 確かに落ちる部分はresorceがらみのよう bind方法が悪いのですか、ちょっといろいろためしてみよう
89 名前:デフォルトの名無しさん [2013/11/18(月) 07:39:44.90 ] >>71 いや、要はそのプラグインごとjavascript化して動けばいいと。 技術的にはいけると思うけど遅そう(´・_・`)
90 名前:デフォルトの名無しさん [2013/11/18(月) 07:44:06.01 ] >>74 必要サイズ計測用に作りたてのでやったら0だったけどダミーで貼り付けた奴だと取れた。なんざんしょ。 でも自分はフォームに戻ろうとは思わんなー
91 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 08:07:22.10 ] >>89 HTML5のCanvasを使えば、出来なくは無い…のかねえ でも、HTML5はDataGridがお蔵入りになるレベルだからな
92 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 09:27:03.05 ] >>91 それは比べる対象違うダロ
93 名前:ガスライティングで検索を! [2013/11/18(月) 10:21:33.82 ] カルト宗教団体は、信者や敵対者に対して組織的な嫌がらせを行い マインドコントロールしなければ組織を維持、拡張することができません そのため、証拠を残さず、訴えられないように、ターゲットを集団で威圧、監視し、嫌がらせを行う「ガスライティング」という手法が必要なのです カルト教団がどのように信者のマインドをコントロールしているのか知って下さい [ガスライティング 集団ストーカー カルト]などで検索を! ...
94 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 20:31:55.16 ] >>90 どこかのヘルプでWPFでは入れてるコンテナとか次第で勝手にサイズ調整するから云々というのを 読んだ記憶がある。GridやらDockPanelやらStackPanelやら複合で駆使している時点で良く分からん。 こういう内部的に○×してて外からアクセスできるプロパティからいじれないというのは多い気がする。 とはいえ、俺も今更Formsに戻る気はしない。
95 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 21:01:17.21 ] 0とかNaNになるのはタイミングが悪い だいたい参照が早すぎる ロジックとVisualは別々でうごいてる
96 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 23:45:38.13 ] DataGridTemplateColumnにDataTableの列をバインドしたいんですが、 DataTemplateを外出しにした場合はどうやるのでしょうか?
97 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 23:52:17.46 ] 外だしってのはどっかのResourcesに入れたってこと? まあ別にそれで何が変わる訳でもない
98 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 00:10:25.85 ] DataTemplateはどこかのリソースに入れてます。 <DataGridTemplateColumn CellTemplate={StaticResources キー} Binding={Binding 列名}/> のようにしようとしたんですが、Bindingを指定できないみたいで、質問しました。 どういう感じに指定したらいいのでしょうか?
99 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 00:20:46.89 ] あーそれね。 どういう感じにも指定できないから。 DataTemplateの中に直接Bindingを書いてね。 書き終わったら↓に行って「使えねーなカス」って報告しといて。 connect.microsoft.com/
100 名前:333 mailto:sage [2013/11/19(火) 00:44:57.14 ] VとVMのどっちに書けばいいんだ?って多くないっすか? 例えばComboBox ItemとかXamlに書いた方がいいのかVMで書いた方がいいのか 結論からいえばMVVMってVとMの粗結合が目的っすよね? そのためのVMだからVとVMが密結合になるのってどうしようもないと思うんですが
101 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 00:52:21.20 ] Presenterなんだから明らかにV要素です
102 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 12:45:35.96 ] >>100 役目を理解、判断できてないだけ。 なんか自分の無知を棚に上げて批判するやつ多いよなぁ。 まぁ、でもさ。ルールに縛られるのが一番阿呆らしいよ?書きやすいように書くのが 正解だと思う。同じものができるならルールに縛られて冗長なコード書いて生産性 下げるより多少メンテナンス性落ちても生産性上がる方が現場向き。 美しいとかなんとかはアカデミックな連中に任せておけば良い。 最後はそのバランスだし人に正解を求めるものではない。
103 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 12:55:13.14 ] ×書きやすいように ○メンテしやすいように
104 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 13:17:00.78 ] >>102 何当たり前のこと言ってるの? と言いたい所だけど・・・MVVM関連はルール重視に偏りすぎてるので こういう当たり前のことを再確認したくなるね。
105 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 13:50:57.25 ] >>100 XAMLで書いたら固定になっちゃうから、 東西南北とか十二支、星座とか、 選択肢がほぼ固定なもの。Enumでも定義できるようなのは XAMLで書いてもいいとは思う。そういう場合くらいしか使わないな。 選択肢の内容が毎日のように常時変化するなら、 VMのコレクションにバインドする方がいいね。
106 名前:デフォルトの名無しさん [2013/11/19(火) 14:08:52.91 ] >>104 その当たり前のことをわかってないレスに対して言ってるんだろうが。
107 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 14:29:13.41 ] この項目にはこれらの値しか入らないってのがVMレベルまでの仕様なら 場合によってはXAMLに全部書いちゃってもいいと思うよ さすがにDBに入れる値を制限するとかだとXAMLに書くのはゴミカス設計と言わざるを得ないが
108 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 14:50:02.25 ] >>94 WPFのレイアウトは、設定できる範囲が多すぎるため 複雑なことも出来るんだが、どうすればどうなるってのが理解し難くてね この前RowDefinitionのHeightをBindingしたんだが、うまく行かずに 同じものをコードビハインドでいじったらうまく行ったり
109 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 19:20:24.66 ] MVVMと言えば、 www.atmarkit.co.jp/fdotnet/chushin/wpfsluipattern_02/wpfsluipattern_02_01.html この記事のサンプルでViewの「次へ」ボタンのキャプションの文字列を(ステートに応じて変えるために) VM側に持たせてるのはやっぱり変だと思うんだけどどう思う?
110 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 19:23:28.00 ] 変だと思うよ
111 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 19:34:23.06 ] >>99 まじかよ・・・ ってことは、同じDataTemplateを再利用するなんてほぼ不可能じゃねえか
112 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 19:48:12.70 ] まだ君は地獄の門の前に立っているに過ぎない 希望を捨てる覚悟はありますか?
113 名前:デフォルトの名無しさん mailto:sage [2013/11/20(水) 08:24:00.59 ] >>111 DataGridTemplateColumnにバインド設定することは、 XAMLだけでは多分無理。 コードビハインドでは一応可能だよ。
114 名前:デフォルトの名無しさん mailto:sage [2013/11/20(水) 11:46:32.03 ] >>113 どうやるか教えてください。
115 名前:デフォルトの名無しさん mailto:sage [2013/11/20(水) 12:13:56.12 ] >>114 ここの質問1の回答参考にしてみて social.msdn.microsoft.com/Forums/ja-JP/48b27166-64ac-4a83-a13a-c03106421c72/
116 名前:デフォルトの名無しさん mailto:sage [2013/11/20(水) 16:47:03.32 ] >>103 メンテナンス性って幻想だと思う。というか「ルールに縛られてないで」の意味が わかっていないからそんな突っ込みするんだよな。 そもそもメンテナンスし続けて10年動かすプログラムをWPFで書いている奴が どれだけいるのやら・・・。
117 名前:デフォルトの名無しさん mailto:sage [2013/11/20(水) 20:00:03.48 ] Modelさえ綺麗に隔離されてれば正直VCだのVVMだのはごりごりでいいよね
118 名前:デフォルトの名無しさん [2013/11/20(水) 20:30:29.83 ] >>117 出来ればVMはViewがなくても動いてくれるとユニットテストできて助かります。
119 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 00:07:46.72 ] >>117 VとCって厳密に切り離せるの? ほとんどの場合VがCを内包しちゃってるよね Vに全く依存してないCってSmalltalkくらいでしか見たことが無い
120 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 10:42:05.69 ] そもそもMVCってのがVに線を引くとか四角を塗り潰すとかしか機能がなかったころの残滓だからな
121 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 12:36:23.86 ] お昼の質問 ListViewのソースにobservalcollectionをバインドしています 1秒ごとに要素を追加したいので Model内でループして1秒間隔でコレクションに追加しています 所が描画はModelの処理が終わるまでされません DoEvents相当の処理を間に入れてやると1秒ごとに表示されますが WPF的にはどのように実装するのが正しいのでしょうか
122 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 15:03:06.08 ] >>121 ループじゃなくてタイマー使えよ
123 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 21:05:53.01 ] VとVCを完全に切り離すって相当しょっぱいUIとデザインなんでしょ? だってVのイベントやロジックはVCに書くのにどうやってVとVC切り離すの?
124 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 21:07:16.56 ] (うわぁ)
125 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 21:42:05.01 ] (頑張ろう)
126 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 21:45:05.68 ] (結婚しよ)
127 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 22:47:24.15 ] VCって何の略? ボイスチャット? バーチャルコンソール? ビタミンC?
128 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 23:02:57.23 ] ベトコン
129 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 23:08:12.19 ] べんちゃーきゃぴたる
130 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 23:13:57.66 ] Visual Cが出てこないとか
131 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 23:24:00.61 ] ありえんよな
132 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 10:57:04.09 ] VS2013 C# WPFアプリ実行時InitializeComponent内でXamlParseException例外が発生してしまう件について調べてみた。困っている人いると思うのでメモついでに貼っておきます。だれかMSに通報してください。 発生する条件 ・ソースコードがまったく同じでも発生することを確認 ・リビルドしたときに発生する ・リソースをStaticResourceでバインドしていると発生する? 回避策 ・いちど例外が発生する該当xamlファイルを修正(当たり障りの無い部分を消して)ビルドして、修正箇所をUndoして再ビルドすると回避できる 原因 問題なく動作するときと例外が発生する場合のobj構築に以下の差異発見 ・***.FileListAbsolute.txt ***.csprojResolveAssemlyReference.chach ・***_MarkupCompile.lref ・GeneratedInternalTypeHelper.g.cs 上記の中を見ると、どうもリビルドで作成した場合に各部参照の整合が取れていない様子 このせいでexe等バイナリ系がすべて違う内容になり、結果として実行時エラーがでるよう
133 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 12:18:41.04 ] xaml関連はそんなんが多すぎる。xamlで文句タレてきたら、最初から信用してないから VS閉じて開き直したり、なんか一通りやってそれでも出るなら調査開始するw
134 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 14:01:29.99 ] >>132 自分でConnectあげろよ
135 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 14:55:17.62 ] >>133 俺も何か変なこと起きたらVS落として中間ファイル全部手で消してから全コンし直す。 メインは2012だけど、この環境でうまく解釈してくれないものも2013だと問題ないし 開発環境として着実に進化はしてるんだと思う。
136 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 18:46:08.52 ] とてもプログラマー板とは思えない書き込みだらけのこの板、このスレッド。 何も得るものなどない。煽り、叩き、馴れ合いしか能のない住人達。 これが今の日本のIT産業の現状なのですね。 せめてこの板の住人が、リアル厨房だらけであったことに望みを託して、私は この板を本日限り去ることを決心いたしました。皆さん、がんばって勉強して 立派な大人になってください。さようなら。
137 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 18:49:02.74 ] コピペでも狙ってんの? VIPの方がオススメ
138 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 02:05:23.08 ] なんで自作カーソル扱えないんだろ
139 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 04:57:45.42 ] UI描写が内部的にDirect X2Dとベクターで描写されてるだけでWPFそのものの表現力なんてゴミじゃん 作ろうと思えば作れるとその機能を既に持ってるでは話が違うだろうと なーんもないんだよWPFは、これで使って欲しいって馬鹿じゃねーのと
140 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 13:44:56.87 ] wpfは簡単に見た目を変えられるから、デザイン凝りたい時は十分使える でもな完成度がイマイチなんだわ
141 名前:デフォルトの名無しさん [2013/11/29(金) 14:45:14.06 ] つーてももっと完成度高いフレームワークある?
142 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 15:07:30.58 ] あったらPart17までスレが続くわけがねぇ
143 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 16:41:20.22 ] Sonyのスマートフォンのスレなんてまだ発売されてないのに20スレまで行ってるぞw
144 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 17:07:13.07 ] なんかこう、属性が違くねーか…wpfでどうwktkしろってんだw
145 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 17:29:47.66 ] 日本で売っても成功しないの判ってるから 無駄に戦わず見捨ててるのかもな
146 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 19:33:56.43 ] Windows Phoneが頑張ればShilverlight for WP経由でWPFも賑わうのにな
147 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 20:20:47.64 ] Modern UI for WPF使ってる人います? Nuget経由でインストールするとVSにこれのプロジェクトテンプレートが追加されると思うんだけど、 このテンプレートで作ったプロジェクト、俺の環境では必要なdllへの参照設定がされてない状態で 作成されるんだけどこういうもの?
148 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 15:47:50.23 ] DataGridのBindingで <CheckBox IsChecked="{Binding Path=bool1, Mode=TwoWay}"/> と <DataGridCheckBoxColumn Binding="{Binding Path=bool2}"/> ってどう違うんですか? public class bool_container { public bool bool1 { get; set; } public bool bool2 { get; set; } } というようなクラスのboolを変更したいのですが、bool2のほうは更新されるのですが bool1のほうは見た目のチェックは変わるのですがbool_container内の値は変わりません diag:PresentationTraceSources.TraceLevel=Highも試してみましたがよくわかりませんでした
149 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 17:49:25.04 ] 今バインドでthis.DataContext %3d hogeかxxx%3d{Binding}しかわからなくて使ってないんだけど 個別にバインドしたいときってどうしたらいいんでしょうか 変数のように(Xaml)<button content%3d{Binding hoge} /> (C#)hoge %3d 1; みたいな
150 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 17:50:12.72 ] なぜかイコールが%3dに化ける・・・
151 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 18:57:42.87 ] >>150 ==157cm 普段の行い?
152 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 23:35:12.32 ] >>149 ButtonにもDataContextがあるから、そこにオブジェクトを放り込めばいい
153 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 06:02:46.30 ] 個別にするならSourceに指定するのが基本だな DataContextは同じものへのバインドを使いまわす時に 親のコントロールで一度だけ指定して済ませるためのもの
154 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 16:18:15.44 ] マウス以外のデバイス制御を行っているのですが SendInputとかWindows自体を操作するのではなく マウスのルーティングイベントを意図的に発生させる方法はないでしょうか? ImageにMouseLeftButtonDownを持たせて指定座標にImageがあればMouseLeftButtonDownを発生させたいです。 ご教授よろしくお願いします。
155 名前:154 mailto:sage [2013/12/05(木) 18:56:31.90 ] msdn.microsoft.com/ja-jp/library/ms171548 (v=vs.110).aspx ここに書いてるようにすれば・・・と思ったけど WPFでは出来ない?
156 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 19:40:54.47 ] System.Windows.Forms.MouseEventArgs mea = new System.Windows.Forms.MouseEventArgs(System.Windows.Forms.MouseButtons.Left, 1, 120, 120, 0); System.Windows.Forms.Control.OnMouseClick(mea); OnMouseClickはアクセスできない保護レベルになっています・・・ってなんだよー!
157 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 19:51:09.74 ] ちょっと何いってんのかわk(
158 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 19:56:14.62 ] >>157 すみません。 WPFでマウスイベントをシミュレーションしたいのですがコードの書き方がわからず 調べてるうちに>>155 にたどり着いたのですが、実際コードに起こしてみたのが>>156 なのですが、 エラー 5 'System.Windows.Forms.Control.OnMouseClick(System.Windows.Forms.MouseEventArgs)' はアクセスできない保護レベルになっています。 と出て結局出来ませんでした。 WPFではマウスイベントのシミュレーションはできないのでしょうか?
159 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 20:43:16.15 ] WPFなのにSystem.Windows.Formsとはこれいかに?
160 名前:デフォルトの名無しさん [2013/12/05(木) 20:49:44.29 ] 仕事なのか趣味のプログラムなのが気になる(´・_・`)
161 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 20:50:51.09 ] >>154 ルーティングイベントを起こすなら UIElement.RaiseEvent を使う
162 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 22:01:13.98 ] >>160 趣味なら他人が教えようとしても自力で調べるだろ。
163 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 22:08:29.06 ] MVVMでビヘイビアやトリガーをXAMLに書く必要があるのが高すぎる敷居に思える コードビハインドでまずFormsから移行させていつPrismに行くか…
164 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 22:28:50.00 ] ビヘイビアとか面倒くさすぎるわ ユーザーコントロールじゃダメなの?って思ってしまうわ
165 名前:デフォルトの名無しさん [2013/12/05(木) 22:57:21.83 ] 掲示板を自分の感想を述べる場所だと信じている人がいるんですよね。 しかし、最近の研究で、そうではないことがわかってきたんです。
166 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 23:07:08.82 ] 日記帳とも違うはずなんだがな
167 名前:デフォルトの名無しさん [2013/12/05(木) 23:26:03.31 ] 便所の落書きですよ 本気で流行らそうとしてないよね VB6切ったみたいにWinForms切ればいいのに
168 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 23:28:22.52 ] ふかのうです
169 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 23:38:33.76 ] WinForms切ったらWindowsマジで終わるぞw 既にスマホ・タブのモバイルでは開発環境として人気も魅力ゼロだからな WinForms捨てるってことは業務システム捨てるってことと同義だろ、WPFなんてグリッドすらまともに使えなくてサードのツールパックないと話にならねー 俺から言わせればさっさとWPF捨ててWinFormsを進化させろと MVVMでユニットテストが楽(笑とかどうでもいいわ、その他の部分で効率がガタ落ちになる
170 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 23:54:41.85 ] 何でこのスレ来たの?
171 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 00:06:35.07 ] あんまり言われないけどWPFの2DのグラフィックってGDI+より分かり難いしパフォーマンス悪いし、 いいとこないよねw もうちょっと何とかならなかったのか
172 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 00:11:21.92 ] 具体的にConnectで教えてやれよ 俺はもうあきらめた
173 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 04:47:50.15 ] >>169 現場PG「WPFの完成度が80パーセント?冗談じゃありません。現状でWPFの性能は100パーセント出せます。」 主任「グリッドすらまともに使えない。」 現場PG「あんなの飾りです。偉い人にはそれがわからんのですよ。」 主任「使い方はさっきの説明でわかるが、WPF私に使えるか?」 現場PG「主任の能力は未知数です、保証できる訳ありません。」 主任「はっきり言う。気にいらんな。」 現場PG「どうも。気休めかもしれませんが、主任ならうまくやれますよ。」 主任「ありがとう。信じよう。」
174 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 15:11:28.37 ] >>169 モバイルはXamarinあるからイケる!!
175 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 15:42:18.25 ] まぁ、がんばれ
176 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 17:55:11.16 ] シェイプ4万個出しただけで劇おもぷんぷん丸なんだけど
177 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 18:01:03.54 ] 5千個ぐらい3Dポリゴン出しただけでがくがくしだすから当たり前だろ
178 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 18:11:56.22 ] >>174 >>>169 >モバイルはXamarinあるからイケる!! Xamarinのサブスクリプションは高くて制約多すぎるから流行らんよw 残念
179 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 18:20:28.81 ] たぶん使ったこともないような奴が行けるとか言ってると思うの、あれは
180 名前:デフォルトの名無しさん [2013/12/06(金) 18:49:28.74 ] >>178 会社だとあれぐらいの値段は余裕。 今ガチで使ってるけど色々トラブルはあるけど使えるというか、iPhoneと泥、窓向けに別々に作るとかもうありえん。
181 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 18:53:14.76 ] 窓向けは余計だろう 需要ないもん
182 名前:デフォルトの名無しさん [2013/12/06(金) 23:59:16.19 ] >>181 それを判断するのはお前じゃない(´・_・`)
183 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 01:12:50.00 ] WPFやってるとクマができる 気のせい?
184 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 11:01:51.17 ] 気のせい
185 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 15:41:47.43 ] クマってなんだ。馬鹿馬鹿しい制約を自分に課して寝不足にでもなってるんかw
186 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 20:50:34.83 ] 毎日8時間くらい寝てるけど、クマが消えないわ SEの宿命なのかね?女の子は可哀想だ
187 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 22:11:50.23 ] 鮭取ってくるまで育てたらいい
188 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 22:13:37.08 ] ホーリーランドごっこすれば気にならなくなるさ
189 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 03:38:15.75 ] 杭全
190 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 22:50:46.60 ] 久しぶりに自作アプリ立ち上げたら文字がにじむようになった 一体どのタイミングでおかしくなったんだろ?
191 名前:デフォルトの名無しさん mailto:sage [2013/12/10(火) 12:02:58.44 ] >>190 RotateTransformでも設定してるんじゃない?
192 名前:デフォルトの名無しさん mailto:sage [2013/12/11(水) 19:36:02.58 ] >>190 ディスプレイごとに拡大率変えたりしてたりしない? Win8.1からのPer Monitor dpiの設定をしてると、WPFアプリでもDPIスケーリングがかかってボケボケになることあるよ。
193 名前:デフォルトの名無しさん [2013/12/14(土) 23:48:57.29 ] ProgressBarで動きが妙なんですが、原因がどうもわかりません。 xamlでは以下のように定義。 <ProgressBar x:Name="bar" Height="20" Minimum="0" Maximum="100"/> サブスレッドなどは使わずにButtonクリックで単純にValueを更新させるんですが、 Dim max As Integer = 10000 For i As Integer = 0 To max Dim d = CDbl(i) / CDbl(max) * 100 If bar.Value <> d Then Me.Dispatcher.Invoke(Sub() bar.Value = d End Sub, Windows.Threading.DispatcherPriority.Loaded) End If Next 0〜8まではバーが動くんですが、そこから表示が更新されず、ループ終了と同時に100に更新されてしまいます。 Windows8 + VisualStudio2012の環境では普通に動作してたんですが。 試しに Windows7 + VisualStudio2010で動かしてみたら上記のようなことになってしまいちょっと困ってます。
194 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 00:03:36.56 ] >>193 酷いコードだな... 何がしたいのかさっぱり分からないが、UIスレッドのループの中で表示プロパティを 連続して変化させても表示が追従するわけがない。
195 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 00:09:14.79 ] 95の時代から同じことやってるが未だに浸透してないんだよなこの手の話は
196 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 00:47:03.48 ] >>194 Windows8では動作するんですが、あなたの常識では追従するわけないんですね
197 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 02:15:37.44 ] 逆切れかよ馬鹿だね。 だいたいUIスレッドでDispatcher.Invokeって意味分かって使ってるのか。
198 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 02:34:06.84 ] ほんなわけあるめえ 大体バージョン違って同じ動作する保証なんて誰がしてるってんだ 花畑かよ 春爛漫だなって感じ
199 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 02:39:16.23 ] UIスレッドと描画スレッドって別じゃなかったっけ
200 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 02:43:02.52 ] この話で描画スレッドが介在する余地はどこにもない UIスレッドでDispatcher.Invokeを呼び出してUIスレッドで値をセットしようとしてるんだから
201 名前:デフォルトの名無しさん [2013/12/15(日) 09:02:28.93 ] >>200 いやここで言ってるのはいわゆるUIスレッド建てるとそれに併せてシステム的な意味での描画スレッドが一対一で作られるよねって話だと思うが。 確かそうだったはずだがそこら変の挙動疎いのでだれかよろ。
202 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 09:23:38.73 ] > UIスレッド建てるとそれに併せてシステム的な意味での描画スレッドが一対一で作られる 当然、それを知ったうえで、 > 描画スレッドが介在する余地はどこにもない って言ってるんでしょ。 俺も同意見。 違うと思うなら、だれかよろじゃなくて、自分で反例を出しなよ。
203 名前:193 [2013/12/15(日) 09:40:44.91 ] Windows.Threading.DispatcherPriority.Loaded を Windows.Threading.DispatcherPriority.Background にすれば動作します。 でもなぜBackgroundだと動くんだろ。だれかわかる人います? Invokeは同期処理ですから、優先順位をRender(6)より低く設定してInvokeすれば表示更新が優先処理されると理解してたんですが。
204 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 09:52:50.55 ] >>194-195 よう、老害! メッセージループに戻るまで表示は更新されない。 95時代の常識で考えるとそう思うよな。 だが違うんだよ。俺も試して驚いたが。 >>193 のように、この動作に頼るのはまずいが、 過去の常識に囚われてると、原因不明の画面ちらつきとかを引き起こしそうだ。
205 名前:193 mailto:sage [2013/12/15(日) 10:04:13.57 ] >>204 すいません、このコードに頼るのはまずいと承知してるんですが、Dispacherの動きを理解したくてこんなことやってます。 ググると疑似DoEventsの実装サンプルみたいに紹介されてるんですよね。
206 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 10:05:05.83 ] >>203 WPFにはUIスレッドでの処理が滞ってると、表示更新の優先度を下げる機構がある。 その、優先度が下がるタイミングが>>193 のバーが8の時だったんだろう。 > Background にすれば動作します。でもなぜBackgroundだと動くんだろ。 優先度が下がった後の表示更新より、さらに低い優先度だからじゃないかな?
207 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 10:06:53.72 ] Windows8では起きないって事は、 この優先度を下げる処理は廃止されたのかもね。 正直俺も余計なお世話だと思ってたし。
208 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 10:12:06.19 ] WPF名物、もっさりスクロールの原因でもあった
209 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 10:18:17.42 ] >>206-207 ありがとうございます。なるほど優先順位が途中で変更されるんですか。 ヘルプを読んでても全然そのへん読み取れなかった。もう少し自分でも調べてみます。
210 名前:デフォルトの名無しさん [2013/12/15(日) 10:26:38.34 ] >>202 なんでお前は敵対心丸出しなの? おれはこんなのもなかったっけ?っていってるだけなのに。 お前が老害なのか知らないけどストレス溜まってるのか?
211 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 11:06:47.27 ] >>197 この人のDispatcher.Invokeの意味ってのを聞いてみたいw
212 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 12:52:36.91 ] ループのたびにプログレスバーを更新するのも考えものだね 1000回ループなら10回毎に更新とか普通に組む
213 名前:212 mailto:sage [2013/12/15(日) 13:14:46.44 ] あ、悪い。いつもの自分のやり方と違っていたから勘違いしたわ
214 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 17:08:38.03 ] >>193 メッセージングのお勉強が足りない ブロックしてる間にUIいじってもだめよ
215 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 18:49:08.62 ] >>193 なんでブビ厨がこのスレきてんの? え?同じ.NETで同じWPFだから? 一緒じゃねーよksが!wwww
216 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 19:24:14.35 ] >>193 のレベルが高すぎてほとんどついてこれるやつが いなかったようだ 恥ずかしいなw
217 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 19:28:34.24 ] 確かに >Dim d = CDbl(i) / CDbl(max) * 100 とか笑いのレベルが高すぎてC#専には伝わらんだろうな
218 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 19:36:44.06 ] 本当の笑いどころは最初から言ってるようにUIスレッドのループの中でUIをいじってるところだけどね。 老害とか言ってる奴がいたけど、むしろ>>217 みたいな「テクニック」は 大昔の8bitやPC-98のBASICで使われていたもので、老害を攻める相手を間違えてるとしか思えん。
219 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 19:50:12.75 ] 別にC#専じゃないけどね、VC/VC%2b%2b、JavaScript、Pythonも書くし それでもブビは仕様でVBA書くときくらいだな、さっさと滅んで欲しいが VBAが消えなくとも他の選択肢、具体的にはJavaScript/Pythonが使えればまともな技術者ならみんな喜ぶと思うよ?w
220 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 20:53:39.08 ] (別にスレッドを立ち上げて、その中でいじってるんじゃないのこれ・・・)
221 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 22:47:00.89 ] >>218 つか「Dim d = CDbl(i) / CDbl(max) * 100」のdはDoubleになるから 次の行の「If bar.Value <> d Then」が必ず真になって 10000回すべてinvokeが呼ばれているな 更新が追いつかない原因はココだろ
222 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 23:01:02.87 ] PregressBarのValueってDoubleじゃなかったっけ?
223 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 23:11:55.02 ] >>222 いや「If bar.Value <> d Then」は、前回のdと今回のdを比較 つまり 「d = CDbl(i) / CDbl(max) * 100」と「d = CDbl(i+1) / CDbl(max) * 100」の比較になるから dがdoubleだから常に真
224 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 23:18:47.74 ] ああ、そりゃそうか 本質的なところはキューに溜まり過ぎて処理がおっつかなくなってたってところでいいのかな
225 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 23:49:44.58 ] いや少なくともそこが本質じゃないからw UIスレッドでループを回してアニメーションをさせるって発想そのものが根本的に間違ってる。 プログラムで間引いて(ウェイトをかけて)タイミングを調整するとか、いつの時代のテクニックだよw
226 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 00:33:53.70 ] wait ではなくね?w OnPropertyChanged が必ず走っちゃうよ みたいな話だろ こういう判定はするべき。そもそも論は別にして
227 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 01:01:48.24 ] そもそもナンセンスなコードだから意図する仕様もコードから完全には読み取れないけど、 0から100まで1/10000ステップで変化させるというのは、たぶんタイミング調整のつもりなんでしょう。 実に間抜けとしか言いようがないけど
228 名前:デフォルトの名無しさん [2013/12/16(月) 01:26:52.88 ] 結局ループから抜けてないのに描画されるのはなぜよ?って話はどうなったん? 抜けてないつもりでもなんか抜けちゃってるの?
229 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 01:33:41.66 ] WPFはUIスレッドとレンダリングスレッドが別だから
230 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 03:01:05.69 ] ここってひょっとして馬鹿しかいないの?
231 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 03:17:42.88 ] そうだよ
232 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 04:09:47.35 ] そもそもUIのプログレスを更新したいのにTask、せめてBackground Wokerを使おうと思わない頭の悪さがVBerだな〜w 考えられないがそこまで辿り着けなかったとしてもアニメーションさせたいなら何故Timerを使わないのか その昔VBのTimerが糞すぎてブビ厨はTimerを使わずにwhile(true)DoEvents();でループさせるコードを量産した そして現在も今時小学生でも書かないような糞コード書く・・・ ブビ厨ってなんで学習しないの?仕事から帰って家でなにやってんの?プログラミングの学習しないの?せめてGoogleさんで逆引きしないの?
233 名前:デフォルトの名無しさん [2013/12/16(月) 04:39:19.89 ] >>229 んじゃやっぱり上で更新するわけないと言ってたのは老害決定でいいのか。 >>232 その老害認定された人?そのせいでふぁびょってるの?
234 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 04:42:45.71 ] なぜそこまで辛辣な物言いをしようとするのかがわからない 上を見れば切りがないし下を見ても同じで、自分を絶対的な基準にして 少しばかり自分より後から学んでいる人を萎縮させたがる精神状態は そもそも自分自身のコンプレックスによって 引き起こされているのでは無いだろうか
235 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 05:40:27.96 ] 別に分からなくていいだろよ お前には関係ない はい。この話は仕舞いな。
236 名前:デフォルトの名無しさん [2013/12/16(月) 06:05:55.83 ] なんか頑なにUIスレッド内では表示更新しちゃダメって言い続けてる人がいるなw できるんだからダメもクソもないだろうにwww
237 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 07:41:24.78 ] 今回びっくりしたのは、windows8が割とちゃんとしているということ こんなコードでも動いちゃうんだな(10000回も更新して)
238 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 08:11:01.39 ] せっかくWPFなんだからアニメーション使おうぜ。 一々ループで小刻みに画面更新しなくても、このアニメやっといて、と指定するだけで後は放置だよ。 以前、TriggerでProgressBar変化させるAction作ったけどその時のコード参考に載せとくわ。 durationで設定した時間をかけて、ToまでProgressBarのValueを変化させるアニメーション。 DoubleAnimation da = new DoubleAnimation(To, duration, FillBehavior.HoldEnd); Storyboard.SetTargetName(da, "実際のプログレスバーの名前をここに指定"); Storyboard.SetTargetProperty(da, new PropertyPath(ProgressBar.ValueProperty)); Storyboard sb = new Storyboard(); sb.Children.Add(da); AssociatedObject.BeginStoryboard(sb);
239 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 08:15:04.04 ] ちなみにこのコードだと、処理の進捗状態とかを示す ProgressBar本来の使い方には向かない。 処理本体が重くても軽くても、非同期で ProgressBarだけ指定した時間で変化しちゃうからね。 このコード使った時は、ProgressBarを全く違う用途に使う場面だった。
240 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 09:11:58.13 ] >>236 そもそもBindingがUIスレッドで表示更新しているんだから、それが出来なかったらWPF自体成立しませんw
241 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 09:29:23.49 ] 久しぶりにC#でGUIプログラムを作ろうと思ったら WPFなんてのが出てたんだな。 Windowsフォームは過去の遺物になっちゃったの? 今C#でGUIアプリを作るならWPFで正解?
242 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 09:57:58.83 ] >>241 デザイン性求められてないならWinForm、 求められてるなら仕様変更を促してWinForm
243 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 09:59:24.91 ] WinFromsのWin32API由来の制限がうざいと思うならWPF、 特に困ってないならWinFormsだな。 WinFormsでできることをするなら、 生産性やプログラム動作速度はWPFよりWinFormsの方が良い。 WinFormsは過去の遺物だが、WPFも放置気味なので WPFに期待してるとがっかりするぞ。
244 名前:241 mailto:sage [2013/12/16(月) 10:09:33.41 ] よくわからんけど2〜3年様子みれってことかな。
245 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 10:18:21.48 ] WPFは覚えることが多いから、お気楽プログラミングには向いていないが 凝ったことやりたくなったら重宝するよ
246 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 10:24:10.77 ] >>244 その認識で問題ない。 2〜3年後だったら、デスクトップ版WinRTも形になってるだろうしね。 デスクトップ版WinRTの状況次第では、WPFは完全にお払い箱になる。
247 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 11:45:22.95 ] >>244 前スレにも出てたヤツ↓ www.infoq.com/jp/articles/Win8-LOB-Options 使う使わないは自己責任で
248 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 18:57:53.29 ] Bindingとコントロールの合成の2点で採用する価値がある MVVMは頑なにコードビハインドを否定してるのが意味不明 デザイナーなんて居ないことのが多いのだから学習曲線を急な勾配にする価値がない
249 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 19:02:08.70 ] 頭の固い変な人(あるいはバカの一つ覚え) が否定してるだけでMSの大元のMVVMに関するコラムでは何も言ってねえけどな お前も気にしなくていいぞ
250 名前:デフォルトの名無しさん [2013/12/16(月) 19:32:38.96 ] >>248 別にMVVMはデザイナーを分離するためじゃねえだろ Viewん薄くするのは健全だと思うけどね
251 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 19:33:54.78 ] ageて書くようなことか
252 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 19:35:38.16 ] >>240 その批判はBindingが内部的に(長い)ループの中でプロパティを操作しているのでなければ成立しない。 馬鹿じゃないの。
253 名前:デフォルトの名無しさん [2013/12/16(月) 19:35:43.47 ] ビューン
254 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 19:51:06.09 ] Viewを薄くするのはいいが、 それを実現するために、薄くした以上にViewModelが肥大化したら意味がない。 ViewとViewModel、どちらに書けばシンプルで短いコードになるか考え、 適切な方を選べばよい。 何も考えずに「コードビハインド無しで実装できた!」とか喜んでるのは・・・ 目的と手段が入れ代わってると思うね。
255 名前:デフォルトの名無しさん [2013/12/16(月) 19:54:13.19 ] 目的と手段が入れ替わると・・・楽しい!
256 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 20:00:24.00 ] だよな!趣味ってそういうことだよな!
257 名前:デフォルトの名無しさん [2013/12/16(月) 20:53:10.69 ] >>254 ViewModel使う目的は関心ごとの分離とユニットテスタビリティだろうからそれ行けるならファットになるのもいいとは思うけど。適当に分離すればいいし。 けどコードビハインド避けてViewを薄くするためにファット化するとかだったら意味ないのは同意。好きにコードビハインド書け。 大事なのはテストされたVMの挙動を単純に表示に変えるぐらいの薄さになってればいい。
258 名前:デフォルトの名無しさん [2013/12/20(金) 21:27:32.98 ] .NET4.5のDataGridについてなんですが 検証処理するとき以下のようにValidatesOnDataErrors=Trueにして、チェックはIDataErrorInfoで行うようにしました <DataGridTextColumn Binding="{Binding Data1,ValidatesOnDataErrors=True,NotifyOnValidationError=True}"/> そうするとエラーが解消されてもValidation.Errorsにエラーが1個残ったままになるんですが これ使い方間違ってますか?
259 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 21:56:30.05 ] >>258 エラーを解消した後、IDataErrorInfo.this[columnName] が呼ばれてるかチェックしてみれば? Binding 経由でプロパティを変更した場合は勝手に呼んでくれるけど、 それ以外から変更した場合は INotifyPropertyChanged も実装して、エラーが解消したプロパティを通知せんとダメよ。
260 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 23:00:58.51 ] >>259 ありがとうございます。 エラー解消後に何も入力してなければIDataErrorInfoは呼ばれてません Binding経由以外ではプロパティは弄ってないんです。どうも変な動きしてるんで他のコードは全部削除してみました 試しにValidation.AddErrorHandlerを使ってエラーのAdd/Removeを見てみたところ Addが3回、Removeが2回みたいにRemoveされる回数が少ない、何を言ってるのかわからねーと思うが俺も何をされてるのかわからなかった状態です 後、妙な動きがもう一つ。 DataGridTextColumnのValidationRulesとかConverter例外とかでエラーが発生した場合は他のセルに移動できませんよね これがIDataErrorInfoでエラーを起こした場合は他のセルに移動できてしまう、これは仕様なんだろうか、なんか統一性ない
261 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 00:22:07.78 ] >>260 IDataErrorInfo が呼ばれてないのは、エラー要因のインスタンスと、エラー元のインスタンスが別とかじゃない? Binding 経由で呼ばれるのは入力先のインスタンスだけだから。 INotifyPropertyChanged を実装して、エラー解消時に更新を通知してやれば消えるはず。やってみては? あと、後半のは意図した仕様だよ。 例外やコンバートに失敗した場合だと、Binding 先のモデルへの set に失敗している→エラー対応はビュー側の責任 IDataErrorInfo の場合は set は成功している→エラー対応はモデル側の責任
262 名前:デフォルトの名無しさん [2013/12/21(土) 11:16:34.22 ] <Grid.ColumnDefinitions> <ColumnDefinition Width="100*" /> ←「1つ目」とします <ColumnDefinition Width="100*" /> ←「2つ目」とします <ColumnDefinition Width="200*" /> ←「3つ目」とします </Grid.ColumnDefinitions> としてGridを配置しており、 親のWindowの ResizeMode プロパティを CanResize にしています。 親WindowのMinWidthは400です。 このときにウィンドウを横に広げると 1:1:2 の比率で広がっていきますが、以下の動作にする方法が ありましたらご教授願えますでしょうか。 ・ウィンドウ(初期値の横幅400px)を横に広げていったとき、 1つ目:120px 2つ目:120px まで広がった場合は、上記のpxで幅が固定され、 それ以上にウィンドウの横幅を広げた場合は 3つ目のみ広がっていく、ということをやりたいです。 よろしくお願いします。
263 名前:262 mailto:sage [2013/12/21(土) 11:19:21.90 ] うわぁぁ、すみません。 ColumnDefinition に MaxWidth プロパティがありました。。。
264 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 16:41:49.30 ] Global Hookしたキーコードを書き換えられないようで、SendInputも調べましたがどうも難し過ぎて手がでません LL APIだと難し過ぎるんで素直にWPFコントロールを継承してイベントをoverrideしてるんですが、今度はbaseに渡すKeyEventArgsがReadOnlyとかなんなんですかこれ、嫌がらせですか・・・ なのでKeyEventArgsインスタンス生成時にKeyを渡せたので安心したら今度はbaseに渡すにはRoutedEventArgsがほにゃららとかマジ糞すぎて泣きそうです KeyDownで押されたキーを渡さずに指定のキーを渡す方法を知っていましたら教えてください
265 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 16:54:55.50 ] > SendInputも調べましたがどうも難し過ぎて手がでません とか言ってないで基礎から勉強しなおせ。 SendInputは簡単な方だぞ。 もっともっと難しい方法ならあるが、それ以上簡単な方法なんて無いって。
266 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 16:56:06.72 ] あっち書いてこっち書いて全部レス返し無しとかなに考えてんの
267 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 16:56:57.54 ] 場当たり的にやってるからしょうがないね
268 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 16:57:28.80 ] そりゃあ糞人間だな
269 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 18:48:00.66 ] 解決しました 実装書ける人が一人もいませんでしたね さようなら糞PGさんたち^^
270 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 18:52:20.83 ] 今は、これが、精一杯
271 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 19:27:52.48 ] 期待する方が間違ってる
272 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 18:11:22.89 ] 適切な学習方法がわからん 2年触ってるけど学習効率が極端に悪い
273 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 18:13:05.83 ] バインドの種類が多すぎて使い分けがわからん XAMLに色々手を入れすぎて失敗してる気がする
274 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 18:14:01.65 ] 普通のバインドとマルチバインドの2種だろ
275 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 19:13:45.83 ] XMLってのがそもそも筋が悪いんだよな Jsonと違って定義が厳密すぎるんだよ HTMLもそうだがマークアップなんてゴミだよ しかもStyleやTemplateやResourceがJsやCSSと違ってめちゃめちゃ面倒くさくてどうしようもない どうせならJs+HTML+CSSでStoreだけじゃなくデスクトップもウェブも統一したらええねん
276 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 19:15:40.23 ] ValidationRulesもマークアップ拡張に書けるようにしてくれれば、後は特に不満もない
277 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 19:17:16.97 ] 定義が厳密なのはエディターとの親和性を考慮したんだと思うが Blendが全く普及しなかったからね・・・
278 名前:デフォルトの名無しさん [2013/12/22(日) 19:38:46.82 ] >>277 使いこなせてないが、MSの人が使ってるの見て使えればかなり生産性高いのは分かった。
279 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 19:40:59.41 ] HTML+CSSはHTMLのフロードキュメントをCSSで魔改造しているだけだからレイアウトエンジンとして筋が悪い
280 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 19:44:45.42 ] そもそもBlendって単語が久しぶりに出た気がする 一つ前は>>57 か・・・
281 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 00:58:17.09 ] 流れぶった切って悪いんだが、ちょっと相談に乗ってくれ DataTemplate使った画面遷移してるんだが、画面遷移を繰り返すと、 繰り返す度にViewが生成される関係でViewに紐づいたTriggerActionが 暴発するんだ どうやら、 1:View1とView2が交互に入れ替わるとき、View1orView2内にItemsControlで View3が表示される 2:View3にはActionTriggerが書かれている って言う条件下で発生するっぽいんだが、解決方法がわからん 誰か分かる奴居たら頼む 最少再現コードというか、再現プロジェクトは↓ www1.axfc.net/u/3122746?key=wpf
282 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 06:42:43.74 ] 気持ち悪いノリだな。
283 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 10:45:54.77 ] よくこんなノリで書き込むよな。 誰も解決に協力しないだろこんなんじゃ。 (別にそれでもかまわねーぜ!であるなら、そもそも書き込むなよと思うし)
284 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 11:25:22.90 ] >>281 InteractionRequestTrigger より ViewModel のほうが生存期間が長いから、 ViewModel の InteractionRequest に古い InteractionRequestTrigger からの参照が残ったままになってる。 (古い参照が削除されないまま、新しい View が作成される度に、イベントへの参照が追加されてる)。 解決には ItemView.Unloaded で DataContext = null しておけば良い。
285 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 12:31:48.55 ] >>284 ホントありがとう >>282 >>283 すまんな。このスレの空気読み切れてなかったわ。
286 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 12:32:26.31 ] いやそもそも喧嘩腰な方が悪いから
287 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 14:21:46.69 ] 喧嘩腰…?
288 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 18:54:14.52 ] このスレで一番喧嘩腰のレスは>>2
289 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 17:09:41.78 ] リソースディクショナリって入れ子出来ない? コントロール1つ配置してControlTemplate と Style の2つの辞書つくって ControlTemplate辞書からStyle辞書のリソース見るようにして コントロールにControlTemplate反映させたんだけど Styleの内容が反映されないんだよね。 ControlTemplate辞書内に<ResourceDictionary x:key="hoge" Source="style.xaml"> なんて記載してみてもだめ。 ControlTemplate と Style を1つの辞書に書くと問題ない。 Blendにコード生成させたのに「解決できません(キリッ」てなるwww
290 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 17:13:39.50 ] ResourceDictionary の入れ子は不可。ResourceDictionary.MergedDictionaries 使ってマージする。
291 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 17:45:09.40 ] 要は結果的に辞書は1つじゃなきゃアカンてことな。外部参照はマージしなきゃ見えない。
292 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 18:19:02.18 ] >>290 入れ子不可、理解しました。 でもマージにして複数に分けてみたけど 「解決できません」が復活。 もちょっと触ってみます。
293 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 18:44:08.04 ] >>292 <Window.Resources>内で辞書定義してたけど App.xamlの<Application.Resources>内で定義するようにしたら エラー・警告もなくできました。 <Window.Resources>に置いていても Blendの「プロパティ->ローカルリソース」からは 辞書内のリーソスが見えてたので認識してるもんだと思ってました。 勉強代に20時間くらい払ってしまった。 >>290-291 ありがとうございました。
294 名前:デフォルトの名無しさん mailto:sage [2013/12/25(水) 01:36:01.33 ] >>293 プロジェクト直下に"Themes"フォルダ作ってその中に"Generic.xaml"っていう名前のリソースディクショナリを置いて、その中でマージするっていう手もあるぞ。 1アプリ=1プロジェクトならApp.xamlでもいいけど、もしスタイル適用対象のコントロールを別アセンブリ(DLL)に置くなら、 そのApp.xamlでマージできないし、"App.xaml"っていう名前のリソースディクショナリを置いても反応しないので、 そのときはこっちの方法しかない。 注意すべきはフォルダ名、ファイル名が固定だということ。 別の名前にしても反応しないから注意。 もしVSがPro以上なら「カスタムコントロール」プロジェクトを新規作成してみて。 プロジェクト直下に/Themes/Generic.xamlっていうリソースディレクトリがデフォで配置されてるから。
295 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 00:05:01.38 ] ResourceDictionaryって何に使うの? DataContextだけじゃダメなのか なんかWPFの壁=Xamlなんだよね ついついC#で全部書いちゃう カスタムコントロールもx:nameにしないとエラーとかイミフだし XamlもっとわかりやすくしてよM$
296 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 00:19:47.02 ] XAMLはWPFの壁というよりは基本中の基本
297 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 00:31:59.06 ] >>295 ResourceDictionaryを使うとローカライズするとき楽になる Window複数使っててスタイル共通にしようと思ったらResourceDictionary使うしかないし DataContextにスタイルやControlTemplateとか持てないでしょ、いや持てるけどやらないでしょ ・・・普通に使ってるよ
298 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 00:47:24.11 ] コードビハインドからCommand.CanExecuteを見に行ってもいいよね? 極力シンプルにおいしいとこだけ使うようにしないとチームから批判くらいそう
299 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 00:52:35.63 ] それならVMでコマンド用意する意味ない気がするけどね。 コマンドじゃなくて直接モデルのプロパティを見ればいいわけで。
300 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 03:04:25.42 ] >>295 「DataContextだけでスタイル設定まで済ます」っていうのは、 Webでいうところの「HTMLの各タグにいちいちStyles属性でスタイル設定する」だと思うんだ。 データの内容に依存しないスタイルならWebでいうところのCSS、 つまりリソースディクショナリのStyleTemplateに設定したほうがいいよね。 もちろんリソースディクショナリを使わずに、View内の各コントロールのStyleTemplateを設定してもいいけど。 ・・・どちらにしてもxamlは必要だけどね。 >>298 OKだと思うよ。 そのCommandをバインドしていないButtonの使用可否制御とかに使えるね。 俺ならCanExecuteの元メソッドの返り値をbool型プロパティにしてバインドするけど。 ただCommand.Execute()を生で叩くときは必ずCommand.CanExecute()で検証しないとね。
301 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 07:45:38.18 ] 普通にVMのメソッドを呼べばいい話だな OOPの作法的にはそれを呼び出そうとする側で実行できるかチェックするのもやめて チェックはそのメソッド内でやったほうがいい
302 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 12:42:55.37 ] というか無造作に必ずCommand.CanExecute()で検証とか言うアホの存在が レースコンディションで落ちるアプリを生む元なんだろうな if (cmd.CanExecute()) cmd.Execute();の条件判断と実行の間でコンテキストスイッチが発生して 状況変わることなんていくらでもあるだろうに
303 名前:デフォルトの名無しさん [2013/12/26(木) 12:53:08.38 ] というかその間に別スレッドから状態変更が起きる可能性があり、かつその際に落ちる可能性のあるようなプログラム書いてんじゃねーよ
304 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 13:08:01.03 ] それって別にCanExecuteに限った話じゃないし、 実行可否の判断ができないってことじゃねーか。どんな糞な作りしてんだよw
305 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 13:36:44.09 ] だからCanExecuteはそもそもUI上のグレーアウト表示とかの判断にだけ使うもの Execute呼んでいいかどうかの判断に使ってはいけない
306 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 14:17:00.64 ] リソースディクショナリの話があったので 拾い物グラデーション辞書でも作るかと思ってググったら geekswithblogs.net/Silverlight2/archive/2008/10/21/more-xaml-gradients.aspx ここくらいしか見つけられんかった。 ExpressionBlendだとphotoshopのgrdファイル読み込むプラグインあるらしい。
307 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 19:29:03.94 ] コードビハインドで確認しようがXAMLで確認しようがUIスレッド上で動くだけだろ 安全性についての明確な違いなんてあるの?
308 名前:デフォルトの名無しさん [2013/12/26(木) 21:51:50.83 ] >>307 だからそもそもCanExecuteで安全性チェックしちゃダメだって話なんだが(´・ω・`)
309 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:03:37.46 ] >>302 「ICommandの設計思想が糞」まで読んだ。 ってか、CanExecuteでの検証OK→Executeの実行の間では、 Execute実行の安全性は確保されるのが前提だろうに。 (おそらく)CommandManagerのほうもそれで動いてるんだろうし。
310 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:15:14.07 ] >>309 マルチスレッドのプログラムやったことあるのか?
311 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:17:36.66 ] 専用に何らかのフレームワークでも準備しない限りそんなの無理だろ
312 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:19:40.73 ] もともとICommandなんてざっくりしてるのにそんなもん要求スンナ WPFはどのタイミングでCanExecuteチェックしてるかも知らないんだろ
313 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:21:16.76 ] 何の話をしてるのかよく分からんが、とりあえず>>309 の話は正しいよ。 最後の行は何言ってるのか分からんが。 というか、Executeは基本、UIスレッドからであればいつ呼ばれても大丈夫(実際に処理を実行するかは 別として)なように実装しないとまずいんじゃないの?
314 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:24:54.70 ] CanExecuteはGUI様に簡易で用意されてる物 実際の実行可否は日帳に応じてExecute内でチェックするもの
315 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:26:12.27 ] タイプボロボロ CanExecuteはGUI用に簡易で用意されてる物 実際の実行可否は必要に応じてExecute内でチェックするもの
316 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:27:38.08 ] 非同期処理がガンガン書き換えるようなプロパティをバインドすんなが正解だろ コードビハインドでCanExcecute云々と全く関係ない話
317 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:28:12.75 ] >>310 マルチスレッドの各スレッドで同じExecuteを呼ぶのがそもそも間違ってると思う。 そのマルチスレッドそのものをラップしたExecuteを用意して、そのためのCanExecute、Commandを用意すべきでは?
318 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:29:33.83 ] 俺の移ったのかタイプがボロボロw CanExecuteなんてどれを参照してるかわからないのにどれをロックするんだ? だからマルチスレッドプログラムをやったことないんだろと言った
319 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:30:56.98 ] CanExecuteなんて1秒間も何度も呼ばれてるのにExecute実行まで何をロックするんだ? 答えてみ?
320 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:31:03.93 ] STAThread属性なUIスレッドは逐次処理だっての
321 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:35:16.30 ] Icommand自体はWPFのバインドとは何のかかわりもない CanExecuteが何を元に判定しているかなんてWPFは知らない しょうがないから適当なタイミングでWPFがCanExecute呼んで画面に反映してるだけるだけ 何度呼ばれているかカウントして表示してみたらいい 知らん奴は驚く
322 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:37:29.51 ] 的外れな内容でコーディングするよりコマンド使わないほうがいい
323 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:39:23.85 ] こいつUIスレッドが複数あるとでも思ってるのか
324 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:42:00.80 ] いつになったらUIスレッドと無関係だと理解するんだ? CanExecuteで判断する内容はMに依存していたとして コマンドからはMの更新を知ることができない だからWPFはInotify使えないで地味にCanExecuteを適当に実行してる
325 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 22:43:59.93 ] ワーカースレッドが裏でプロパティ書き換えない限り不都合なんてないだろ
326 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 23:16:42.43 ] ワーカースレッドでCanExecuteが変更されるなら、 CanExecuteChangedもワーカースレッドで呼び出されなければならない。 だが、UIスレッド以外からCanExecuteChangedを呼んで良い、という仕様は文章化されていない。 よって、この動作は不正。 CanExecuteの変更をUIスレッドにマーシャリングしてやる必要がある。 何が言いたいかっていうと、マルチスレッドkが〜とか言ってる奴が 一番マルチスレッドを理解していないって事だ。
327 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 23:24:55.85 ] 低レベル過ぎて泣ける 相手にして損した ugayaでもかずきでも好きな奴に相手してもらえ 鼻で笑われるだけ
328 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 23:27:20.07 ] > コマンドからはMの更新を知ることができない 知ることはできない、じゃねーよ。 お前が更新を通知する実装をさぼってるだけだろ。 可能なら通知を実装する、 通知がどうしても不可能なら、 CanExecuteは常にtrueにしておき、 Executeでは何も実行しないこともありうる、って仕様にすべき。
329 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 23:28:31.35 ] かずきはともかく、ugayaとかスレッドがわかってるつもりで 全然わかってない奴の代表格じゃねーか。
330 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 23:47:15.40 ] >>328 つか、ControlTemplateでしっかりグレーにするのが面倒になって、ついそういう仕様にしたりする
331 名前:デフォルトの名無しさん mailto:sage [2013/12/26(木) 23:53:26.46 ] 見た目の事? だったら、無効状態だと透明度を0.4位にするってのが簡単なのでよく使ってる。
332 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 00:00:08.19 ] 最近はどうでもよくなってUIのロックしなくなった
333 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 00:00:45.35 ] >>331 おお、そんなてぬ×素晴らしい方法があるとは 使わさせてもらいます
334 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 00:01:29.02 ] てぬ×って何!?
335 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 00:02:12.97 ] 手抜き
336 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 00:11:32.61 ] 無効にするんじゃなくて、○○という理由で処理を実行できません、ってメッセージを出す方が親切だよね
337 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 00:57:31.84 ] >>336 手抜きに独された意見かもしれないけど ユーザーは半透明は使えないって学習してくれる 見て無効かわかるし見えないよりは親切だと思う
338 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 01:00:35.85 ] てぬx誕生の瞬間を見た。
339 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 04:39:41.44 ] 手で抜いてもらうことか
340 名前:デフォルトの名無しさん mailto:sage [2013/12/27(金) 04:44:15.78 ] 流行らないし流行らせない
341 名前:デフォルトの名無しさん [2013/12/28(土) 07:23:34.04 ] XAML/WPF悪く無いとは思うんだけどねぇ… なんかスタイルが気に入らんのだなぁ… かといってWinFormsのバインディングも糞だし… 結局どっちがいいの?
342 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 09:24:24.36 ] 急にLivetつかったWindowがエラー出るようになったんだけど原因分かりませんか。 メインWindowは正常に表示されるが、他のWindowを表示しようとすると例外が発生します。(デザイン時は問題ない) メッセージ: 型 'LivetCallMethodAction' のインスタンスを型 'TriggerActionCollection' のコレクションに追加することはできません。型 'T' の項目のみが許可されます。 スタックトレース: 場所 System.Windows.FreezableCollection`1.Cast(Object value) 場所 System.Windows.FreezableCollection`1.System.Collections.IList.Add(Object value) 場所 System.Xaml.Schema.XamlTypeInvoker.AddToCollection(Object instance, Object item) 場所 MS.Internal.Xaml.Runtime.ClrObjectRuntime.Add(Object collection, XamlType collectionType, Object value, XamlType valueXamlType)
343 名前:342 mailto:sage [2013/12/28(土) 12:17:57.80 ] 理由はよく分からないけど原因のコードは分かった Livetを参照しているdllをAssembly.LoadFrom()で読んでると Livetを利用している他のWindowを表示すると例外が発生する 何これ
344 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 12:34:20.19 ] 複数のLivetが混ざってるんじゃないの DLL1とDLL2の両方で別々にLivetのソースを含めたりしてないか? もしそうならLivetを除去してLivetだけ別のDLLとしてコンパイルしてそれを参照する っていうかLivetなんか使うな
345 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 13:05:34.61 ] そもそも尾上のLivetが絶賛される出来ならM$がヘッドハントするだろ ソーシャルゲーなんて作ってる会社にいるってことはまぁそういうことだろ
346 名前:342 mailto:sage [2013/12/28(土) 13:07:41.04 ] >>344 あー。 そうみたいです。 loadするdllは別フォルダにあって、そこにもlivet.dllがあったのが問題でした。 つかっちゃだめですか。 お騒がせしました。
347 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 13:08:41.69 ] linuxを作ったライナスは今どこの会社にいるんだっけ?
348 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 13:11:07.52 ] 敷居の高さからかそもそも話題が少ない中で 広報活動してくれた子らが注目を集めちゃっただけ
349 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 14:17:11.22 ] なんか過去ログ見ると1年以上前から尾上に粘着してるのが何人かいるみたいだけど、 こういう奴って自分が他人からどう見えるのか想像できないのかね。 馬鹿じゃなかろうかと思うんだが。
350 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 14:25:36.99 ] 想像できないからやってるんだろうと想像できない人もレベルとしては大差あらへんよ
351 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 14:29:41.48 ] 想像できないからやってるんだろうと想像できないのではなく、 皮肉を言っているんだよ。通じなかったかな? 皮肉を理解するには高度な知的水準が必要だというし、仕方ないか。
352 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 14:34:09.91 ] Livetみたいなのって分かってる人が下の何も分かってない連中に使わせるもんで、 分からなかったら分かってる人にすぐ聞ける環境でないと意味ないんだよな 外野がソースだけ持ってきて>>344 みたいに問題解決しながら使えるんなら そもそも別に必要ない
353 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 14:34:11.19 ] お前349と別人だろ 似てない 釣りならもっと上手くやろうや
354 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 16:01:15.78 ] 少なくともGoogleやM$でバリバリ開発してる人はこのスレにこないことは確かだな
355 名前:デフォルトの名無しさん mailto:sage [2013/12/28(土) 20:34:08.83 ] MSはともかくとして、 GoogleってそもそもWPF使ってる製品あんの?
356 名前:デフォルトの名無しさん [2013/12/30(月) 09:35:41.22 ] xamlでのレイアウトについて質問です。 今、<StackPanel></StackPanel>の中に、 <Grid></Grid>を4つ配置しています。 各Gridは Hright = Auto、 VerticalAlignment = Stretch としているのですが、 一番下(4つ目)のGridの高さをStackPanelの下いっぱいまで の高さにしたいです。 AA崩れるかもしれませんが、以下のようにしたいです。 |StackPanel-------------┐ | ┌Grid1 -------------┐| | └------------------┘| | ┌Grid2 -------------┐| | └------------------┘| | ┌Grid3 -------------┐| | └------------------┘| | ┌Grid4 -------------┐| | | | | | | | | | | | | | | | | | | | | | └------------------┘| └--------------------┘ また、Grid1〜3はVisibilityをCollapsedにする ことも考えており、その場合でもGrid4はStackPanelの 高さいっぱいまで伸びて欲しいです。 どう記述すれば良いでしょうか?よろしくお願いします。
357 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 09:37:36.75 ] DockPanelかGridでやれ
358 名前:デフォルトの名無しさん [2013/12/30(月) 10:39:15.45 ] >>356 なんでStackPanelでやんのよ
359 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 11:00:08.94 ] 試したけどこんな感じで行けると思う dock stack top grid grid grid bottom
360 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 11:37:15.96 ] >>359 stack要らないと思うよ
361 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 11:44:00.17 ] あとBottomもいらん
362 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 11:46:26.29 ] 追加削除変更が楽だから使ってんだと思って残した 数量固定なら言われてるとおりイラン
363 名前:356 mailto:sage [2013/12/30(月) 11:51:30.07 ] >>357-361 ありがとうございます。 例えばGrid2をCollapseにしたときに Grid1のすぐ下にGrid3が来るように (Grid2以降の位置が上にずれる) する方法を調べたらStackPanelを使う方法が 見つかったので、それで実装しようと 頑張っていました。 今は出先なので、帰宅してから DockPanelで調べ直してみます。 ありがとうございました。
364 名前:356 mailto:sage [2013/12/30(月) 11:52:27.03 ] >>362 意図を汲み取っていただきありがとうございます。 提示していただいたやり方でやってみます。
365 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 12:00:33.81 ] 考えてみたら一般的な使い方だと上手くいかない 撤回する
366 名前:デフォルトの名無しさん mailto:sage [2013/12/30(月) 15:24:59.60 ] そういやRowDefinitionのHeightをVMから弄ったらうまく動かなかったんだが 同じコードをコードビハインドから動かしたら正常動作した アレは何だったんだろうな?
367 名前:356 mailto:sage [2013/12/30(月) 17:22:43.03 ] DockPanelとGridのみで出来ました。 ありがとうございます。
368 名前:デフォルトの名無しさん [2014/01/03(金) 21:28:41.04 ] Resoures.resxで文字列リソース TEXT_A = "項目" TEXT_B = ":" というリソースを定義しているのですが、 TEXT_C を定義するときに TEXT_AとTEXT_Bを参照することは可能でしょうか? やりたいこととしては、 xamlで <Label Content="{Binding Source={StaticResource resources}, Path=TEXT_C" /> と書きたいです。 C#のコードでTEXT_A + TEXT_B を設定することも出来ますが、 xamlで一発で書けたら良いと思っています。 よろしくお願いします。
369 名前:デフォルトの名無しさん mailto:sage [2014/01/03(金) 21:36:27.70 ] Binding.StringFormatでいいんじゃね
370 名前:デフォルトの名無しさん mailto:sage [2014/01/03(金) 21:38:55.33 ] 単純に2つTextBlockを並べたらいい Labelが使いたいんならLabel-StackPanel(Horizontal)-TextBlock×2
371 名前:368 mailto:sage [2014/01/03(金) 21:50:05.95 ] >>369-370 ありがとうございます。 まだまだ偏った考えしかできていなかったようです。 非常に勉強になりました。 (今回は>>370 さんの方法で書きました)
372 名前:デフォルトの名無しさん mailto:sage [2014/01/04(土) 02:59:15.59 ] そんなことで良かったんかいw リソースに設定するくらいだから複数個所から使いまわすのかと思った
373 名前:デフォルトの名無しさん mailto:sage [2014/01/04(土) 07:53:45.69 ] TEXT_AとBは複数箇所で使い回しているのですが その流れでCもリソース化しようとしていました。
374 名前:デフォルトの名無しさん mailto:sage [2014/01/06(月) 05:41:01.64 ] そもそも文字列をリソースにしてそこにバインドする必要あるの? VMに文字列型のプロパティ持たせてそこにバインドする方がよほど簡単だと思うけど
375 名前:デフォルトの名無しさん mailto:sage [2014/01/06(月) 21:42:08.37 ] いい加減Xaml捨ててHTML5にするか別のInterface Builder作って欲しいなー XMLってのが筋悪いんだよな、何故XHTMLが人気でないでHTML5が人気出たかって簡潔で扱い易いからだよ SGMLをスーパーセットに派生してもXMLやXHTMLはDTDが厳格すぎんだよね、ぶっちゃけ非常に扱い辛い Xamlも扱いが非常に面倒くさい、未だにWinFormsの人気が衰えないのは化石PGが○○とか関係ないよ
376 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 00:09:56.64 ] というよりも投資する価値に懐疑的というか。 MSもSurfaceだったり電話だったりでプラットフォーム広げるのに頑張ってはいるんだが…
377 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 00:16:25.43 ] ぶっちゃけwinformである程度のことができるからな 新しいものに移行する必要がまったくないんだわ OS側でサポートしなくならない限り亡くならないよ
378 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 00:30:24.52 ] wpfでも、winformでできることをやるなら大して面倒でもないしややこしくもない 挫折しそうな人は、グリッドやパネルのレイアウトだけ勉強して、イベントドリブンで組めばいいのにな
379 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 01:06:50.63 ] MVVMもイベントドリブンです
380 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 19:28:33.63 ] データドリブンじゃなかったの?
381 名前:デフォルトの名無しさん mailto:sage [2014/01/07(火) 23:17:08.16 ] ユーザーの入力はコマンドだから実質イベントだし モデルからMVVMへの通知もイベントで受けるんだから 一般的にイベントドリブン型と呼ばれる所以の部分はMVVMだからって特に変わりはないよ MSが宣伝文句としてたまに使ってるデータドリブンってのはデータが中心のアプリという程度の意味で イベントドリブンと対立するものじゃない
382 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 04:29:06.95 ] そもそもイベントドリブンって対話的プログラムって意味だろ だったら現代のプログラムでイベントドリブンじゃないモノなんて存在しないだろ
383 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 04:35:19.53 ] そのHTML5にしてもデザインやレイアウトはCSSに完全に依存 ドメインロジックやアニメーション等の動的な要素はDOMやJavaScriptに完全に依存 実際にマークアップは要素や属性の定義だけの最小限だしね その点XAMLは可読性の著しく低いマークアップでずらずら定義されるから筋悪いってのは同意 XMLとJSON比較してもJSONが人気なのは簡単で書き易いからだろうし
384 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 04:40:33.44 ] 378かが言いたいのは、VMとか用意せずにVだけで <Button Click="○○"> みたいな感じで Vのコードビハインドで直接処理書いちゃうみたいなので 全部済ませちまえってことだろ それだとWPF使う意味あまりないけどw
385 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 05:01:00.08 ] 意味ないっていうか絶対にフィージビリティは低いよね
386 名前:デフォルトの名無しさん [2014/01/08(水) 10:10:11.11 ] >>383 そこまでXAMLのアニメーションとか筋悪いかね。 コードビハインド一切不許可だとどうかとかは思うけど適度に織り交ぜていいならロジックも結構宣言的にかけていいと思うんだがなぁ といっても綺麗にかけるようになるまでの敷居がはるかに高いのは否定しないけど。自分も未だによく分からん(´・ω・`)
387 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 11:35:38.97 ] MVVMの有用性をWPFの利点として挙げるとして、 そもそもMVVMを実現する為にPrismやLivet等のフレームワークがほぼ必須な時点でおかしな話。
388 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 11:59:21.47 ] 誰も有用性なんか言ってなくね…?w 便宜上V、VMとかいう単語は出てるけど、ただのデータソースとxaml だと思えばいい。 良いとこは使えばいい的な。
389 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 12:35:49.98 ] 最近WPFの勉強を始めたんだけど、 例えば数万件のPointデータを元に絵を描画する場合でも データバインディングを使ったほうがいいの? まだデータバインディングってのがよく分かってなくて、 XAMLで記述するってのがすごい違和感あるんだけど。
390 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 12:50:04.69 ] office の差し込み印刷みたいなもんだと思えばいいw マーキングしてある部分に値が自動的に突っ込まれる。基本はそんだけ。 まぁ処理もバインドできるけどな。値の整形とかも。 つーか、一通り勉強した方がいい。依存関係プロパティとは!?レベルから
391 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 13:13:14.01 ] >>389 残念ならが、数万件のデータを扱えるほどWPFの性能は良くない。 最低でも、バックグラウンドでレンダリングし、レンダリング済みの画像を Bindingするデータとする必要がある。 リアルタイムで更新したいと思ったら、Bindingを使用しない生のWPFでも不十分で DirectXと連携する必要がある。
392 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 16:22:21.73 ] 昔なんかの記事でWPFアプリケーションは高DPIに完全に対応してるから拡大鏡で見るとフォントが最適なスケールでレンダリングされるとかあってへーと思った記憶があるんだけど 今Windows8.1で試してみたらレンダリング済みのフォントを拡大したようにしか見えないんだけどどういうこと?
393 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 17:25:06.16 ] TextOptions, RenderOptions, UseLayoutRounding あたりをいじった上で最適に見えないなら Windowsのアンチエイリアスがしょぼいってことだろうな
394 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 19:56:27.58 ] なんか8から8.1にしたら(恐らく誤動作で)ボケて表示されちゃうアプリが増えた気がする。
395 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 20:46:31.96 ] 8.1だとなぜだかボケる
396 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 20:51:25.87 ] textboxがよくぼける
397 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 21:15:02.14 ] ・ 拡大鏡で綺麗にレンダリングされない(>>392 ) ・ Windows8.1でぼける (>>394 ) ・ TextBoxがぼける(>>396 ) は全て別の原因によるものだよ >>393 は>>396 と少しだけかかわりがあるが、 >>392 と>>394 には全く関係がない
398 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 22:43:58.62 ] htmlがアプリケーションのプレゼンテーション言語として優れてるとは到底思えない
399 名前:デフォルトの名無しさん mailto:sage [2014/01/08(水) 22:53:29.38 ] HTMLが劣ってるんじゃない 処理系がクソなんだ
400 名前:デフォルトの名無しさん [2014/01/08(水) 23:30:18.70 ] >>398 別の用途のものをゴニョゴニョ拡張していまにいたってるしね。
401 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 09:05:51.49 ] Internetとデスクトップの統合!( ・`ω・´)キリッ
402 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 11:10:08.27 ] HTMLは良い CSS差し替えだけでレイアウトが大幅に変わる XAMLはそうもいかない
403 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 11:31:54.43 ] WPFはPresentationって名前が示す通りビューのフレームワークだからそこで大きなレイアウト変更を吸収する必要性がない まあリソース使えばなんとでもなるけど
404 名前:デフォルトの名無しさん [2014/01/09(木) 12:59:36.47 ] >>403 意味分からん。 >>402 自分も要素の定義とレイアウト、見た目は分離してた方が良かったんじゃと思う。より分離できるし。 まぁロジック的な要素もあるから難しいかなー
405 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 13:16:48.66 ] HTML+CSSって言うけどレイアウト計算の絡むところは全部JavaScriptにやらせるんでしょ?
406 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 13:21:53.63 ] WPFの勉強が嫌になってきた。 WinFormとC#で書けばやれることを何でわざわざXAMLで書かないといけないんだ?
407 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 13:28:16.97 ] WinFormで出来ないことをやるための練習
408 名前:デフォルトの名無しさん [2014/01/09(木) 13:30:57.79 ] >>406 まぁMSはこれから全部XAMLになるだろうしねぇ
409 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 13:43:38.15 ] WPFで作ってるけどXAMLは数行しか書いてない
410 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 13:47:04.84 ] WinFormのListViewがバインディングできてればWPFというかXAML系に手を出さなかったかもしれん
411 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 14:20:14.47 ] Formに出戻りしてListView仮想モードにしてDrawItemイベント時に ドット区切りのバインディング取ってくるようにしたわ 昔はCollectionをDataTableに変換してた
412 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 20:45:05.57 ] >>408 MS自身がWPF使うときってWPFの原型を留めてないくらいにがっつり独自フレームワーク使うからなあ というよりWPF自体どっちかというとそういう大袈裟な使い方をするように設計されていて、 GUIのしょぼい業務アプリの類はさっさとHTMLに移行してほしいんだろうな
413 名前:デフォルトの名無しさん mailto:sage [2014/01/09(木) 23:51:35.32 ] 低レベルな部分の仕組みは結構イケてるんだよね。 高レベルな部分の作りこみは全然ダメだけど。 高レベルな部分を丁寧な独自実装で置き換えると、 悪い評判だらけのWPFとは思えないような、軽快かつ見栄えの良いアプリも作れる。 手間がかかりすぎるので、使える場面は限られるけど・・・。
414 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 00:00:24.32 ] VisualStudioはWPF製だけど、WPFの悪い部分がしっかり改善されてるんだよな。 メニューの挙動のおかしな点もないし、 TreeViewのデザインもかっこいいし。 GridViewもWPF標準の物の違ってまとも。 WPF標準のコントロールもこれくらい品質が良ければ良かったんだが。
415 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 00:15:38.93 ] >>401 そういえば、エクスプローラのUIをブラウザと統合して糞使いにくくなったのはどうにかならんかなぁ。 XPまではまだ旧来のUIで使えていたが、7になってどうにもならなくなった。
416 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 00:19:26.23 ] いや今のエクスプローラはIEコンポなんか使ってないだろ ボタンをリンクっぽく描画してたりするだけで普通のWinネイティブなアプリだよ
417 名前:デフォルトの名無しさん [2014/01/10(金) 00:44:15.71 ] >>415 今そんな使いにくいところあったっけ? 普通のエクスプローラとしてしか使ってへんわ
418 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 00:52:47.28 ] IE5までの話だねw しかもWin9x限定w どこの浦島太郎だよって
419 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 01:19:00.81 ] >>417 エクスプローラのウィンドウとフォルダの対応関係が切られて、位置やサイズなどを 覚えてくれなくなったのがかなり不便。 Windows3.1あたりのファイルマネージャに先祖返りしたのかも知れんが。
420 名前:デフォルトの名無しさん [2014/01/10(金) 02:33:35.57 ] >>419 どういう風に覚えてたのか忘れちゃった。すまそ(´・ω・`) 前ほどイミフな自動カラム選択とかフォルダによってビューが変わるってのなくなった? 前より使いやすい気がしてる。
421 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 04:04:18.77 ] 右側でフォルダ展開すると、左のツリーのアクティブフォルダが 必ず下側の固定位置にいちいちスクロールするのが気に入らん… 下領域空いててスクロールの必要が無いにも関わらずだ。7からなんだが
422 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 08:35:16.69 ] >>420 画像フォルダとか音楽フォルダとか勝手にフォルダの種類を判断するやつかな? あれ、よく判断を間違えるし設定を変更しても忘れてくれるし、確かに意味不明だな。
423 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 15:58:25.77 ] サブフォルダーを開いても、ツリービューが追従しなくなったのはどんな理由なんだろうな 使いにくいんですが
424 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 16:00:53.67 ] それは設定で変えられる フォルダオプションのナビゲーションウィンドウ>自動的に現在のフォルダまで展開 デフォルトを変更した理由は分からん ライブラリみたいな仮想フォルダとの兼ね合いかね
425 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 20:34:24.47 ] 仮想フォルダよりNASとの兼ね合いかなとも思う
426 名前:デフォルトの名無しさん mailto:sage [2014/01/10(金) 20:49:44.10 ] そんなの関係ないでしょ。 恐らくMSなりにライトユーザーに媚びたつもりなんだろうと思うよ。 たぶん調査の結果、ほとんどのユーザーはフォルダツリーをツリーとしてではなく、 ドライブや仮想フォルダへのショートカットとして使っている、みたいなことになったんでしょ。 で、フォルダを階層を展開しちゃうとその「ショートカット」がクリックしづらくなる、みたいな。 田ミ + E でエクスプローラを表示した時にフォルダツリーにフォーカスが当たってないのもそういう流れだと思う。 使いづらくてしょうがないけど。
427 名前:デフォルトの名無しさん mailto:sage [2014/01/11(土) 02:50:05.98 ] >>422 レジストリで無効にすると勝手に違う種類に変わったりしなくて快適だよ。
428 名前:デフォルトの名無しさん mailto:sage [2014/01/11(土) 14:31:47.69 ] >>418 Win9x限定じゃねーぞ Win2kもXPもエンジンはIE XPからはカスタマイズができなくなったというだけ(folder.httは使える) Vistaから完全独自になって 7からはリストビューすらコモンコントロールじゃなくなった
429 名前:デフォルトの名無しさん [2014/01/11(土) 23:08:55.26 ] C#スレに質問したのですが、 良く考えたらWPFの話なので、こちらで質問させて下さい。 ボタンコントロールが2つと A.jpg,B.jpg,C.jpgという画像があるとして、 ボタン1にデフォルトでA.jpgを表示し、 ボタン1がクリックされている間はB.jpgを表示し、 ボタン2が押された時に、コードで ボタンの画像をC.jpgに切り替えたいのですが、 どのように実現するのか、皆目見当が付きません。 言語はC#でもVB.NETでも構いません。 詳しい方、何卒よろしくお願いします。
430 名前:デフォルトの名無しさん mailto:sage [2014/01/11(土) 23:14:05.60 ] xamlでtriggerを使う
431 名前:デフォルトの名無しさん mailto:sage [2014/01/11(土) 23:50:22.83 ] ザッツオール
432 名前:デフォルトの名無しさん mailto:sage [2014/01/12(日) 17:21:21.02 ] トグルボタンってなかったっけ…
433 名前:デフォルトの名無しさん [2014/01/12(日) 21:19:57.46 ] >xamlでtriggerを使う ご回答ありがとうございます! triggerというワードで調べて、下記のようなコードで 通常1.png クリック時に2.pngまではできたのですが、 これを分離コード側で3.pngにする方法が解りません。 詳しい方、何卒お教え下さい。 <Button Margin="26,57,0,0" Name="button1" Height="36" VerticalAlignment="Top" HorizontalAlignment="Left" Width="117"> <Button.Template> <ControlTemplate TargetType="Button"> <Border Name="border" BorderThickness="0" BorderBrush="Transparent"> <Border.Background> <ImageBrush ImageSource="1.png" /> </Border.Background> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> <ControlTemplate.Triggers> <Trigger Property="IsPressed" Value="True"> <Setter TargetName="border" Property="Background" > <Setter.Value> <ImageBrush ImageSource="2.png" /> </Setter.Value> </Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Button.Template> </Button>
434 名前:デフォルトの名無しさん mailto:sage [2014/01/12(日) 22:06:29.14 ] ImageBrushに名前を付けたら、分離コードでいじり放題
435 名前:デフォルトの名無しさん [2014/01/12(日) 23:00:45.47 ] >ImageBrushに名前を付けたら、分離コードでいじり放題 ご回答ありがとうございます! ただ、試してみても、画像が3.pngに切り替わらずダメでした。 下記のようなコードを書いたのですが。。。 BitmapImage image = new BitmapImage(); image.BeginInit(); image.UriSource = new Uri("3.png"); image.EndInit(); button1.Background = new ImageBrush(image); WPFは、Windowsフォームアプリ感覚でやると、 なかなか難しいなと思いました。。。
436 名前:デフォルトの名無しさん mailto:sage [2014/01/12(日) 23:32:51.55 ] >>435 その書き方ならborderのBackgroundを{TemplateBinding Background}にして、 ButtonのBackgroundに1.pngのImageBrushを指定すればいけるような気がするけどどうだろう? ちなみにそのやり方だとマウスオーバー時に色がかわる、とかフォーカス時に点線が表示される、とか、 元々ある機能がなくなってると思うんだけど、それは構わないの?
437 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 05:15:05.21 ] >WPFは、Windowsフォームアプリ感覚でやると、 これがそもそも難しくしてる原因だ
438 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 14:11:53.35 ] いやいや、やろうと思えば基本的にほとんどWindows Formsと同じ感覚でも書けるでしょ。 レイアウトとグラフィック以外は。 アニメーションはFormにないし
439 名前:デフォルトの名無しさん [2014/01/13(月) 18:51:14.44 ] MVVM試行錯誤しながらやってるんだけど、これうまく作るとビューの見た目やコマンドを実行する場所をいろいろと好き勝手にできて良いね。 フレームワーク使わずBindableBaseだけショボイの作ってやってるけど。 ItemClickをコマンドにどう結びつけたらいいんだとかわからんところも多々あるけど、適度にコードビハインド織り交ぜても十分フォームより色々疎結合できて良い。
440 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 20:32:32.83 ] 大きなアプリ作るならコンバーターやコマンドは避けたほうがいい
441 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 20:34:56.21 ] TreeViewのContextMenuのIsOpenをBindingすると、必ず起動一発目の右クリックでメニュー出すと直ぐ消えるってのはなんだろうね 対策あったら教えて下さい
442 名前:デフォルトの名無しさん [2014/01/13(月) 21:08:11.18 ] >>440 それはどのへんで?
443 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 21:14:57.92 ] MVVMのコマンドは拡張性がないからなあ 大きなアプリだとコマンドパターンでコマンドのクラス自体に処理を書いた方がいい
444 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 22:14:08.74 ] Converterは必要があれば積極的に利用した方がいい。 プリミティブな1データを多様に表現、活用する事ができる。アプリの大小は関係ない。 ただMultiConverterのConvertBackは使いにくい。
445 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 23:13:59.40 ] >>443 例えばprismでも使えばいいじゃん
446 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 23:29:55.84 ] >>445 Prismはそのへん考慮してないよ Webと変わらんような業務アプリのサンプルだからね
447 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 02:33:12.59 ] コマンドは使いにくいなーとは思うけど、コンバーターは結構便利に使ってる
448 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 03:22:34.62 ] コマンドよりビヘイビア書かないとバインド出来ないプロバティーが嫌だ
449 名前:デフォルトの名無しさん [2014/01/14(火) 04:05:04.81 ] ビヘイビアが未だによくわからん。使い所とか。
450 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 10:52:12.79 ] 別々の条件から同じことしたい時はトリガーとアクションに分けて、 常に同じ組み合わせならビヘイビアって感じでいいと思う
451 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 10:59:23.43 ] ガン・・・、エクセルでたとえてくれ
452 名前:デフォルトの名無しさん [2014/01/14(火) 11:29:25.39 ] >>450 この辺ストアだとまた違うからな…今全部できるようになったんだっけ? 揃えてくれよママン…
453 名前:デフォルトの名無しさん [2014/01/14(火) 21:37:46.94 ] >xamlでtriggerを使う で詰まっていた者ですが、おかげさまで 実装方法が解りました。 WPFは、使いこなせたら、 確かにフォームアプリより便利そうですね。 勉強になりました。
454 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 13:57:25.53 ] ストアアプリを開発しています。 Bindingで、 "文字列A" + 項目Aの設定値 + "文字列B" (※文字列は、ローカライズ対応) をTextBlockに表示したいと考えています。 調べてみてもどの様にしたらよいものか困っています。 助けていただければ幸いです。
455 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 13:59:51.17 ] >>368-371
456 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 14:45:11.69 ] >>455 以外にも Run を使った方法もあるよ <TextBlock><Run Text={Binding 文字列A} /><Run Text={Binding 項目Aの設定値} /><Run Text={Binding 文字列B} /></TextBlock>
457 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 14:52:02.24 ] そういえば.NET 3.0の頃はRun::Textが依存関係プロパティじゃなかったなぁ 狂気の沙汰
458 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 15:32:39.66 ] Blockの中にRunがあるんだからそれにバインドする方が変 特別なことをしないならStringFormatがまともな手段だけど別のフレームワークで 無くなったり意味不明
459 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 15:39:58.05 ] 変かな? 数値部分だけ色変えたいとかさ
460 名前:454 mailto:sage [2014/01/15(水) 17:05:53.82 ] ありがとうございます。 >>456 の方法で行けそうなんですが、ローカライズの文字列では表示されません。 デフォルトで与えた文字であれば、表示されます。 もう少し格闘してみます。 >>368-371 の方法も考えましたが、ローカライズで文字列の長さが変わった時に 調整がメンドウなので…。 (うまい方法があるのかもしれませんが、稚拙なものでスミマセン。)
461 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 19:54:47.63 ] >>460 ローカライズってどういう風にやってるの? Bindingでやろうとしてるってことは動的に変更される文字列を表示しようとしてる? ロケールによってBinding先を切り替えるとか? ちなみにストアアプリは専用スレあるよ?
462 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 22:47:12.42 ] どういう風にってResourcesを言語別に用意以外に 方法あったっけ?
463 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:04:03.19 ] >>462 普通のやり方ならuidで指定するからBindingなんかしないし、 ローカライズされた文字列が表示されないなんてことにはならないでしょ?
464 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:34:13.53 ] そうか? 俺は普通に以下のように書いてるけどな。 <Label Content="{Binding Source={StaticResource resources}, Path=hogehoge}" /> 表示されないってのは分からんけど。
465 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:26:58.66 ] WPFでDataGridにバインドさせて使うときって列の定義とかはどうしてる?
466 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 01:10:36.73 ] 普通にXAMLで というかデータグリッドはWinFormsのを使ってる WPFでやるんならデータグリッド貼って終わりなんて安易なクソUIやめてListViewで作れよ
467 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 03:55:51.77 ] >>464 hoge厨らしい書き方だな 電子ゴミ作って楽しいか?
468 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 08:43:52.17 ] >>467 おはよう
469 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 08:55:00.32 ] 腰痛めて病院いったらウォーターベッドみたいなんに寝かされた。 振動で腰を直すやつな。 振動の強さが「強」「中」「弱」の三種類あって、 最初に「弱」で始まったんだけど全然振動が伝わってこない。 看護婦さんに「あの、全然感じないんですけど」って言ったら 「じゃあ「中」にしときますね。何かあったらナースコール使って呼んでください。」 って言われて「中」に切り替えて看護婦さんどっか行った。 しばらく待ったけど全然振動しなくって ナースコールで看護婦さん呼んだら 「じゃあ、「強」にします。」 って言われて「強」に切り替えた。 それでも全然動かなくておかしいなあとか思いつつふっと横を見たら 隣に寝てたよぼよぼの爺さんがガタガタガタガタ猛烈に振動してた
470 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 13:40:54.62 ] WinFormsのコンポーネントをScrollViewerとかに埋め込んだ時クリッピングされないで はみ出ちゃう問題マジで何とかならないのかなぁ・・・。 市販のコンポーネントなんてWinFormsばかりだからマジで困るぜ。
471 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 14:32:42.96 ] 無理だろうね。コンポーネントの方がWPFに対応するのを期待しよう。
472 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 14:37:19.84 ] グレープシティやインフラジスティックスのWPFコンポーネント使えばいいんじゃね?
473 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 15:09:13.57 ] >>471 だよねぇ・・・。最初からこのコンポーネント使う事決まっていれば色々考えようもあったんだけどね。 まぁ、そもそもWPF選んだ時にこの不具合知らなかったんだけどorz >>472 大人の事情で決まった会社の固有の製品なのでそういう代替え品ではダメなんだよ・・・
474 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 15:30:25.65 ] >>473 大人の事情で決まった製品って大抵ろくなのないからなぁ 事情説明して何とかするよう努力するべし
475 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 17:13:41.53 ] どうしてもそのコンポーネントを使わなきゃいけないのなら、 HWNDによるクリッピングを利用することは不可能ではないけどね。 独自パネルA (WPF) > 独自パネルB (WinForms) > コントロールC (大人の事情) って構造にして、 BをScrollViewerの可視範囲内に配置し、 Cをクリッピングなしの範囲に配置することで BのHWNDによるっクリッピングを有効にすることはできる。 スクロールする度に再レイアウトすることになるので、性能はお察しだけど。
476 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 17:27:06.59 ] 大人の事情ってどんな内容かな 勤め先がFとかNとかN(2回目)とかHだとか
477 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 18:03:06.01 ] >>476 俺はFだけど、大人の事情がない会社なんてあんのか?
478 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 18:23:48.62 ] 大人の事情がない会社はない ただしコンポーネントの選択に関しては、大人の事情など断固拒否しますよ (経済的事情を除く)
479 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 19:28:36.49 ] >>466 XAMLで列を定義ってなんか疎結合って感じがしなくなる
480 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 21:09:13.14 ] >>479 意味不明 ビューが表示対象のデータ項目に依存しなくて一体何を表示するというのか
481 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 21:38:51.21 ] >>477 Fか… Fはjavaなどの社内フレームワークが何種類もあると噂に聞く…
482 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 22:12:54.26 ] >>479 XAMLよりVMに書いたほうがいいと思う グリッドで入力する場合は検証も行わないといけないしね
483 名前:デフォルトの名無しさん mailto:sage [2014/01/17(金) 01:44:48.28 ] >>475 あーあー、WinFormsを挟む発想は無かったわ。面白そうね。今度試してみよう。 結局見た目とイベントをバイパスするproxyみたいな物作ってしのいだわ。 思ったよりちゃんと動いているけど、あまり動き無い物だから出来る話だぁね・・・。 今更WinFormsなんぞ使いたくないし頑張りますヨ〜
484 名前:デフォルトの名無しさん mailto:sage [2014/01/23(木) 14:31:47.24 ] ここに質問する無いようなのかわからないけどWPFのプログラムでMEF使う時に Importってどのタイミングで行われるか書かれている資料ってあるかな? 今はとりあえずLoadedのタイミング以降でImportしたオブジェクトにアクセスしてて 特に問題は無いけど何かモヤモヤするんだよなぁ・・・。
485 名前:デフォルトの名無しさん mailto:sage [2014/01/23(木) 15:39:16.50 ] WPFは関係ないし、MEFのドキュメントで自分が使ってるImport方法の説明を読めとしか。
486 名前:デフォルトの名無しさん mailto:sage [2014/01/23(木) 19:45:53.70 ] DIならAutofacでも使ったほうがいいよ MEF使いづらい
487 名前:デフォルトの名無しさん mailto:sage [2014/01/23(木) 20:21:32.72 ] なんだとこのファック野郎
488 名前:デフォルトの名無しさん [2014/01/23(木) 22:02:28.47 ] もうMvvmCross使えよ(´・_・`)
489 名前:デフォルトの名無しさん mailto:sage [2014/01/23(木) 22:13:35.77 ] どうもこういうクロスプラットホームの奴って今までも色々あったけど 流行った試しないし眉唾なんだけどそんなに良いの? そもそも共通プラットホームにしたい様なもの開発してないケドWPF的に 作りやすいとかあるなら考えてみても良いかなぁ。
490 名前:デフォルトの名無しさん mailto:sage [2014/01/23(木) 22:18:53.50 ] いや全然クロスプラットフォームじゃないぞ Windows(x86)のVista以降でしか動かん
491 名前:デフォルトの名無しさん mailto:sage [2014/01/23(木) 22:32:38.14 ] それXamarinの話ではなくて? まー、サポート切れるとはいえXPはまだ捨てられないしねぇ・・・。 俺的にはいらないけど商品開発の場合は捨てる選択肢まだ無理だわ。
492 名前:デフォルトの名無しさん [2014/01/23(木) 22:59:53.03 ] >>489 今見てる限りだとだいぶ現実的なアプローチだと思う。 物によるけど多分8ー9割のコードは共通化可能。 けど作りやすいか言われるとどうかなー。DIの仕組みとかあるけどこういう風に作れとか制限出てくるし。WPFだけでいいなら普通に作った方がいいかも。 >>490 今更XPか(´・_・`) >>491 Xamarin専用じゃないよ。XamarinがiOSや泥でC#を使える下地を作ってくれたのでそれを利用してる感じ。MVVMでの開発をどのプラットフォームでもできるようにする基盤。 案件によってはまだXPに縛られるんかね…
493 名前:デフォルトの名無しさん mailto:sage [2014/01/23(木) 23:02:09.10 ] >>490 win、wp、その他linux,mac,ios,android(xamarin)ってことじゃね? 最初の2つ以外はxaml無関係だけど。 向き不向きは詳しい人に任せる。
494 名前:デフォルトの名無しさん mailto:sage [2014/01/23(木) 23:03:35.29 ] >>492 80-90って、えらいUI少ないね。それで済むものには向いてるかもね。
495 名前:デフォルトの名無しさん [2014/01/23(木) 23:20:41.65 ] >>494 UIもVMまで共通化したらそれぐらいにならん? まぁものによると思うけど。
496 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 02:10:13.53 ] 実際VM共通化なんぞ出来るんか?結局Viewだけ差し替えるとか幻想でしょ・・・
497 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 02:28:14.65 ] VMはV依存度は高いもんなぁ。このV用の特別なナニカってのは必ず出るだろうし、 無理に共通化しても見通し悪くなりそうだ
498 名前:デフォルトの名無しさん [2014/01/24(金) 04:03:08.59 ] ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwww
499 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 19:28:10.04 ] >>497 どちらかというと、Vに求められる機能が多い(ことが多い)ので、VMが重くなる感じかな。結論は変わらないけど。
500 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 20:51:31.72 ] DrawingContext.DrawTextって垂直方向の配置を指定できないんだね。 っていうかWPFってどうでもいいようなギミックは満載だけど基本設計が本当ウンコだな。
501 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 21:29:39.71 ] 拡張メソッド作ったら一行で終わるレベルの不満が基本設計ですか
502 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 21:36:00.43 ] WinFormsから入った奴は最初DrawingContext使おうとするよね 滅多に使わない低レベルAPIだぞあれ
503 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 21:40:03.31 ] むしろVB6じゃあるまいし、UI要素並べて全ての問題に対応できるわけがないでしょ。
504 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 21:43:48.37 ] いやDrawingContextってむしろUI要素並べるだけのラッパー的なAPIなんだが
505 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 21:43:49.12 ] ついでに言えば、FormattedTextなんて文字列と書式を合体させたオブジェクトを 引数に取るから、同じ書式を使いまわすなんて基本的なことも出来ない。 こんな仕様を考えた奴は馬鹿としか思えない。
506 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 21:44:11.25 ] WPFだからって無理しなくてもSystem.Drawing参照してもいいんだよ?
507 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 21:47:58.32 ] >>505 DrawingContextはWPFのもっと高レベルなところと同じく「保持モード」のAPIだ 変更したい時だけ使う Drawing並べるのと同じなんだけどちょっと書くの面倒だからSystem.Drawing.Graphicsっぽくラップしてあるだけ
508 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 21:52:05.03 ] >>507 そんな風な擁護をする奴が絶対にいると思ったけど、 プログラマにとって重要なことは目的をより直截的に実現する手段が用意されているかどうか、 それだけ。 保持モードだからそういう仕様になっているという事情は理解はできるが、 それが優れているとは思えない。
509 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 21:56:11.27 ] だからDrawingContextは低レベルAPIであって 目的をより直截的に実現するためのものではないという話でしょ
510 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 22:00:42.88 ] WPFは誰かがライブラリを作ってくれるのを口開けて待ってるだけの人間には使いこなせない
511 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 22:04:35.02 ] > プログラマにとって重要なことは目的をより直截的に実現する手段が用意されているかどうか、 > それだけ。 ワラタw ちゃんと勉強する事も自分の頭で考える事も大事だよ。 使い方わからんからとすぐウワーってなる奴はプログラマには向いてないだろ。 ありあわせの組み合わせるだけの人は単なるオペレータ。
512 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 22:07:29.96 ] >>509 だから、UI要素をXAMLやコードで並べるだけじゃ実現できないから低レベルのAPIを 使ってるわけだが、その低レベルAPIがあまりにも柔軟性に欠けるといってるんだけど。 例えば画面上の任意の位置に、矩形内の水平・垂直のAlignmentを指定して数百個文字列を 描画したい、パフォーマンスが重要、ってケースでDrawingContext.DrawText以外の選択肢が他にある?
513 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 22:08:40.50 ] >>511 わからんなんていってないけど。 馬鹿だろお前。
514 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 22:15:37.17 ] >>512 何が分からんのか分からん 普通に矩形要素の中にDrawTextでいいだろ
515 名前:デフォルトの名無しさん mailto:sage [2014/01/24(金) 22:44:27.83 ] グリッドならTextBlockの数百個程度は当たり前
516 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 02:13:33.17 ] まあパフォーマンスを直截的に求めてDrawingContextって時点でWPFあるあるなんですけどね
517 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 19:50:54.87 ] っつーかどうせ似たようなロジックばかりで作ったライブラリ使いまわすんだから粗結合とかどうでもいいよ それより如何に簡単で書き易くパフォーマンスが良いかのほうが命題じゃないか? WPFってパフォーマンス悪い・面倒・やりたい事がすぐできない
518 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 20:06:38.26 ] WPFは手間かけて基礎から組み上げるもんだ 楽に作りたいならWeb行け
519 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 20:17:43.98 ] 出来ることが増えるのは良いことだし、その為に新しいフレームワークを覚え泣けれならないのは 当然のコストではあるが、問題はWPFに関してはコストに見合うゲインがあるとは 思われていないことと、GDI/GDI+より明らかに劣っていたり、出来なくなっていることが多すぎること。
520 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 20:34:18.60 ] そうだね そんなゴミはさっさと見切り付けてサヨナラしようね
521 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 20:35:00.83 ] 戦力の逐次投入はダメな戦術の代表だけど、WPFについて言えばその戦力の逐次投入にすらなってない。
522 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 20:37:39.40 ] 今のITはリーンスタートアップだとか>>521 とは真逆のことが言われてるぞ
523 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 20:43:55.97 ] >>522 それはぶっちゃけ我々作る側に都合がいい論理(言い訳とも言う)であって アウトプットを使う側の視点の議論ではない。
524 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 20:46:31.60 ] WPFってむしろ一括投入による失敗の典型例だろ ASP.NET MVCとか最近のMSは逐次フィードバック反映を重視しだしてうまく行ってるぞ
525 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 20:53:05.67 ] >>524 最初の段階である程度使い物になる完成度のものを投入した上で逐次改良を継続するのはいいが、 使い物にならないものを一旦公開して、足りないところは徐々に補っていくからみんな使ってって言っても そうは問屋がおろさない。 逐次投入がダメ戦術ってのはそういう意味。 繰り返しになるけど、WPFはその逐次投入にすらなってない。
526 名前:デフォルトの名無しさん [2014/01/25(土) 21:38:17.20 ] 使えない言ってる奴が使えないやつなだけじゃねーの
527 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 21:46:14.88 ] また挫折しました。もう無理です。
528 名前:デフォルトの名無しさん [2014/01/25(土) 21:54:32.09 ] まあふぉーよりははるかにいろんなもの疎結合できていいけどな。 できないことが増えた言うけど逆にできることが増えた部分は無視すんのか。
529 名前:デフォルトの名無しさん [2014/01/25(土) 21:55:04.38 ] ふぉー>フォーム
530 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 21:56:35.91 ] ム無しーですね
531 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 22:07:37.71 ] >>526 違うと思うよ。 特定の人の悪口を言うのは気が進まないけど、某尾上氏みたいな人が 「王様が裸に見えるのはお前が馬鹿だからだ」みたいな発言が出来るのは 実は王様が裸であればこそ。 >>528 できないことが増えたとは言ってないけどね。 旧製品の置き換えをうたってる後続品に旧製品より劣る部分があれば、 そりゃ置き換えは進むはずがないよという話。
532 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 22:36:17.06 ] そもそもサードパーティ製のコントロールが必要な時点でWinFormsもWPFも完成度って点では大差ないよ カスタマイズしたいならWin32API必須ですがなにか?だからな .NETはCocoaと比較してGUIがゴミ過ぎるんだよ、JavaFX8も忌まわしきXML拡張のFXMLだし、JDK8もしょんぼりなんだよな、匿名メソッドじゃなく匿名クラスとか存在価値がイミフ過ぎるわ XPの買い替え需要でWinじゃなくMacに流れてるらしいし、マジでこのままデスクトップでもMacが幅をきかせ始めたら俺はObjective-C使えるから嬉しいけどなw WPFで出来ることが増えたって、大して増えてねーじゃん、WinFormsと比較してそのちょっと増えたことがコストに見合わないんだよ
533 名前:デフォルトの名無しさん mailto:sage [2014/01/25(土) 23:30:40.29 ] 旧製品より優れたところにメリットがあれば、旧製品に劣る所があっても置き換わる可能性はある まず優れた所を探せ そしてそれがメリットかどうかを考えろ
534 名前:デフォルトの名無しさん mailto:sage [2014/01/26(日) 00:14:27.71 ] 命令口調の奴って何なんだろうね。意味が分からん。 っていうかどういう育ちしてるんだろこういうの。
535 名前:デフォルトの名無しさん mailto:sage [2014/01/26(日) 00:22:52.61 ] 10年前ぐらいに開発始まったものに文句言ってるんじゃないw
536 名前:デフォルトの名無しさん [2014/01/26(日) 00:26:44.05 ] >>532 MacはiOSに比べてUIまともなのか? iOSはUI開発糞だろあれ
537 名前:デフォルトの名無しさん mailto:sage [2014/01/26(日) 00:31:22.18 ] Macで開発って悪夢だな
538 名前:デフォルトの名無しさん mailto:sage [2014/01/26(日) 00:33:35.13 ] Qtでいいよもう
539 名前:デフォルトの名無しさん mailto:sage [2014/01/26(日) 02:21:44.23 ] Qtはいいよね サポートOSも多いし
540 名前:デフォルトの名無しさん mailto:sage [2014/01/26(日) 21:37:56.52 ] qtも5でかなり変わったし、ライブラリでかくなったしなあ。
541 名前:デフォルトの名無しさん [2014/01/27(月) 10:13:20.47 ] qtは柔軟で作りやすいのん?
542 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 14:11:45.06 ] びばのんのんのん
543 名前:デフォルトの名無しさん mailto:sage [2014/01/27(月) 21:30:45.70 ] Qtは高レベルなコンポーネントの完成度が非常に高いけど 使い方はWPFの感覚からすると結構泥臭い
544 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 02:55:44.84 ] 3Dソフトみたいな案件でも採用されてるし柔軟性はあるんじゃね この辺Qtらしい www.thefoundry.co.uk/products/nuke-product-family/ www.thefoundry.co.uk/products/mari/ www.autodesk.co.jp/products/autodesk-maya/overview
545 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 05:48:02.33 ] .net死んでまうん?
546 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 08:08:16.10 ] 3Dというか映画界隈はLinux版ありきなこと多いからな Linux、Win、MacならQtはガッチリだろう
547 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 08:19:10.48 ] LinuxのQtはすげえ品質低いぞ おまけ程度に考えた方がいい
548 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 09:54:17.75 ] >>544 ぐらいできたら十分じゃない? それとも上に上がってるのはQtとは名ばかりだったりする?
549 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 12:17:15.45 ] QtてKDEのベースなんだけど。 それが品質ぼろぼろならどーすんだw
550 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 22:03:02.93 ] >>547 Qt製の2ch Viewerが落ちまくったの良い思い出。今も不安定なままなんだろうか
551 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 23:58:54.65 ] 3DソフトってQt使えるの多いんだな。 検索したらどのソフトもユーザーが当たり前のようにQt呼び出してるわ。 こんな業界あるんだな。
552 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 01:12:35.86 ] メーカー系の中小企業は割とQtを使ってたよ
553 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 01:13:45.67 ] M#の登場で.NET死亡 ttp://www.msharp.co.uk/Home.html
554 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 02:01:57.32 ] .NET上で動くものなのに.NETが死ぬとはこれいかに?そしてスレチだ。 ここはWPFのスレなんだがもしかして何だかわからず書いちゃった? え?マジレスしたらいけないって?
555 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 02:18:04.97 ] >>550 QtはGTK+よりはまともな印象があるなぁ。3Dはもともとunixな環境が強かった世界だし あまりOSに依存した開発はしたくないとかあるんだろうね。Qtはもともとプロプラな物だし 昔はつぶしの効かないMFCとか使うぐらいならQtを選ぶのもわかる気がするわ。 しかしまぁ、この手のクロスプラットホームのものってどれも古臭い(良く言えば枯れている) 感じはあるよなぁ。あー、懐かしいとさえ思える泥臭さがある。wxWidgetとかもそんな感じ だった記憶が。まー、新しければ良いという物ではないけど進化しない世界だなとは思う。
556 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 09:52:38.81 ] GTKは糞
557 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 10:06:26.57 ] >>553 Dart や Typescript 以上のものは感じなかった
558 名前:デフォルトの名無しさん mailto:sage [2014/01/30(木) 16:14:51.72 ] 動画プレイヤーの全画面時みたいに、画面端にカーソルが来ると操作パネルがポップアップするようなの なかったっけ?
559 名前:デフォルトの名無しさん mailto:sage [2014/01/30(木) 19:52:22.76 ] 質問。 GridのセルなんかにImageを <Image> <Image.Source> <DrawingImage> <DrawingImage.Drawing> <DrawingGroup/> </DrawingImage.Drawing> </DrawingImage> </Image.Source> </Image> みたいな感じで入れてると、DrawingGroupのDrawingContextに何か書くまでは ImageのActualHeightもActualWidthもゼロを返すんだけど(まあ当然なんだろうけど) その前のまっさらな状態でサイズを取得するにはどうしたらいい? ImageをGridとかに入れ子にしてそいつのサイズを代わりに取得するしかないんだろうか?
560 名前:デフォルトの名無しさん mailto:sage [2014/01/31(金) 01:47:14.42 ] データグリッドのテンプレートカラムにスタックパネルを置いておき、 そのchildrenとしてテキストボックスのコレクションをバインドするにはどうしたら良いでしょうか?
561 名前:デフォルトの名無しさん mailto:sage [2014/01/31(金) 07:08:03.98 ] ItemsControl
562 名前:デフォルトの名無しさん [2014/02/03(月) 23:14:30.71 ] ツリービューのスクロールバーって、 色の変更は出来るのでしょうか? ググる限り情報は見当たらなかったので、 ひょっとして出来ないの?と思いまして。
563 名前:デフォルトの名無しさん mailto:sage [2014/02/04(火) 02:28:35.81 ] できる。できるが・・・非常にめんどくさい。
564 名前:デフォルトの名無しさん mailto:sage [2014/02/04(火) 11:23:02.06 ] ScrollBarのStyle弄るとか、ControlTemplate書くとか サクッと変更できるやん。
565 名前:デフォルトの名無しさん mailto:sage [2014/02/05(水) 16:58:52.03 ] MainWindowにあるボタンを押すとContentControlの内容が別のUserControlに切り替わる、というプログラムで そのUserControlの中にも同じようにボタンを配置して切り替えられるようにしたいのですが、どのようにすればいいんでしょうか 「WPFで画面遷移風のアプリケーション」でググって出てくるブログ記事を参考にしています
566 名前:デフォルトの名無しさん mailto:sage [2014/02/05(水) 18:18:37.02 ] 風の← 不要 宣伝乙!
567 名前:デフォルトの名無しさん mailto:sage [2014/02/05(水) 18:43:27.78 ] >>565 日本の情報は糞 MSのPrismに画面遷移の良いサンプルがある
568 名前:デフォルトの名無しさん mailto:sage [2014/02/05(水) 21:18:49.03 ] URL plz.
569 名前:デフォルトの名無しさん mailto:sage [2014/02/05(水) 23:15:37.20 ] >>567 小さいプログラムだからインフラ使うのもなと思って避けてたけどやっぱ使った方がいいのかな ttp://msdn.microsoft.com/en-us/library/gg430861(v=pandp.40).aspx この辺りでしょうか?勉強してみます
570 名前:デフォルトの名無しさん mailto:sage [2014/02/06(木) 03:21:59.23 ] >>569 小さいプログラムなら、まずは WPF にあるコマンドを使ってみれば? UserControl で発行した RoutedCommand はツリーを親要素へと上っていくので、 それを MainWindow の CommandBinding で捕まえて、切り替え処理をすればいい。 msdn.microsoft.com/ja-jp/library/ms752308.aspx
571 名前:デフォルトの名無しさん [2014/02/06(木) 22:44:34.26 ] 現在、.NET Framework 4.51環境です。 .NET Frameworkでのプログラミングは一切行っておりません。 EpsonDirectで購入したPCにChart Controlが入っていたので 削除を試みましたがエラーでできませんでした。 もしかして 3.5 + Chart Contolの環境を4.51に更新した場合、 Chart Controlが残ったままになるのでしょうか? 3.5のときにアンインストールすべきだったのでしょうか?
572 名前:デフォルトの名無しさん [2014/02/07(金) 00:35:38.54 ] スレ違い
573 名前:デフォルトの名無しさん mailto:sage [2014/02/07(金) 01:54:17.15 ] そうか。.NET4.5とスレタイに入ってるんだな。4.5に限定する理由ってあるん? バージョンに依存した内容はほとんど無いよな。流石に3.0ベースはナイけど
574 名前:デフォルトの名無しさん mailto:sage [2014/02/07(金) 02:58:11.29 ] >>573 ヒント:Chartクラスが属する名前空間 少なくともバージョン縛りは関係ないと思うぞ。<スレ違いの理由
575 名前:デフォルトの名無しさん mailto:sage [2014/02/07(金) 09:01:42.66 ] そういう意味じゃねぇよ。入ってなきゃ勘違いもなかったろうという意味だ
576 名前:デフォルトの名無しさん mailto:sage [2014/02/07(金) 09:27:57.75 ] >>570 RoutedCommandを使って試行錯誤の末、期待通りの実装ができました Windowを継承したクラスにまとめたらだいぶスッキリしました ありがとうございました!
577 名前:デフォルトの名無しさん mailto:sage [2014/02/07(金) 18:22:28.67 ] Expression Blend 4 と Blend for VisualStudioは、何が違うの? ImageとかのプロパティのProjectionが見当たらない
578 名前:デフォルトの名無しさん mailto:sage [2014/02/08(土) 22:48:50.82 ] SilverlightでNavigationFrameworkを用いてページ遷移をする場合、 遷移先のTo.xamlのコンストラクタに引数を渡す方法はないでしょうか? NavigationService.Navigate(Object)メソッドが使えればPageを継承した インスタンスを直接渡せるのですが、 あいにくsilverlightでは削られてしまっているようです・・・ わかりにくくてすみませんが、よろしくお願いします。
579 名前:デフォルトの名無しさん mailto:sage [2014/02/08(土) 22:53:32.95 ] こんな蛇足な方法が一番上に来ているところを見るにないみたいですね stackoverflow.com/questions/4555985/how-can-i-pass-query-string-variables-with-navigationservice-navigate
580 名前:デフォルトの名無しさん mailto:sage [2014/02/08(土) 22:55:25.75 ] シングルトンでグローバル変数的に持っとけばいいよ シングルトンだとテストがしづらいからPrismはシングルトンの代わりにDI使ってた
581 名前:デフォルトの名無しさん mailto:sage [2014/02/08(土) 23:16:37.27 ] こんな感じのヘルパーメソッドを使えばいいんじゃないの void Navigate(NavigationService ns, Uri uri, Object context) { NavigatedEventHandler h = (s, e) => { ns.Navigated -= h; ((IMyPage)e.Content).OnNavigated(context); }; ns.Navigated += h; if (!ns.Navigate(uri)) ns.Navigated -= h; }
582 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 14:22:57.30 ] ugaya40のサイトっていつ無くなったんだ?
583 名前:デフォルトの名無しさん [2014/02/10(月) 14:26:49.72 ] 金払ってないだけでしょ
584 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 18:23:43.09 ] 404になる度に思うが、ちゃんと管理しとけよと。
585 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 19:41:07.08 ] なんか2ヶ月に1度ぐらいのペースで見られなくなってるねw 金払ってないって今時カードか引き落としだと思うんだけど、 口座に1000円単位の金もなくなっちゃうほどカツカツの生活なのかなw 余計なお世話だけどさ
586 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 19:42:57.20 ] 引っかかるくせに鯖落ちで検索汚染してるわんくまクラスのウザさ
587 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 19:52:54.67 ] あれも酷いねw もう5年ぐらいずっとあの調子だ。 MSのwebサーバーは使えないって嫌がらせでもやってるつもりなのかね
588 名前:デフォルトの名無しさん mailto:sage [2014/02/10(月) 20:24:10.76 ] 真面目な話、風物詩とかネタにして良いもんじゃないだろ。 小銭稼いでんだから、まとめて払っとけよ。
589 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 01:31:29.31 ] WPFのWindowでマウスドラッグでウィンドウサイズ変える時に縦横比を固定する事って可能? 中身のコンテンツの比率を固定するのは簡単に出来るけど隙間が空いてしまうのが格好悪いなぁと。
590 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 11:57:57.48 ] >>589 サイズ変更された時にWidthとHeightいじるとか(チラつくけど) 綺麗にやろうとするとWin32のWM_SIZINGメッセージとか。 MeasureOverrideやArrangeOverrideでどうにかなると思ったけど、Windowだとダメっぽいな。
591 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 21:22:50.91 ] >>589 マウスポインタにウィンドウの隅が追従しないUIの方が絶対不恰好だと思うけど... 俺ならそんなアプリド素人が作ってるとみなすよ
592 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 21:41:13.99 ] ボーダーとカーソルが一致するように縦横比固定することは可能だし実際にあるんだけど…
593 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 22:19:09.62 ] ではお伺いしますが、そういうアプリでマウスを完全に水平方向に左に移動させる 動作をしたらどうなるの? 少なくとも次の4パターンが考えられるが、 (1) マウスポインタは動かない (2) マウスポインタは左に動くがウィンドウの枠は動かない (3) マウスポインタは左に動くが、ウィンドウの枠は楯横比を保って拡大 (4) ウィンドウの枠は楯横比を保って拡大。マウスポインタはウィンドウ枠の対角線にそって動く どれも直感的とは言いがたいね。
594 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 22:32:16.96 ] 操作方法が既知として扱われている以上、目で見れば分かる多少の動作の違いに直感的もクソもねえよ
595 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 22:43:30.19 ] >>590 やはりそれしかないか。ってことでWM_SIZINGハンドリングしてサクと作ってみた。 まぁ、出来たんだがWindowChromeで見た目変えてるのってリサイズ時に素のウィンドウの 描画が一瞬見えるのな・・・。今回の固定比率とはまた別の話だけど。 >>591 言いたい事は分かる。 けど、今回は背景画像が固定になっていて比率変えると間延びして恥ずかしい事になるんだ。 かといって隙間入れるともっと恥ずかしい。デザインした奴に死ねと言いたい気分だけど 色々事情があって差し替え出来ないので苦渋の選択なんだよ。 ホント他に良いアイディアあったら教えて欲しい位だわ。クールな玄人の意見教えてよ。
596 名前:デフォルトの名無しさん mailto:sage [2014/02/13(木) 23:40:32.46 ] ウインドウが横に広ければ背景画像の上下または下を切る ウインドウが縦に広ければ背景画像の左右または右を切る というのはたまにやるけどこれも画像によるな
597 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 00:28:42.06 ] >>595 隙間が入ると恥ずかしいって感覚はよく理解できないな。 メディアプレーヤー系のアプリなんかみんなそうだし、それがかっこ悪いとも もっといい方法があるとも思わない。
598 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 01:50:18.78 ] デザイン分業が叫ばれるWPF界隈でマーにデザインを聞いてどうする デザイナーに聞け
599 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 04:04:57.22 ] >>597 えー?感覚違うんだな。 imgur.com/hDPOpOn 適当なサンプルだけどこういうのの隙間見て気持ち悪くない? 実際のは色々な要素がハードコーディングになっていてボタン群やら文字やらの 全体にエフェクトがシームレスにかかっているのでバラして調整も出来ないんだわ。 まー、WPFと全然関係ない話になったのでこの辺にしておくけど・・・。
600 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 04:42:09.55 ] >>599 例えば動画プレーヤーでそんな風になるやつあるけど別に変だとは思わないな。 ウインドウの中で縦横比が保たれていればいいんじゃないの。 背景色変えてみたらちょっと印象変わるんじゃない? imgur.com/fEe4k2I
601 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 05:36:01.25 ] 動画プレイヤー動画プレイヤーって・・・うまく説明出来ないけど動画とか絵とかのコンテンツ表示の為の領域と ユーザーが操作するアプリがこういう風に動くのでは全然デザインに対する意味も違うと思うんだけど・・・。 まぁ、感覚の違いがあるのは良く分かったよ。
602 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 10:32:06.95 ] 明らかに隙間があった方がおかしいでしょ 比率固定で動くウィンドウを持つアプリケーションなんて結構あるし デザイン的にズレるなら尚更適切な比で表示した方がいいような
603 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 12:43:19.97 ] UI議論スレじゃねーんだけどよその辺理解できてまちゅかゴミども
604 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 20:40:28.02 ] >>602 Win9xの時代にはそういうのあった(俺も印刷プレビュー画面をその方式で作ったことがあった)けど、 今はまず見ないでしょ。 さすがに今となってはセンスが悪いUIと言わざるを得ない。 まあ隙間が開くとかっこ悪いって感覚はやっぱりよく分からないけど、どうしてもってことなら、 クライアント領域のW/HがコンテンツのW/Hより小さい場合はHを、大きい場合はWを合わせて 他はスクロールバーで対応するのかね。 スクロールバーの幅を考慮に入れる必要があるからかなり面倒になると思うけど。
605 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 20:59:08.47 ] >>595 そういうのは設定で決めさせるのさ ウインドウはNoResizeでok
606 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 18:58:29.27 ] 質問しようと思ったのですが、整理してるうちに一応解決したので貼ります −−−−−−−−−−−−−−−−−−−−−−−−−−ここから質問 DataGridで選択中のDataGridCellからRowIndexを割り出す方法を教えてください 条件としては ・仮想化されている ItemContainerGenerator.ItemFromContainerなどは画面外のCellにnullを返すため使用不可 仮想化はmust要件にされたので切れません ・カラムによるソートが有効になっている バインド元のデータと表示中のデータ順が同期していないので、元のリストを検索しても意味がない この表示中のデータに触れれば一番楽だと思うのですが −−−−−−−−−−−−−−−−−−−−−−−−−−ここまで書いた 後者の方法はあまり掘り下げてなかったので、試したら以下のように取れそうでした var view = (CollectionView)CollectionViewSource.GetDefaultView(dataGrid.Items); var list = v.OfType<Itemの型>().ToList(); int rowIndex = list.IndexOf(item); あとは落とし穴がないことを祈るばかり
607 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 19:08:11.51 ] アイテムが重複を許すならバグるってすぐ分かったけど、 解消する方法が思いつかない。 CellからItemを得ても何個目に出現するものかは分からないものね。
608 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 19:24:48.22 ] >>606 それ意味的に正しいのはOfTypeじゃなくてCastだろ 要素数が狂ってバグの元だぞ なぜかWebの解説なんかではOfTypeがよく出てくる気がするが、ほとんどのケースではCastが適切
609 名前:デフォルトの名無しさん mailto:sage [2014/02/15(土) 19:32:34.40 ] >>607 アイテムにラッパーを被せればいいよ ItemContainerGenerator.IndexFromContainerもItemContainerが重複していないから正しくインデックスを返せているわけで
610 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 19:02:47.54 ] よくわからないけど、indexをどっかに埋め込むのはだめなの?
611 名前:デフォルトの名無しさん mailto:sage [2014/02/18(火) 19:43:55.00 ] TabItemを動的に作成するのにViewModelをViewに適用って方法でやってます。 その場合TabItemってどうやって取得するんですか? ItemsとかSelectionChanged.AddedITem見に行ってもViewModelが入っているので困っています・・・。
612 名前:デフォルトの名無しさん mailto:sage [2014/02/18(火) 19:48:22.03 ] ちょっと上に書いてあるItemContainerGenerator.ItemFromContainer
613 名前:デフォルトの名無しさん mailto:sage [2014/02/18(火) 21:08:19.61 ] >>612 ありがとうございます。 TabControl.ContainerFromItemのほうでViewModelからTabItemがとれました。 最終的にTabItem.Contentの中をVisualTreeHelperで検索したかったのですが TabITem.ContentがViewModelでだめでした。 再度質問で申し訳ないですが どうやったらVisualTreeHelperが使えるようになるんですか。
614 名前:デフォルトの名無しさん mailto:sage [2014/02/18(火) 21:15:52.33 ] TabItemの子孫が欲しいならそのままTabItem渡せばいいだろ
615 名前:デフォルトの名無しさん mailto:sage [2014/02/18(火) 21:25:03.10 ] >>614 あーすみません。 わかりました。 最初に呼ばれるSelectionChangedのなかだとまだUIが作られてないんですね・・・。
616 名前:デフォルトの名無しさん mailto:sage [2014/02/18(火) 21:55:40.66 ] あるある
617 名前:デフォルトの名無しさん [2014/02/18(火) 22:15:41.63 ] コントロールの縦横スクロールバー出現時の 右下の空白の色を変えたいのですが どこの設定をいじれば変わるでしょうか? aug.2chan.net/zip/3/src/1392729274100.png 外国のサイトまで探したのですが、 情報が無く困っています。 使用しているコントロールは、 TreeViewとListBoxです。
618 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 00:58:27.92 ] そういうのはBlendでテンプレート弄る
619 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 01:12:55.97 ] TabControlでTemplateを設定すると、TabItemの中身のListboxをホイールでスクロールさせられなくてはまってます・・。 (スクロールの代わりにTabが切り替わる) よい妥協策はないでしょうか・・・。 <ControlTemplate TargetType="TabControl"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <TabPanel Grid.Row="0" IsItemsHost="true"/> <Border Grid.Row="1"> <ContentPresenter ContentSource="SelectedContent"/> </Border> </Grid> </ControlTemplate>
620 名前:デフォルトの名無しさん mailto:sage [2014/02/25(火) 14:11:59.84 ] WPFの話になるのか分からないけど、ずっとWin8で開発していて デザインもきっちり収めて悦に入ってたんだけどWin7で動かしてみたら テキストのレンダリングが違うみたいで字がはみ出たり散々な状況。 何かOS依存しないで同様に配置出来るうまい方法は無いもんかねぇ。
621 名前:デフォルトの名無しさん mailto:sage [2014/02/26(水) 01:51:46.33 ] そんなあーたにWinForm
622 名前:デフォルトの名無しさん mailto:sage [2014/02/27(木) 15:25:23.25 ] もう画像にしちゃうって手も…
623 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 08:01:45.99 ] code.msdn.microsoft.com/windowsdesktop/MVVM-d8261534 このページのサンプルで、対象フレームワークを4.5以上にあげると 実行した時、小数点が入力できません。 4以下にすると入力できるようになるのですが、なぜでしょうか?
624 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 16:15:36.25 ] >>623 例えば12の後に小数点を打つとバインドされたプロパティ(double型)の値は12.0になってる。 で表示するときに「.0」部分は無視されて(書式設定してないから?)12と表示される。 だから小数点が打てない状態になっているみたい。 (123と入力した後に12と3の間に小数点を打てば12.3になる。) フレームワークのバージョンで挙動が違う原因は俺にはわからない。
625 名前:デフォルトの名無しさん mailto:sage [2014/03/02(日) 22:44:31.89 ] 一言で言えばバグ
626 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 11:23:45.29 ] 単位変換みたいなValueConverter全く実装されてないけど使わせる気あるのこのフレームワーク
627 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 12:32:58.15 ] そんなもん自力で書けよ
628 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 13:40:14.28 ] んな細々したライブラリが充実するほどにはユーザーがおらん MVVMと非同期ツールキットくらいしかまともなサードパーティライブラリないしな
629 名前:デフォルトの名無しさん [2014/03/06(木) 15:12:41.36 ] >>628 MVVMCrossぐらいできてたらもう十分だろ( ̄(工) ̄)
630 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 15:33:12.22 ] 何個似たようなMVVMのフレームワーク作る気なんだろうな 馬鹿じゃないの 少しはその労力他に割けよ生産性のない奴らめ
631 名前:デフォルトの名無しさん [2014/03/06(木) 22:56:33.47 ] >>630 同じ奴が作ってるならそうだろうな(。-_-。)
632 名前:デフォルトの名無しさん [2014/03/07(金) 02:18:25.97 ] >>589 だいぶ古い投稿だけど返信 ウインドウをCanvasで埋めて、それとbindingを連携すれば いいんじゃない?
633 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 18:01:45.83 ] 次のバージョンはDirectX11ベースになってくれると嬉しい
634 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 18:07:16.93 ] >>633 visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4083793-native-directx-11-support-for-wpf
635 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 18:10:53.89 ] >>634 日本語でおk
636 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 11:10:45.46 ] WPFの用途だとDX11ベースになっても見た目は何も変わらない 落ちにくいんだろうけどそもそも落ちない
637 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 11:26:38.57 ] DX11はDX9系に比べれば描画性能けっこう良いから、パフォーマンスは安定するぞ
638 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 11:32:49.28 ] MSが書いてるコラムを見てもボトルネックは描画よりバインディングの方ですしおすし
639 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 11:42:03.59 ] パフォーマンス向上しそうなシェーダー処理が絡んでるのEffectとかその辺だろ? 2Dのフィルやマッピングでパフォーマンス改善されんの?
640 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 12:43:19.04 ] シェーダ以前の通常描画でもそれなりにパフォーマンス違う。 といっても2倍未満くらいだが。 バインディングは、まあ…
641 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 19:22:51.63 ] いい加減WPFにこだわるのやめてUnityみたいなマルチプラットフォームIDEを作れよMS 何のための.NET Frameworkなんだ? WPFがWindows以外で動けばデベロッパー増えるだろうに
642 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:00:42.82 ] >>626 それよりデフォルトのカルチャがen-USなのがウザイ ローカルを使わせようとすると xmlns:g="clr-namespace:System.Globalization;assembly=mscorlib" Text="{Binding LastWriteTime,StringFormat=d,ConverterCulture={x:Static g:CultureInfo.CurrentCulture}}"/>
643 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:05:31.77 ] いちいちBindingにカルチャ指定してるのか…
644 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:12:03.86 ] >>641 希望的観測過ぎて笑える。一体Windows以外のどのプラットホームのユーザーが使うと思うの?
645 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:19:03.16 ] 大量のコントロールある画面の描画速度どうにかしてあげられないかな? rectangleとline動的に使いまくったらとても遅い
646 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:22:19.51 ] Silverlightがまさにそれだろ クロスプラットフォームなクライアントはSilverlightやFlexやJavaFXが全滅してHTML最強で決着した MS自身が.NET FrameworkをオープンソースにしてVSもマルチプラットフォームにすれば 間違いなくJava潰してASP.NETで天下取れるだろうけど、結局それだとMSの利益にならないからね
647 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:36:16.49 ] Silverlightはチーム解散したよ、知ってると思うけど 切り捨て早いw まあぶっちゃけWPF推奨するよりWinFormsをより良いものにしていったほうが みんなが幸せになれるよね とにかくMSは使えないGUIライブラリを作り過ぎ MFC, ATL/WTL あたりは完全に捨てて本当に使えるものを 一つだけ作るべき
648 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:38:43.46 ] いまさらFormsでバインドもどきとか本当にありえない
649 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:43:50.15 ] そもそもバインドはいらない
650 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:44:26.28 ] >>648 まあ今は駄目でも良いものにしていくんだよ ぶっちゃけどんなに出来が悪くてもWin32APIとWinFormsは 無しにはできないんだから、これらにリソースを集中すべき リソース分散させた挙句にクソGUIライブラリ量産って 意味が分からなすぎるw
651 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:45:57.35 ] 昔からではあるが最近MSの迷走が特に酷いからな
652 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:55:49.96 ] 機能詰め込みすぎを認めてサブセットにした方がいいんでねえのとは
653 名前:デフォルトの名無しさん [2014/03/08(土) 22:03:50.33 ] それでもXAML以外はもうあり得んわー(´・ω・`)
654 名前:デフォルトの名無しさん [2014/03/09(日) 04:44:06.28 ] 入門したいのですが エッセンシャルWPFって本は今買っても有用でしょうか?
655 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 11:46:23.02 ] DataGridに文字出す時に行の高さに合わせて文字を調整したいんだけど そういう場合ってViewBox位しか手が無いよね? ViewBoxでやると内容を横方向のサイズへ合わせる形には出来るんだけど 縦方向に合わせて調整して文字サイズを全行で一定にみたいなのが難しい・・・。 とりあえずは入れるデータの文字数を調整すればなんとかなるけどもっと スマートな方法あるのかなぁ・・・。
656 名前:デフォルトの名無しさん [2014/03/09(日) 13:17:38.84 ] >>654 今はMVVMとかも盛り込んでるようなのにした方がいいと思うけど…和書であるかは知らん
657 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 13:29:07.17 ] 書いても売れないんで ストアができて多少普及するかと思ったけどそんなこともないね
658 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 13:31:58.14 ] 書いても売れない以前に書ける人いないんでしょうな 実際に実務で使っている人は本を書いている暇なんぞないだろうし
659 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 13:34:41.91 ] MVPが書けば 偉そうなこと言ってるしエバンジェリストくらいの立場に居るでしょ 業務の一環としてやればいい まさか土方じゃあるまい
660 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 14:00:32.18 ] とーちゃんは日本一の
661 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 14:27:05.06 ] 現在プログラム板のID制導入の投票を実施中です よろしくお願いします プログラム板 強制ID制導入に関する投票スレ kohada.2ch.net/test/read.cgi/vote/1394290844/
662 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 16:52:06.73 ] やっとID強制になるのか 色々黒い噂というか推測はあるけど、こっちの意見が通る分新運営のほうが何十倍もマシだわ
663 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 17:32:50.19 ] どこぞのスレとかどうなるのかね どこぞってかAPIスレだが
664 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 17:37:04.84 ] もしや、導入と同時に過去レス分も表示されたりすんの…? このスレは過疎ってるからともかく、おもしろいことになりそうだなw
665 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 22:21:28.38 ] WPFでコントロールにイベントハンドラを設定した場合、ユーザーの操作だけでなく プログラムから操作した場合もイベントハンドラが起動してしまうんだけど (ListBoxの項目選択とか) プログラムから操作した場合はイベントを起こさないようにすることは可能? 今はプログラムで操作する前にフラグを立てて イベントハンドラ内でスキップ判定してるけど、スマートでない気がしてます
666 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 22:35:27.04 ] 同じ状態変化を区別しようってのがナンセンス
667 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 23:13:02.27 ] >>651 そりゃあCEOがあれだから。 新しい人になったけど、どーなるかね。
668 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 00:10:31.74 ] >>666 なるほど一理あります でもコントロールが入力装置と出力装置を兼ねている以上 双方向からの状態変化が来るのは避けられないんだよな…困った
669 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 00:27:19.39 ] >>666 の言うとおりで、状態の変化を起こしたのがユーザーかコードかを 区別しなきゃならないってのは多分変な思い込み。
670 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 02:30:26.52 ] >>644 Windowsのデベロッパーは皆MacやLinuxでVS使って開発したいって思ってると思うぜ そもそもXamarinのウリがC#よりVS+.NETでの開発なんだから・・・
671 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 03:23:24.36 ] >>670 一昔前にはPHP.netなんてものもあったな。 あれ、どうなったんだっけ?
672 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 04:49:20.93 ] >>670 根本的に勘違いしてないか? MacやLinuxで開発したくないから(ネイティブ環境で開発出来る人が少ないから) Windowsで動く開発環境(VS)で他のプラットホームでも動くアプリ作ろうってのが 今のXamarinだろうに・・・。 皆とか言ってるけど開発環境をLinuxにしたいWindowsユーザーなんか想像もつかないわw
673 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 20:14:51.27 ] >>665 イベントハンドラの先頭にフラグで処理制御 if(flag) return コードの変更前にflag=true 変更終わったらfalse
674 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 20:24:30.67 ] 一日遅れで質問に書いてある対処法を書く人ってかっこいい
675 名前:デフォルトの名無しさん [2014/03/10(月) 21:15:25.43 ] >>672 いまiOS向けの開発してるけど、VSからだとデバッグとか時間かかりすぎて実ように絶えない(。-_-。)
676 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 00:48:59.23 ] >>675 Xcodeもobj-cもろくに使えない無能なのが悪い。諦めて無駄な時間費やしてデバッグしてなさい。
677 名前:デフォルトの名無しさん [2014/03/11(火) 01:25:58.94 ] >>676 XamarinStudio使えば解消されるんだが。 あんなめんどくさいクソ言語使って俺できる男キリッとか池沼ですかw
678 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 03:33:42.71 ] >>677 自分が理解出来ないから糞言語か。自分が無能ですと自己紹介して楽しいんかね。
679 名前:デフォルトの名無しさん [2014/03/11(火) 06:47:29.92 ] >>678 お前も他のいい言語があるのを少し知った方がいいぞ。 今の時点でObjectiveCがすぐれてるとこってなんなの?記述もめんどくさいしMac/iOS以外で使われてないことが言語としての優位性を持ってないことの証明にならん?
680 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 07:03:03.37 ] Xcodeはドキュメントフォーマットすらロクに出来ないのにIDE名乗って恥ずかしくないの
681 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 07:34:23.14 ] そんなの飾りです ドザーには分からんのですよ
682 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 08:45:51.47 ] >>679 つか、そういうのって適材適所だろ。言語的な良さなんか糞の役にもたたん。 結局それ用に設計されてるんだしちょっと凝ったことやろうとするとネイティブな環境の方が 痒いところに手が届くんだし。WPFに全然関係無いしいい加減スレチやで。
683 名前:デフォルトの名無しさん [2014/03/11(火) 10:51:30.24 ] >>682 すれち言うなら>>641 あたりから言えや
684 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 11:25:21.44 ] 少なくともobjcはみんな避けたがってるのは事実
685 名前:デフォルトの名無しさん [2014/03/11(火) 11:46:04.50 ] しかしiOSのAutoLayoutは慣れれば簡単に使えるようになるのか? XAMLに慣れた身だとどうにもわからなくて、結局前作ったレイアウトシステム弄ってXAMLライクに設定できるようなの作ってしまったが不必要なもの作ったのかどうか確信が持てない。
686 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 15:01:45.36 ] そもそもiOSというかiPhoneやiPadは解像度がある程度固定されてるのしか存在しないというなが最大のメリット(だった)だから簡単だった
687 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 08:18:49.76 ID:OXUOGNNe] そう思ってた時期が僕にもありました(aary
688 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 12:00:42.17 ID:lM6It6rw] IDがついに導入されたんだな 記念カキコ
689 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 12:49:51.37 ID:3ENgQR/9] あらほんとだ。 VSのXAML対応はもう少し頑張って欲しいな。現状エラー起きると特定が大変。 printfデバッグ的なことすらできないしなんとかならんものかなぁ。 正常な記述してもデザイナーがエラーはくのとかも困る。 パーツ共通化してリソースでマージしてとかすぐエラーはくしな。 まぁそういうのはコントロールにしろって考え方なのかもしれんが。
690 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 17:42:49.77 ID:S81t4a/W] お ID気づかなかった いいねぇ
691 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 17:42:17.30 ID:iT1RVwOl] ロジックではなくUIの読み込みが遅いのでアニメーションで誤魔化したいんだけど 遷移前にアニメーション開始、ロードしたUserControlのLoadedのタイミングで終了 ってやると何も表示されないで終わる・・・。タイミングの取り方も問題だろうけど UIスレッドが一本なのでロード中固まってしまうという話な気がするので・・・対策が 思いつかないわ・・・。何か良いアイディア無い?
692 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:12:35.85 ID:kiH7w+gK] UIの読み込みが遅いって何?
693 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:45:20.53 ID:QAr7puSZ] ロジック(VM?)じゃなくて、読込が遅くなるほど重量級のUserControlって一体…
694 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:48:10.55 ID:iT1RVwOl] 客先に指定された買い入れのWinFormsのコントロール 複数あるのも原因だけど張り付けただけでも全部読むと秒単位固まるんだよね・・・ あまりに糞過ぎて捨てたいんだけどそうもいかんという。PRISMの問題でもあるんかなぁ
695 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:59:44.80 ID:ZTADfK4m] > UIスレッドが一本なのでロード中固まってしまうという話 既に答えが出てるじゃないか。 UIスレッドが1本なのが問題なら、2本にすればいい。 多少、泥臭くて面倒だが、誤魔化す為のアニメーションなら現実的なレベルだろう。
696 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:19:15.64 ID:EdKYJdmY] RibbonWindow使ったら外枠がおかしくなる現象はどうすれば治りますか?
697 名前:デフォルトの名無しさん [2014/03/13(木) 19:26:16.05 ID:dycS71DR] >>695 UIスレッド2本とかねーよw
698 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 21:07:13.29 ID:iT1RVwOl] >>695 >>697 うん、俺も出来ないと思ってたんだけど二本に出来るんか?しかも一つのウィンドウの中とかで。
699 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 23:56:20.01 ID:ZTADfK4m] >>698 当然、1つのウィンドウの中で2つのUIスレッドは使えない。 別ウィンドウなら別のUIスレッドが使えるので、 別ウィンドウを元のウィンドウのすぐ手前に配置して、1つのウィンドウのように見せる。
700 名前:デフォルトの名無しさん [2014/03/14(金) 00:45:20.87 ID:bbGk2WDX] >>699 誰得だよそれ…(´Д` )
701 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 04:27:21.25 ID:HgH3MD9i] なにを言ってるんだろう…とまぁ俺の無知なんだろうなと静観してたが、 そういう意味かよ…スプラッシュウィンドウ的な単語を使えば誰でも分かったと思うんだがw
702 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 06:40:40.34 ID:SfVBkUP1] 遷移前に一回裏でnewしておけば早くなるパティーンもあるけど
703 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 12:52:11.84 ID:oQoAR40W] >>696 あれ出来悪いからソース付きの旧バージョン使った方がいいと思う 出来自体は一緒だが自分で修正しやすい。 名前空間とか差し替えたらそのまま使える www.microsoft.com/en-us/download/details.aspx?id=11877
704 名前:デフォルトの名無しさん [2014/03/15(土) 21:20:28.85 ID:s/ZKyli9] こんな結果になるんなら、 命名はお姫様細胞で良かった。
705 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 17:10:00.52 ID:oNuhFUS2] Binding.IsAsyncに2週間早く気づいていれば・・・こんなことには
706 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 01:04:16.11 ID:WN1ig2I7] DataGridのセルにComboBox(テキスト編集可能状態)を入れた状態でそのセルの 文字を編集した時に日本語だけ入力した場合編集を終了してもデータが入力された 事にならないみたいなんだけど原因分かる人います? アルファベットだけとかアルファベット+漢字みたいに混ぜると大丈夫だし不思議な 動きな気がしているんだけど・・・。
707 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 01:58:35.73 ID:trnp8Ujb] Control.Backgroundの規定値はBrushes.TransparentとMSDNには書いてあるけど これ間違ってるよね? 実際はnullでマウスイベントが取れなくてちょっと悩んだ。
708 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 15:21:57.76 ID:N2+Y2XM3] >>707 なんかVS2012とVS2013で挙動が違った記憶があるんだけどどうだったかなぁ。 同じ.NET 4.0 Full向けのプロジェクトを開いているのに2012ではBackgroundが 設定されていないと白だかだったのが2013で開くと透明になっていた気がする。
709 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 21:50:09.10 ID:trnp8Ujb] ideone.com/IARf72 こんなんやってみたら最後の要素しか表示されない。 DataTemplate使えばいいんだけど、何が間違ってるのか分からん。
710 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 22:06:03.81 ID:rS2wZVev] それだとTextBlockはインスタンス一つしか作られないから
711 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 22:08:08.92 ID:bZk4pJSQ] 1つのTextBlockが複数の親を持つことになるからじゃないの
712 名前:709 mailto:sage [2014/03/24(月) 22:33:11.68 ID:trnp8Ujb] あーなる、言われてみればそうだわ。 すっきりしたわ、ありがとう。
713 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 21:28:51.46 ID:p8802FLC] >>707 透明のブラシを指定してもマウスのイベントは透過するはずだけどねw
714 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 00:05:22.70 ID:Pj9p4mhe] >>713 TransparentだとMouseLeftButtonDownが取れるけど、nullだと下の要素に行っちゃう。 この辺の事ってどこに書いてあるんだろう。
715 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 10:08:12.08 ID:s2g7M8bp] >>714 ここ msdn.microsoft.com/en-us/library/ms752097.aspx
716 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 23:18:57.63 ID:a/E0lR2i] ComboBoxをIsEditable=Trueにした状態で実行時に日本語のみを入力すると IMEにGoogle日本語入力使っているとPropertyChangedが来ない事に気付いた。 アルファベットのみやMS-IMEだとちゃんと来るんだけど・・・orz これってどんな状況でも入力された文字を受け取れる方法ってあるかな? ATOKとかはどうなんだろうなぁ・・・。
717 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 00:49:52.40 ID:X716KWav] Nyaruruとかいう人が随分前にそんな記事書いてたな。 詳細は忘れたが
718 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 01:08:06.85 ID:e6ZWuSMF] UpdateSourceTriggerがPropertyChangedでソースがupdateされないって意味だろうか… コードビハインド側でならイベ拾えてるとかあるし、もし発生してるなら 手動でUpdateSourceしちゃうとか…
719 名前:デフォルトの名無しさん [2014/03/31(月) 02:15:54.07 ID:ETDm8N10] >>717 その人がGoogleIMEに絡んでてWinRTのIMEは魔界だ的なつぶやきしてた希ガス。 個人的にはあの人をIMEなんかに時間とらしてるのが勿体無い希ガス
720 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 19:48:13.83 ID:I0zYfHgV] MSは昔からIMEの仕様をいい加減にしてる Googleはしっかり対応できないので適当に実装をしてる 研究費はかけたくないみたいだ MSのアーキテクトがちゃんと考えてないんだと思う IME使ってない人間が開発してる恐れもある
721 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 19:51:27.81 ID:pqvpBedH] >>720 あれはepson製でしょう?
722 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 12:36:43.32 ID:VeuFJ2+/] MS-IMEって中華製なんでしょ?
723 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:10:32.83 ID:eGYDDpSi] XAMLで配置したコントーロルのうち、テキストを入力可能なものを選んでC#コード側である処理を行いたい場合、どうやればいいですか? コントロールを一個一個取得するコードはできていて、デバッグ実行すると各コントロールのインスタンスのプロパティは見えています。
724 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:16:47.80 ID:fbrPwcTM] >>723 「テキストを入力可能なもの」というのが、 IsReadonly=falseのものを指してるのか、IsEnabled=trueのものなのか、 文字列を設定可能なコントロールを指してるのか、意味不明なんだが
725 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:23:49.39 ID:eGYDDpSi] >>724 画面上に存在していて、テキストの入力を受け付けるコントロールを選びたいので 前者が意味的に近いと思います。
726 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:29:31.87 ID:fbrPwcTM] >>725 コントロールを取得するコードがあり、各コントロールのインスタンスのプロパティも見えてるんなら あとはやりたいように実装すればいいだけでは? もしかして「見えてる」とは、コードじゃなくWPFビジュアライザのこと言ってる?
727 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:34:47.41 ID:33nh4Dwt] ホントに質問の意味がわからない… よもや if を知らないとかそういうレベル…?もうwpfうんぬんやないでそれだと。。
728 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:39:38.48 ID:eGYDDpSi] >>726 コントロールを1つずつスキャンするコードの中で、 今スキャンしているコントロールがTextBoxなら、追加の処理を行う、 ということは実現できています。 これを、TextBoxに限定せず、一般のコントロールに対して統一的に 文字が入力可能なコントロールを選別する方法があれば知りたい、というわけです。
729 名前:デフォルトの名無しさん [2014/04/04(金) 16:42:21.56 ID:QbEyL1Pb] そもそも入力できるコントロールなんて幾つもないだろ
730 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:45:14.80 ID:fbrPwcTM] >>728 そもそもなんでそんな面倒なことせにゃならんの? UIが動的に変化するにしても、ターゲットとなるコントロールの正体が判らんとは、おかしいにも程があるだろ
731 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:46:52.14 ID:nYgZv8ve] 入力可能というのをどうやって判断するのか
732 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:48:15.24 ID:XTcslJkb] 統一的にという話ならUIElementにTextInputイベントがあるくらいだから WPFのコントロールでテキスト入力不可能なものなんてないんじゃないの
733 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:54:56.35 ID:fbrPwcTM] Textプロパティがあるかで判断する方法も考えたが、 そもそもContentにも文字列設定可能だし だからこんなこともできちゃうし・・・ <Window xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="223.611" Width="375.521"> こんにちは </Window> ある意味WPF最強w
734 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:58:20.60 ID:eGYDDpSi] >>730 タブレットデバイス向けに、オンスクリーンキーボードを自動的に出したり引っ込めたりする必要があります。 WindowsStoreアプリなら、入力可能な部分にフォーカスが当たると自動的にオンスクリーンキーボードが出ますが ある制約があって、WindowsStoreアプリではなく、デスクトップアプリとして実装する必要があります。 >>731 まさにそれが知りたいです。 >>729 これまでのご意見を総合すると、コントロールを明示的に指定する方法がシンプルでよさそうです。
735 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 17:20:25.39 ID:33nh4Dwt] 入力可能な個所は必ずTextBoxまたはTextBoxBaseであると限定できるなら、 VisualTreeHelper あたりでどうにかできそうではあるけど… ComboBoxのIsEditable=TrueはデフォTextBoxみたいだ まぁ、限定できない数じゃないしコントロールの型で判定した方がいいな
736 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 18:12:16.62 ID:6q+0yI43] WPFのイベント・バブリングについて質問があります。 あるWindowの中に配置されているコントロールで、例えば、ボタンをクリックしたmousedownイベントは、 バブルアップして最終的にはそのWindowのmousedownイベントをも発火させると思っています。 しかし、ボタンをクリックしてもWindowのmousedownイベントのハンドラは発火しません。 どうしででしょうか?
737 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 18:20:27.77 ID:Z2CFn8dC] >>736 これのせい msdn.microsoft.com/ja-jp/library/system.windows.routedeventargs.handled%28v=vs.110%29.aspx そんなに難しい話ではない Handledプロパティがtrueになって処理済とされたイベントは 特殊な方法で初期化されているイベントハンドラにしか通知されない
738 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 18:28:31.15 ID:6q+0yI43] >>737 ボタンのmousedouwnイベントを、最終的な親のwindowのmousedownイベントにまで届けるには具体的にどうすればいいのですか? 各コントロールのHandledプロパティはデフォルトでfalseのようなので、勝手に親に伝搬していくと思ってるのですがwindowにまで届きません。
739 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 18:34:23.80 ID:6q+0yI43] あれ?もしかしてPanelのHandledはデフォルトでtrue?
740 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 18:37:57.90 ID:6q+0yI43] PanelにHandledプロパティなんかなかった・・・orz
741 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 19:16:49.40 ID:iSI+gb3E] Buttonの場合は左クリックのMouseDownはたぶんOnMouseDownの時点で握りつぶすようだけど、 よく意図が分からん仕様だな。 MSDNには「一部のコトロールはそういう処理をする」とだけ書いてある。
742 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 22:04:23.83 ID:SA366w7Y] >>738 どうすればっていうのは737に書いてると思うのだけど
743 名前:デフォルトの名無しさん mailto:sage [2014/04/07(月) 11:21:09.55 ID:OQ0TLFwv] >>742 ウィンドウのコンストラクタの中で MainWindow1.AddHandler(MouseDownEvent, new RoutedEventHandler(mouseDownHandler), true); ってやったら自作のmouseDownHanderが呼ばれました!さんくすこ!
744 名前:デフォルトの名無しさん mailto:sage [2014/04/07(月) 23:48:20.57 ID:cV3kIsRb] WPF本格的に勉強したいんだが、いい本ない? 洋書でもいい 業務では1年ちょい使ってるが、職場に有識者いない感じ ProWpf4.5とか評判良さそうだから興味あるが、誰か読んだ人いないか
745 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 00:28:47.35 ID:1/sEKcuY] >>744 本格的を実用的と取ると適切な本はないと思った方がいい しっかり使うには基本のフレームワーク以外も使う必要があるけどそれについての本なんてない 海外のサイトなどを地道に見ていくしかないけど一人じゃ厳しい 何とかして実力者を見つけるか勉強会に出るぐらいかな
746 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 00:51:54.73 ID:KmEcitHT] >>744 まあWPFに限らず洋書の技術本なんてほとんど全部拾え(以下自粛 その本もいろんなところに落ちて( まあこれなら合法的にタダで読める。 もっとも150ページ弱でWPFを解説しきれるはずもなく、中身スカスカだけど。 https://docs.google.com/viewer?url=www.syncfusion.com/Content/downloads/ebook/WPF_Succinctly.pdf しかし、1000ページオーバーの洋書でもすべての重要項目をカバーしきれないのが WPFの恐ろしいところ。
747 名前:デフォルトの名無しさん mailto:sage [2014/04/08(火) 01:30:30.31 ID:a6XK4Xv5] 洋書もサイトのヘルプに毛が生えた程度のものが多い感じだね。 結局はこの手の本って現場でモリモリ書いているような人が書いてないから 当たり障りの無いことしか書かれてないし実用性求めたらろくな本がないもんだけど WPF関連は輪をかけて大した本が無い状況。 英語で良いならstackoverflow眺めながらモリモリ書くのがベストだね。 フレームワークとかもナマモノだしな。
748 名前:744 mailto:sage [2014/04/08(火) 08:53:16.39 ID:XRLU8ip5] >>745-747 マジかー ありがとう とりあえず洋書読んで、フレームワークもOSS多いし中身読んでって感じでいってみるわ
749 名前:デフォルトの名無しさん mailto:sage [2014/04/12(土) 13:10:29.79 ID:lhtyBYQc] >>744 WPF Unleashedもおすすめだよ。 proよりもこっちの方が読みやすい英語だった。 あとはcodeplexとかで、いろんなコード見てみるのがいいんじゃないかな。
750 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 15:36:54.29 ID:zCF4EGvD] あああああwpf難しい 向いてないね俺
751 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 15:45:43.08 ID:mb1OfksF] WPFは時間の投資に対してリターンの少ない環境だとは思う しかしディスプレイの高解像度化でDPI依存が辛いからWPFに移る予定
752 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 16:24:45.66 ID:x/KtMqk9] バインドの設定済みのxamlから、物凄くアバウトなVM雛形を吐いてくれるツールってないかな まぁ、自力で書いてもそんな時間かからんが、既にあるならソレ使おう的なw
753 名前:デフォルトの名無しさん [2014/04/15(火) 11:56:27.24 ID:7sxQZ0IC] >>749 Adam Nathanのやつだよね? ストアアプリやる必要性からWPF含めてXAML本幾つか読んだんだけどこの人の本が一番いい具合に突っ込むところは突っ込みつつかつ全体を網羅してまとまってた希ガス。
754 名前:デフォルトの名無しさん mailto:sage [2014/04/16(水) 12:41:54.62 ID:U8lFDcvm] MSの新CEO・・・?と一瞬思ったが、全然違った CEOの名前が全然覚えられない
755 名前:デフォルトの名無しさん mailto:sage [2014/04/16(水) 19:05:52.10 ID:81kPth3L] なんとかナデラだろ 日本人っぽい姓で覚えやすいw
756 名前:デフォルトの名無しさん mailto:sage [2014/04/16(水) 22:43:05.28 ID:uN/tBaHz] >>753 そうそう。ProWPFもざっと読んだけど、Unleashedの方が分かりやすかった。 WPFを始めたばかりの人でも、この本はHowTo的なサンプルコードが一杯あって読みやすいんじゃないかな。 あと、こういう所でよくミスする、ってポイントの説明もあっていい感じ。 こんな本の和訳でも出れば、WPFももっと普及するだろうに、、、と本当思う。
757 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 00:27:17.18 ID:WOVbM93u] MSは普及させる気があるのか OfficeアドインもHTML5+jsとなるとシルバーライトの二の舞か
758 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 00:38:52.72 ID:4cA3qYT/] むしろこんな筋が悪い技術普及してもらっては困る
759 名前:デフォルトの名無しさん [2014/04/17(木) 01:31:22.88 ID:xO4Uc49B] >>758 だからと言ってHTML5は勘弁して欲しいわ
760 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 01:38:59.02 ID:az0Jg9EJ] javascriptとかいうゴミ
761 名前:デフォルトの名無しさん mailto:sage [2014/04/17(木) 01:51:03.70 ID:5kGvZy5A] カッチリ冗長未完成を取るか、いい加減変態未完成を取るかか・・・ ひでぇ選択肢だ・・・
762 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 22:25:02.42 ID:aLn8JpVk] WPFのグラフィック本当に糞遅いな。 StremGemoetry使ってたった数千程度の頂点のPolylineを書いてるだけなのに 何で秒単位の時間が掛かるんだ? GDI+ですらこんなの一瞬で終わるのに。 こんな性能じゃ何年たっても一向に普及しないのはむしろ当然だわ。
763 名前:デフォルトの名無しさん mailto:sage [2014/04/18(金) 22:36:18.34 ID:QSQ7rns3] ベクターベースのUIを持ってる以上のものは期待しない方がいいな ビットマップのImageSourceとかストレッチしないつってんのにアンチエイリアスかけるし 原寸表示してんのにニアなんちゃらとかいう特殊なオプションが必要って
764 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 20:21:32.19 ID:IBk9cZtN] ChromeやFirefoxみたいなタブ管理機能を備えたアプリケーションを作りたいのですがどうすればいいのでしょうか
765 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 20:25:41.67 ID:7yO113Ux] みたいなタブ管理ってどっからどこまでのことなのかまるでわからん
766 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 20:35:26.81 ID:IBk9cZtN] D&Dでタブを動かすことができる タブをウィンドウに分離できる タブの固定などができる タブの下にUrlなどの情報が表示される などです ChromiumやFirefoxのソースコードで作ろうと思ってビルドで挫折したので馴れている.NETで作ろうと思ったわけであります
767 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 20:44:46.03 ID:ya8eWhKL] どうすればいいってそのへんの個別の要件を満たす作り方全部教えろってかw せめてTabControlなり張り付けて問題にぶつかったらにしろと…
768 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 20:50:28.06 ID:IBk9cZtN] とりあえず一番上はネット上を参考に、一番下はタブ生成時にTabItemに挿入することで実装できました タブの固定は優先度が低いのでそのうち実装する予定です ただSimpleTabItemなどを参考にしましたが丸みを帯びたデザインにするのができません
769 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 20:50:53.07 ID:nSzj8sir] 3,4番目を人に聞いてる奴に1,2番目の独自実装は無理
770 名前:デフォルトの名無しさん [2014/04/19(土) 21:46:26.00 ID:pzsg7m6u] >>768 そういうのは自分でキャンバスとかにゴリゴリ乗っけたり描いたりしたほうがいいんじゃないのか…
771 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 21:56:06.43 ID:UQPJSFXx] >>768 SimpleTabItem って Blend のこれで合ってるかな? msdn.microsoft.com/ja-jp/library/cc294894 (v=expression.40).aspx あってるなら、SimpleTabControl を配置して、そこにある TabItem を選択して右クリック。 「テンプレートの編集」-「現在の編集」で ControlTemplate の編集ができるから、そこで Border の CornerRadius を変更するだけ。
772 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 22:31:29.02 ID:IBk9cZtN] SimpleTabItemですが正確には、Xamlで書いてもうまくいかずに、ソースコード中でCornerRadiusを変更したBorderを入れましたが四画の中に四角が入りました
773 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 22:44:36.25 ID:wkJcdH8J] 作れば?としか言いようがないなw
774 名前:771 mailto:sage [2014/04/19(土) 22:53:38.77 ID:UQPJSFXx] >>772 そのコードは、おそらく ControlTemplate を変更してるんじゃなくて、単に Border を TabItem に入れてるだけじゃないかと。 Blend から SimpleTabControl を追加したなら、プロジェクトに "Simple Styles.xaml" ってのが追加されてるはず。 そのファイルを開いて x:Key="SimpleTabItem" を検索。 その何行か下にある <Border Margin="0,0,-4,0" x:Name="Border" ... にある CornerRadius="2,12,0,0" の数値を適当に変更してみて。 何を変更しているか意味が分からないなら、この辺のページを読んで。 msdn.microsoft.com/ja-jp/library/ms750613 (v=vs.110).aspx msdn.microsoft.com/ja-jp/library/ms745683 (v=vs.110).aspx msdn.microsoft.com/ja-jp/library/ee230084 (v=vs.110).aspx
775 名前:デフォルトの名無しさん mailto:sage [2014/04/19(土) 22:56:31.30 ID:IBk9cZtN] >>774 そういう意味ではなくて、動的にタブを追加しているためかわかりませんが、SimpleTabItemのデザインが適用されない or 適用方法がわからないです
776 名前:771 mailto:sage [2014/04/19(土) 23:13:33.39 ID:UQPJSFXx] >>775 まだ手探りなのはわかるけど、まずは、>>774 の URL を読んでみて。 WPF はサンプルが全然少なくて、基本がわかってないと、しょっちゅうつまずくことになるよ。 それで、Style を適用させるには、前提として App.xaml に "Simple Styles.xaml" がマージされていることを確認。 <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="Simple Styles.xaml"/> ... あとは、Xaml から、こんな感じで全部の TabItem に適用させるか、 <Windows.Resources> <Style TargetType="TabItem" BasedOn="{StaticResource SimpleTabItem}" /> ... もしくは、コードからこんな感じで Style を設定する。 var item = new TabItem { Style = (Style)FindResource("SimpleTabItem") };
777 名前:771 mailto:sage [2014/04/19(土) 23:17:42.98 ID:UQPJSFXx] 書き忘れ。 >>775 多分、動的に追加しているのが原因。 Blend から SimpleTabItem を追加すれば Style="{DynamicResource SimpleTabItem}" って自動で書いてくれるけど、 動的にやるなら >>776 みたいに自分で設定してやらないとダメ。
778 名前:775 mailto:sage [2014/04/20(日) 18:34:39.90 ID:noaEY9Ib] 有難うございます できました
779 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 01:18:12.29 ID:Z6l2VC5P] NavigationWindowのTemplateをいじりたいのですが ネットにあるサンプルを張り付けてもスタイルが反映されません。 何か原因はわかりませんか。 NavigationWindow.Templateに直接ControlTemplateを渡すと とりあえず読み込むページが反映されるようです。
780 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 09:20:41.34 ID:GvqsLaip] >>779 その説明では、さっぱり分からない。もっと具体的に。 Template をどういじりたいの?ネットにあるサンプルってどれ?とりあえず読み込むページって?
781 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 22:27:48.48 ID:Z6l2VC5P] <NavigationWindow x:Class="WpfPage.MainWindow" xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" Source="MainPage.xaml"> <NavigationWindow.Resources> <Style TargetType="{x:Type NavigationWindow}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type NavigationWindow}"> <DockPanel Background="WhiteSmoke"> <TextBlock DockPanel.Dock="Top" Text="Header"/> <TextBlock DockPanel.Dock="Bottom" Text="Footer"/> <AdornerDecorator DockPanel.Dock="Top"> <ContentPresenter ClipToBounds="true" Name="PART_NavWinCP"/> </AdornerDecorator> </DockPanel> </ControlTemplate> </Setter.Value> </Setter> </Style> </NavigationWindow.Resources> </NavigationWindow>
782 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 22:32:49.65 ID:Z6l2VC5P] msdn.microsoft.com/ja-jp/library/aa970054 (v=vs.90).aspx このページを参考にしたのだけどこれだとスタイルが適用されません。 <NavigationWindow.Template>に直接ControlTemplateを渡して ContentPresenterを{TemplateBinding Content}とすると一応期待した動作になります。 これが正しい解決なのか横着なのかもよくわかりません。
783 名前:デフォルトの名無しさん mailto:sage [2014/04/23(水) 23:52:30.02 ID:GvqsLaip] >>782 stackoverflow.com/questions/431940/how-to-set-default-wpf-window-style-in-app-xaml ・TargeType の指定が間違ってる。NavigationWindow ではなく MainWindow が正解。型が一致してないと適用されない。 ・NavigationWindow から派生する型で Style を使いまわしたい場合は、x:Key を使え。
784 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 00:13:19.21 ID:TPSxVWf5] >>783 できたよありがとう Styleの外出しも参考になりました
785 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 23:09:53.14 ID:KITKQSDs] ユーザーコントロールを作って、それをウィンドウの中で使おうとすると Visual Studioのデザイナで 「オブジェクト参照がオブジェクト インスタンスに設定されていません。」 とかいうエラーを出してプレビュー画面にエラーのスタックトレースが列挙されるのはどうにかなりませんか? ちなみに実行しても何の問題も生じません。エラーで騒いでるのはVisutal Studioのデザイナ画面だけ。
786 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 23:19:53.15 ID:TNfn8SPs] どうせApplicationとかAssembly触ってんでしょ msdn.microsoft.com/ja-jp/library/bb546934%28v=vs.90%29.aspx
787 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 23:35:38.02 ID:fWm8fXw6] >>785 コメントアウトを使って、どれが原因か確かめてみたら?
788 名前:デフォルトの名無しさん mailto:sage [2014/04/24(木) 23:46:03.98 ID:6+qpQPlw] App.configに書いた設定読む処理が入ってたりとかするとアレになる
789 名前:785 mailto:sage [2014/04/25(金) 10:59:30.59 ID:u5lUGuWK] 親ウィンドウの位置を補正するコードをコメントアウトしてみたらデザイナのエラーは消えました。 コントロールでそんなことするなと言われればそれまでなんですが、どうしてもその処理は必要なので、 tryの中で呼んで例外を握りつぶして解決してやったぜ。ワイルトだろぉ?
790 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 11:14:11.47 ID:nFLk447L] はい、そういうスレじゃないんでね…
791 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 11:16:15.91 ID:TtkNide3] くせーなこいつ
792 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 11:41:12.29 ID:RiZFk07a] そこまで条件というか原因がわかっていてなぜ握りつぶすのか
793 名前:デフォルトの名無しさん mailto:sage [2014/04/25(金) 19:22:30.38 ID:BeYqZeZk] デザインモードかどうか判定しろよ
794 名前:785 mailto:sage [2014/04/26(土) 21:42:24.05 ID:cOmCdjvc] DesignerProperties.GetIsInDesignMode(this) なるほどね
795 名前:デフォルトの名無しさん [2014/05/02(金) 17:36:10.65 ID:4xxKAu7L] DrawingContext.DrawLineでドット単位のグラフを書いてるんだけど、RenderTargetBitmap.Renderすると、アンチエイリアスがかかっているのかぼやけた感じになったり重ね描きしたところがアルファブレンドしたような感じになってしまいます ビットマップにスケーリングされないように描画するにはどうしたらよいのでしょうか?
796 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 21:21:14.44 ID:dPjFFZXQ] >>795 RenderOptions.SetBitmapScalingMode で BitmapScalingMode.NearestNeighbor を指定すれば良いんじゃないかなぁ。
797 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 00:27:40.84 ID:pUvksEKj] WPF意外と使えるじゃん 今までゴミだと思ってて悪かったな
798 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 12:43:51.56 ID:BZBXW0bi] >>797 いつの間にいい女になってたんだって感じだな こんなんだったらもっと早く付き合っておけば良かったと後悔
799 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 13:09:00.76 ID:60DmAUT2] 外面だけの女だと思ったら、内面も柔軟でハイスペックな子だったという。 Formちゃんと同じ付き合い方だと合わなかっただけで。
800 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 14:29:17.82 ID:I7HZgmcz] >>798 もう俺は開発しつくしたわ
801 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 18:52:02.87 ID:/Id5A65T] >>796 ありがと、でもだめだった コードからの指定だと利かないみたい 結局グラフのなかはwritablebitmapでやることにしました
802 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 14:35:23.95 ID:fQELNO7r] 音声ファイルのリソース化がイマイチわからない 画像ファイルはpack://application:,,,/image/gazou.pngみたいな感じの文字列をUriに指定したら読み込めるんだが、 mp3で同じ事しても再生されてくれない、ちなみにMediaPlayerでやってる ただ絶対URIで指定すると再生してくれるんよ、もしかして画像と音声じゃ指定の仕方とかファイルの起き方とかが違う? 画像 BitmapImage m_bitmap = null; filename = "pack://application:,,,/image/gazou.png"; m_bitmap.UriSource = new Uri(filename); 音楽 MediaPlayer player = new MediaPlayer(); String soundfile = "pack://application:,,,/sound/test.mp3"; player.Open(new Uri(soundfile));
803 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 21:38:35.20 ID:izVfMrBs] MediaPlayerやMediaElementは物理ファイルじゃないと扱えないし 確かpackスキーム自体扱えないはず
804 名前:デフォルトの名無しさん mailto:sage [2014/05/23(金) 23:18:22.03 ID:vmjDfDxI] .net3.5でリボンを使おうと考えていますが以下のコードで Windowの右側と下側に黒い縁が入ってしまいます。 どこを修正すればよいでしょうか。 <r:RibbonWindow x:Class="Test.MainWindow" xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="schemas.microsoft.com/winfx/2006/xaml" xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary" Title="MainWindow" Width="400" Height="300"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <r:Ribbon Grid.Row="0"/> <Grid Grid.Row="1" > <Grid.ColumnDefinitions> <ColumnDefinition Width="200"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <TreeView Grid.Column="0" /> <GridSplitter Grid.Column="1" Width="5" ShowsPreview="True" HorizontalAlignment="Center" VerticalAlignment="Stretch"/> <Grid Grid.Column="2"> <TextBox/> </Grid> </Grid> </Grid> </r:RibbonWindow>
805 名前:804 mailto:sage [2014/05/23(金) 23:23:42.80 ID:vmjDfDxI] ちなみにOSはWindows8.1です。 またRibbonWindowではなく普通のWindowにすると黒い縁は消えます。 ただしクイックアクセスツールバーはタイトルバーから独立します。
806 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 23:12:25.97 ID:xLbzThu2] 謎。もっと最小のXAMLで、RibbonWindowタグのみでも出るから…
807 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 14:00:32.77 ID:OQ+TaJO4] OS毎の基幹テーマと相性悪いんじゃね Win8だと4.5の標準リボンあるし、まああれも出来悪いままだが
808 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 13:10:53.85 ID:qiFpmg2w] WPFは死にました マイクソソフトの次回作に御期待ください
809 名前:デフォルトの名無しさん [2014/05/27(火) 15:01:17.53 ID:MyBEMO4q] 今だWPFは人類最強のUIフレームワークなんだが(´・_・`)
810 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 15:19:24.90 ID:D6t3bmO9] 今だWPFは人類最強のメモリリークフレームワークなんだが(´・_・`)
811 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 00:01:18.99 ID:OhG7X8yk] まあストアアプリウィンドウ表示がどんなもんかだな
812 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 00:44:39.84 ID:yK8N9r8P] あんなの期待する方がどうかしてる。 ないよりマシ以上の意味があるわけない。
813 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 03:49:15.67 ID:4bzEKq86] いや、ぶっちゃけ今でも新規案件・リプレース共にWinFormsなんだよな Form/WPFの熟練者って9:1くらいの割合なんだよな、チーム仕事する以上これじゃ採用できないよ プロジェクト毎にチーム組織して終わったら解散、ずっとメンテもできないし WPFを習熟するまで遊んでられるほど余裕あればいいけどまぁないよね あえてWPFに熟練してないメンバーがあえてそこの実装にリソース割く意味ないんだよね なによりWPFはFormと比較してパフォーマンスが悪すぎる
814 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 07:31:13.22 ID:zVPVrg22] そんなの10年は聞いてるから もう少し別の話はないのかボケ老人よ
815 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 10:40:46.55 ID:EV+xsXSJ] ストアアプリは酷いのばっかりだよ・・
816 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 17:18:55.05 ID:p7sTJoTy] それでもWPFより先あるだろ
817 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 18:08:55.68 ID:6RxarYIU] dev.live.com/ gihyo.jp/dev/serial/01/wl-sdk
818 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 20:03:40.02 ID:8pIXW7AP] VisualStudioのフレームワークを公開してくれたらなぁ。 それでMFCのテンプレートみたいに手軽にそれなりのアプリを組み立てられるようにしてくれたらいいのに。
819 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 20:23:47.83 ID:S21b1tjy] ストアアプリもXAMLで行けるんでそ?
820 名前:デフォルトの名無しさん [2014/05/28(水) 20:28:12.31 ID:pdzwiaYa] >>819 いけますよと。 けどいろいろ削られててWPFで使えるテクニックが使えないこともままあるけど。
821 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 20:31:10.91 ID:aBbF8Esa] 今後はストアアプリがメインだからな。