WPF(.NET4.x, .NET Core) GUIプログラミング Part23

■ このスレッドは過去ログ倉庫に格納されています
2019/05/16(木) 07:52:32.39ID:8fOYIMEO
Windows Presentation Frameworkについて語るスレ。

前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
https://mevius.5ch.net/test/read.cgi/tech/1513175747/

関連スレ
Windows 10 UWPアプリ開発 Part 2
http://mevius.2ch.net/test/read.cgi/tech/1499658092/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
2019/07/11(木) 22:18:21.97ID:/+joyl+w
入れ替えるのだって手間はかかるしノーコストというわけにはいかんだろう。
というか、金積んで入れ替えられるならまだましで、OSSは下手したら全部自分で
面倒見なきゃならん可能性もあるしな。
2019/07/11(木) 22:48:30.89ID:BYM9TrIU
x.bindはよきて
2019/07/11(木) 23:17:35.45ID:SfZRSa0r
WPFとは何だったのか
2019/07/12(金) 07:23:20.71ID:ovV39x3a
>>414
「お前みたいなバカ」発見機
2019/07/12(金) 07:38:05.38ID:3qkMVbCb
WPF使えるはおまえのような極一部の天才だけだからな。普及しないのは当然だ。
2019/07/12(金) 07:50:39.48ID:mH0eyMQz
WinFormsだと簡単にできることが
WPFだとひと手間かかったり代替できるシロモノじゃなかったのは普通にイタイ.

あと外部のライブラリの使用が前提みたいになってるのも使いづらさの象徴みたいなもん

まあライブラリ使わせるのは構わんよ.
重要なのはそこじゃないから
ただしMicrosoftが率先して作るようじゃなきゃだめだ

なんだかんだ言ってもWinFormsが未だに廃れる様子が全くないことがすべてを物語っている
418デフォルトの名無しさん
垢版 |
2019/07/12(金) 10:58:35.11ID:hrlFpRc9
WinFormsでPerMonitorDPI対応とかって最新だと簡単なの??
419デフォルトの名無しさん
垢版 |
2019/07/12(金) 10:59:26.59ID:hrlFpRc9
簡単ならWPF使う理由もあまりないかなと思って
簡単じゃないならWPFのほうが楽そう
2019/07/12(金) 12:32:31.57ID:ovV39x3a
> なんだかんだ言ってもWinFormsが未だに廃れる様子が全くないことがすべてを物語っている
>>417 みたいなお爺さんにはそう見えるんだろうねw
2019/07/12(金) 12:33:37.68ID:3qkMVbCb
リアル馬鹿乙w
2019/07/12(金) 12:35:59.89ID:BgvsCAba
DPI非対応の時点で新規案件でWinFormsは選択肢から外れるな
適当なテストアプリなら使うが
2019/07/12(金) 12:45:06.78ID:vR3rPRrK
いやいや、高DPIがWPFしかまともに対応できないとか釣りだろう?
むりに若者ぶっているが話が古くないかな?
2019/07/12(金) 12:46:05.56ID:Y/iKed6k
Windowsがどうこうって時点で若者らしさはないから気にするな
425デフォルトの名無しさん
垢版 |
2019/07/12(金) 13:16:48.37ID:2XKZE4HT
WPFは衰退の一途だが、WinFormsも広く見れば廃れてまくってるよ
どんどんWebへ流出してる
WPFに比べるとWinFormsの方がWebとの間の開発者スキルのギャップが大きいのと、
年季の入った比較的重要なシステムに使われていることが多いのとで、WPFに比べるとWeb移行のスピードは緩やかだけど
2019/07/12(金) 14:16:13.28ID:JjzvAIHZ
現実問題としてWindows Server環境でもWeb化の勢いが止まらないからなあ。クライアントがブラウザに慣れたのとクライアントPCの性能向上もあって多少操作性が落ちてもアプリのインストールが不要なWebシステムが評価されるようになったんだよね。
2019/07/12(金) 14:32:33.59ID:d8PM53aF
ユーザー側としてWebUIの業務アプリ大嫌い
滅びればいいと思ってる
2019/07/12(金) 15:01:55.68ID:ouq9dw9u
リッチクライアントとWebクライアント隆盛はいつも繰り返してるよな
以前よりマシになったが、WebAppで作ると
前にできた事がなぜ出来ないんだコラ
って客がおこぷんしちゃう事がままある
2019/07/12(金) 15:05:15.16ID:abFzb5j4
作るから金クレっていうと更に発狂するしな
2019/07/12(金) 17:39:30.76ID:3qkMVbCb
WEB技術は流行だの古いだのと使い捨てばかりで追っかけるだけムダ。
ユーザーからすればウザい広告の技術でしかない。
いかに客を騙して金を取るかってだけ。WPFと同じ。客にメリットはなし。
2019/07/12(金) 18:27:06.83ID:rEJcXzGF
Web技術というか最近の技術はサポートライフサイクルが長くて数年と短いから、作って何年かは ほそぼそと保守契約して5年後とかに改修みたいなやつには入れにくいよね

.NET Coreも長くて3年のサポートだしやりにくい
2019/07/12(金) 19:57:21.32ID:324KTkGH
外観こだわるならWPFだし
そうでなければWinFormsでいいんじゃないの
433デフォルトの名無しさん
垢版 |
2019/07/12(金) 22:44:42.09ID:OQF1XzE6
Windowsアプリ希望 → 安定体質の企業 → 大抵外観にこだわらない → 大抵WinForms
2019/07/12(金) 22:49:10.44ID:7tlH/3uz
然程外観に拘らないけど、Hi-DPI対応はしておきたいからWPFだな
WinFormsでも対応出来なくもないけど面倒だ
2019/07/12(金) 22:57:18.55ID:hON+ItQO
WinFormsでも対応すべき解像度が限られてるし複数解像度対応とか簡単なのにそれすらできないのは技術が無さ過ぎる。
2019/07/12(金) 23:33:23.98ID:PmRnQ6zu
簡単ではない
すげー面倒
2019/07/12(金) 23:34:54.47ID:7tlH/3uz
>>435
解像度が限られてるってどういうこと
そんなんで任意の倍率のスケーリングに対応出来るの
2019/07/12(金) 23:39:27.68ID:hON+ItQO
継承とか再帰が難しくて理解できないならまあしゃあないな。
2019/07/12(金) 23:45:41.07ID:wl4Kl1W2
問題はそこじゃないんだけど
2019/07/12(金) 23:58:29.13ID:NU7e1WUB
滲ませときゃいい
2019/07/13(土) 00:00:56.44ID:5nQhdEBd
外観に拘るからwinformなんだよな。UIをコロコロ変えるなって業務じゃ当たり前の話。
2019/07/13(土) 00:12:22.75ID:3KZM/Lpz
>>440
滲んだりレイアウト崩れてるのはださ過ぎる
2019/07/13(土) 01:09:23.10ID:82wAf4q1
FHDで作っておいてそれを6/3,5/3,4/3,2/3に拡大縮小すれば
3840*2160,3200*1800,2560*1440,1280*720になる。
画面解像度を取得して変更後解像度を決定しthis.Controlsに対してLeft, Top, Width, Height, Font.Sizeを再帰関数でまとめてリサイズしてやれば大体のことは終わる。
この時ポイントは元のレイアウトを3の倍数で作っておくことでそうすれば縮小後のレイアウトがギザギザになることはない。
後はFormの部品と特殊なcontrolを調整するだけ。
これをFormのカスタムclass化しておけばForm毎に書く必要もない。
2019/07/13(土) 01:30:09.28ID:i3FtWD1F
めんどくせー
2019/07/13(土) 01:56:55.90ID:7P4pnQbe
Coreの方のWinformsだか忘れたけどソースにPerMonitorV2の処理が入ってるの見たな
動くのかは知らんけど
2019/07/13(土) 02:06:30.51ID:wLbo3yCa
>>443
レイアウト倍数に揃える時点で面倒だけど
Windows10の標準のスケーリングサイズは25%刻みだから4の倍数の方が都合が良い
2019/07/13(土) 03:10:50.07ID:82wAf4q1
>>446
爺がFHDのノートを125%とか150%にして使ってるだろ。
そうすると仮想解像度は1536*864とか1280*720になる訳だ。
1600*900の125%も1280*720。
だから1280*720対応が必要なんだよ。
2019/07/13(土) 05:20:07.77ID:K15oVfEY
老害「継承と再帰使えばできるだろ」
若者「へー、凄いですねー(棒」
2019/07/13(土) 06:01:54.50ID:bPr3gdFr
若者と老人の人形で延々と遊びたがっているやつって中身はどっちなんだろうな
2019/07/13(土) 06:41:44.42ID:5nQhdEBd
ここで暴れてる若者が無職だってのまでは分かる。
2019/07/13(土) 07:44:59.92ID:K15oVfEY
>>449
俺?
年は老害の方だよ
WPFは使うけどw
2019/07/13(土) 07:57:42.71ID:dW6OPSpS
このスレタイで暴れるとは一体
2019/07/13(土) 09:40:03.91ID:gtVCL9Bz
WPFむずい なしてこんなむずくしてるの?
2019/07/13(土) 12:18:47.98ID:N+VPDfLY
解像度の話なら、画面の大きさでダイナミックにレイアウト変更できるUWPが最強なんだけどね
縦置きにしたら邪魔になるパネルを下の方に移動とか自由自在
2019/07/13(土) 12:25:58.20ID:GK56c6Xi
Windowsあんまり縦置きにしないから
2019/07/13(土) 12:45:09.61ID:OGVt99Wz
極端な例を挙げて自由自在ってことを強調したいだけだろw
2019/07/13(土) 12:46:23.89ID:uYMBN7vu
業務アプリは解像度ほか動作環境を限定してしまっていい状況が多いからwinformsで十分かな
2019/07/13(土) 12:58:21.71ID:BcXUPH3s
WindowsPhoneで縦にも使うかも知れないだろ!
2019/07/13(土) 13:14:02.62ID:7P4pnQbe
縦置きってかウィンドウを縦長にした時とかの話じゃね
XAML上でブレークポイント設定してテンプレート切り替えるという単純なサポートはあるね
2019/07/13(土) 16:11:06.70ID:N+VPDfLY
例えば、しきい値より横幅が狭くなったら上部のツールバーを縦型に変更する処理などがXamlで書けたりする
2019/07/13(土) 16:12:33.38ID:5nQhdEBd
客はそんな要望や機能追加を出してこないから
2019/07/13(土) 16:44:10.24ID:OGVt99Wz
Winform廚はなぜこんなにも必死なんだろう
2019/07/13(土) 17:02:23.00ID:s1iOPxod
>>461
その前提は苦しすぎるぞ
464デフォルトの名無しさん
垢版 |
2019/07/13(土) 17:29:06.39ID:EdaTEXa+
>>462
時代に取り残されたことを受け入れられないまま終わった技術に固執しているという点では、
もはやWinFormsもWPFも外から見りゃ大差ないけどな
さんざんそうやってWinFormsを煽ってきて、自らも煽られる側になったということだ
受け入れ難いかもしれないが、時代の変化というのはそういうもの
2019/07/13(土) 17:54:43.19ID:RwUYPbHu
WPF MahAppsを調査してるんですが、HamburgerMenuコントロールにEffectをつけると、コンテンツの内容すべてに、そのEffectが継承されてしまいます。HamburgerMenuのみにEffectをつけるには、XAMLでどう指定すればいいんでしょうか?

皆様のお力をお借りしたいと思います。
2019/07/13(土) 17:55:06.37ID:5nQhdEBd
無職が何かいろいろ勘違いしてるようだな。基本的な事実をおさらいしよう。

vb6 & winform 普及した。今後も保守しなきゃならないシステムがいっぱい。
wpf 普及に失敗した。保守しなきゃならないようなシステムなんてほとんどない。
2019/07/13(土) 18:09:32.05ID:82wAf4q1
いい加減VB6は止めたい
2019/07/13(土) 18:15:41.79ID:uFDP8LEk
VB6をVB.NETへ移行すら簡単に出来ない様にしたマイクロソフトの失策
2019/07/13(土) 18:18:08.34ID:KfP9prYE
>>468
エクセル VBA に移植すればいいだけなのでは?<VB6
2019/07/13(土) 18:41:46.24ID:gtVCL9Bz
>>466
? これからの開発案件って無いという事? 寂しい話では?
2019/07/13(土) 18:49:10.68ID:sBwjlCef
よほどトラウマでもあるんだろうな…
まあコボラーも保守で食えてるみたいだからそういうのを目指すならいいんじゃね?
2019/07/13(土) 18:50:11.11ID:uFDP8LEk
>>469
VB6でもFORM有りきのアプリだけじゃ無いぞ
ActiveXとかは無理
2019/07/13(土) 18:54:09.69ID:EdaTEXa+
>>470
何を今更
保守で必要ならWinFormsも使うし、新規なら当然Webを最初に検討するよ
今時Webできないとかさすがにあり得ないでしょ
2019/07/13(土) 19:03:02.63ID:5nQhdEBd
Winodws10は仕事に向かない。この失敗をMSは修正する気ないみたいだから、
もう新規案件はJavaでいいやって流れかな
2019/07/13(土) 19:05:36.76ID:uFDP8LEk
>>Java
ライセンス云々で新規案件減ってますが
2019/07/13(土) 19:06:21.64ID:vnTBzjlH
OSと比較されるJavaの未来は何処に
2019/07/13(土) 19:06:33.81ID:gtVCL9Bz
>>474
その意見に対する素朴な疑問だと思うが・・・
次のPC OSは何?
WIN7とか先祖返りの話じゃないだろうな?
2019/07/13(土) 19:11:21.18ID:DRXUTE7G
それ以前にガイジに開発の仕事なんかねーよ
クッキーでも捏ねてろ
2019/07/13(土) 19:14:28.58ID:82wAf4q1
更新を機にPCを減らしてタブレットを入れるということは始まっている。
特定ソフト専用マシンがPCである必要がないから。
2019/07/13(土) 19:47:46.83ID:N+VPDfLY
>>465
MahAppの問題じゃなくてXamlの属性はカスケード式だからどうにもならん
素直にコンテント内に効果を打ち消すスタイルを設定するしか無い
2019/07/13(土) 20:36:46.45ID:QrmRuEQn
>>480
ですかー

影用のボーダー作ってシミュレートしますわ
2019/07/13(土) 21:58:11.65ID:BcXUPH3s
タブレットで済む仕事ならそれでいいんじゃね
2019/07/14(日) 07:31:05.68ID:F/jbIKB9
え、タブレットでいいようなものをPCでやってたって無能の話なの?
2019/07/14(日) 07:43:44.46ID:odxfHTio
PCをタブレット用途のUIにしようとして大失敗したのがMS。
485デフォルトの名無しさん
垢版 |
2019/07/14(日) 08:28:37.45ID:VbZ1QWE/
タブレットOSの競争ではマイクロソフトが勝利した。一時はiPadがシェアを拡大したが、PCとしても使えWindowsが勝利した。

スマートフォンOSの競争ではGoogleのAndroidが勝利した。

アップルはまた没落が始まった。
486デフォルトの名無しさん
垢版 |
2019/07/14(日) 08:31:03.76ID:VbZ1QWE/
それにしても言っていることが10年くらい前の話で変なスレッドですね。
2019/07/14(日) 08:51:45.04ID:WWhXkSE2
とこがだよ
10年前にもこのスレで語られているような世界はなかったぞ
2019/07/14(日) 09:46:32.95ID:+79Cdwyg
>>485
そんなパラレルワールドの話じゃなくてWPFの話をしろよ
489デフォルトの名無しさん
垢版 |
2019/07/14(日) 11:52:09.45ID:Ok2aTYrS
Prism7の勉強法おしえてくれ〜〜
2019/07/14(日) 12:27:02.58ID:Z6T0QQU3
勉強法おしえてくれなんて言う人にはそもそもWPFは無理なんじゃないの?
2019/07/14(日) 13:57:55.26ID:M/u7qcG6
>>489
コードビハインドスタイルでアプリ作ったことあれば、それをPrismでドリブンドライブに書き換えていけばいいだけでは?
テスト駆動、保守堅牢のためのPrismだで、、、
WinFormsでも、アプリ一本も作ったことなければ、まずはそちらから。
2019/07/14(日) 14:02:24.31ID:M/u7qcG6
失礼 ドメインドライブね。
2019/07/14(日) 14:07:37.90ID:2ifJuNDC
ドメインドリブンのこと言ってる?わけないか言い直してるし
2019/07/14(日) 15:28:51.43ID:venUw3Sd
>>489
Prism.Unityが7で思いっきり変わっていて面食らったな
AutoFacなどの別のDIと同じように扱えるようにガワを乗せた感じ
とりあえずサンプル見て適当に作ればなんとかなるよ
2019/07/14(日) 22:04:50.82ID:Ok2aTYrS
>>491
MVVM素組みはやったことあるんで
>>494
Prism自体ちょこっとしかかじってないんですわ
何かチュートリアル的なものがあればなーって思ったんだけど
地道にやります、ありがとう
2019/07/14(日) 22:23:52.68ID:jhSkrqvh
>>495
Brian Lagunasがいろいろ動画upしてくれてるやろ
2019/07/17(水) 08:31:49.64ID:Dzumdx+u
なんでカレンダーやチャートコントロールすら未だにないんだよ
2019/07/17(水) 08:53:22.30ID:HNOfBFZz
>>497
カレンダーとグリッドはだいたい標準のやつが使い物にならないからな…。DataGridViewはいい線いってた気がするけど。カレンダーは自分で作った方が使い勝手がいいよ。一回作れば使いまわせるし。

>>494
俺が多用してた UnityBootstrapper はどこにいったんだ
2019/07/17(水) 10:25:13.46ID:KBlqeI/v
カレンダーってせめてググルのライブラリより優秀なのを用意してもらいたいな。
2019/07/17(水) 11:45:00.51ID:2Hm3sgUC
MSが標準として出せるようなレベルのWPFコントロールを作るのって無茶苦茶難しいんだよ
テンプレートを当ててL&Fを自由自在にカスタマイズできるようにしなきゃいけない
カレンダーのように高級なコントロールほどそのための抽象化が困難、というか事実上不可能だ
まあ典型的な「過剰な抽象化」だわな
その反省でUWPでは色々諦めたけど、今度はガチガチすぎて融通のきかないゴミになっちゃった
設計って難しいね
2019/07/17(水) 11:46:09.20ID:+qZ5aSp8
Xaml islandでUWPの使えるんじゃないか?
UWPでカレンダーあったっけ?
2019/07/17(水) 12:03:04.27ID:S7Mvcazp
>>497 アップダウンも忘れないで
2019/07/17(水) 12:17:19.48ID:hjKl4aVr
グレゴリオ歴以外にも対応可能とかやりだすときりがないからなカレンダー
2019/07/17(水) 12:23:31.73ID:QuDmOW+q
あんま漁ったこと無いけどカレンダーやチャートってgithubに転がってないの?
そういうの漁ってれば標準化がいかに大変かわかりそうなもんだけど
どうせ無茶な要求に答えきれない代物しかでてこないのなら別にいらないかな
2019/07/17(水) 12:25:04.21ID:QuDmOW+q
>>504
いらないってのは標準としてはってだけでOSSでいろんな人がいろんなパターンで作ってるのは欲しいってことね
2019/07/17(水) 15:16:40.30ID:6lrMFPv6
カレンダーは昔のWin32の時代からコントロールあるだろ。
UWPにもあるし、WinUIでもNumberBoxが2.2でくるのかも
2019/07/17(水) 15:23:16.75ID:6lrMFPv6
ごめん、『カレンダー』ってスケジュールアプリつくるとき用の高度のやつか?俺が言ったの単に日付や時刻を選択するコントロールだな。
2019/07/17(水) 16:04:10.33ID:aJ7QlybY
だいたいNuGetからExtended.Wpf.Toolkit使っちゃうな
2019/07/17(水) 20:31:22.25ID:3xFq4IMt
UWPのカレンダーはまあ普通なんだが、DatePickerはいい感じ
https://www.microsoft.com/store/productId/9MSVH128X2ZT
ここにサンプル有るから試してみてね
2019/07/19(金) 15:13:31.62ID:Rii43hQ8
UWPと同じく、WPFもWinUI 3.0に飲み込まれるの?
2019/07/19(金) 19:10:45.56ID:tEkSjkHY
winui 3.0でUWPの依存を排除してxaml islandなしでも動くようになるらしいが、これはクロスプラットなUIフレームワークへの布石なのか?
どうなってるのかよくわからん
2019/07/19(金) 19:27:44.90ID:41z+JSnH
>>511
普通にwindows上でUWPにしか用意してなかったAPIを通常のAPIにするだけでは?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況