WPF(.NET, WinUI) GUIプログラミング Part33

1デフォルトの名無しさん (ワッチョイ 835a-A2Rd)
垢版 |
2024/08/20(火) 21:16:46.38ID:mRLJAUv40
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

WPF(Windows Presentation Foundation)について語るスレ。

前スレ
WPF(.NET, WinUI) GUIプログラミング Part32
https://mevius.5ch.net/test/read.cgi/tech/1694210576/

関連スレ
Windows 10 UWPアプリ開発Part 3
https://mevius.5ch.net/test/read.cgi/tech/1627556967/

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2024/10/12(土) 01:37:01.36ID:pKFLyiMR0
>>180
客に「違和感がある」とか文句付けられないようにするため
2024/10/12(土) 02:33:02.01ID:2unSxFzS0
Windowsアプリなんだから格好いい悪いじゃなくて他のWindowsアプリと揃えなきゃだめだろう
まあネイティブとWebViewだとテキストボックスの挙動すら違うんだけどな
2024/10/12(土) 08:38:27.68ID:Om8PnXVB0
windowsのアプリとかみんなバラバラじゃん、OS周り以外は

ダサくて使わないけどfluentUI
https://react.fluentui.dev/
2024/10/12(土) 08:42:51.92ID:dtNF+rDsM
そろそろスマホでもアプリの時代が終わりつつある
些細なことでアプリを入れたくないと言う心情は理解出来る

スマホに100以上アプリ入れてどこに何があるのかもわからないし要らない通知ばかりされる

アプリはもうすぐ死ぬ
2024/10/12(土) 08:44:53.19ID:dtNF+rDsM
サービスは主要なインフラアプリに統合されて
ツールはツールで残る
2024/10/12(土) 08:47:19.10ID:Om8PnXVB0
Material UI: https://mui.com/
Ant Design: https://ant.design/
2024/10/12(土) 09:33:49.34ID:13mgHY9H0
react nativeってopenGLとかopenCV使える?
2024/10/12(土) 11:36:56.71ID:SicHpmLd0
>>183
リアクトのfluentUIダサいよな
WindowsのfluentUIはそこそこかっこいいんだが
単純にアクリルがあるかないかの違いかもだが
2024/10/12(土) 15:13:33.54ID:iNamx5U/0
Blazor HybridでFull C#がいい
TS/JSのエコシステムを組み入れる必要がないから
MSスタックで長くやってきた会社には向いてるはず
2024/10/12(土) 20:26:13.92ID:97+nJc5Rd
いくらMSどっぷりといえど、HTML/CSS使えるのにJSできないというのは考えにくいでしょ
そもそもMSってなんだかんだJS大好きだしなあ
2024/10/12(土) 23:44:20.49ID:2unSxFzS0
そもそもGUIってのはアプリごとに操作を覚え直さなくていいようにパーツを統一するところから始まってるわけで
WindowsもXPぐらいまではかなりのレベルで統一されてたはずなんだ…

Webアプリが主原因だけどWPFアプリの見た目がWin32とちょっと違ったのも一因だよな…
2024/10/13(日) 01:44:41.67ID:j6St0Zu00
>>191
そりゃないね
VSCが馬鹿でかいボタン集めて作られてもかなわんからな
2024/10/13(日) 10:34:56.19ID:ii5+beJfd
VSCode含め、最近では不特定多数向けのGUIアプリって基本的にMacで開発されているものが多いから、
Windowsの作法なんてそもそも開発者の眼中にないんだよ
Macはむしろ伝統的にWin以上にOS側でUXを統一する思想が強かったわけだけど、Apple陣営としては開発者の取り込みのためにはWeb開発者に迎合せざるを得なかった
そして結果的に当のApple陣営の存在がアプリの独自UX化を強力に助長してしまったというのは皮肉な話だ
194デフォルトの名無しさん (ワッチョイ 9f46-r4Ei)
垢版 |
2024/10/13(日) 10:42:53.21ID:t+94VYTX0
Avaloniaってどうなの
Blazor Hybridとどっちがいい?
2024/10/13(日) 10:45:20.07ID:K8QjVhgfM
個別のアプリと言うもの自体が死にかけてるからなんでもいいんじゃないかな
今がピークで本当にマルチなGUIはドンドン必要なくなってくると思うよ
2024/10/13(日) 11:27:03.11ID:KMuly+QI0
ここってWPFかWinFormsしか使えないジジイたちが時代についていけずアレがいいのか?コレがいいのか?と右往左往するスレだよな
2024/10/13(日) 11:30:10.00ID:USukL5ei0
>>193
言うてMacOSは今でもOS標準アプリは一貫した作法のままだしな
標準アクセサリですらまるでバラバラなWindowsは格が違う
2024/10/13(日) 12:03:48.62ID:pdU5irXc0
>>196
色々な技術が乱立していて自分で主体的に取捨選択しなきゃいけないのは決して今に始まったことじゃないんだけどな
お仕着せのMSスタックに身を預けることしかしてこなかったジジイたちが、ここにきて遂にMSに梯子を外されてしまい右往左往している構図
199デフォルトの名無しさん (ワッチョイ fbb4-+sfS)
垢版 |
2024/10/13(日) 13:03:58.52ID:ruoQpPM20
梯子外しって何のこと?
今も現役だし、サポート終了の話が出てるわけでもないぞ
新機能が追加されるようなことは無いだろうけど
2024/10/13(日) 13:41:08.23ID:K8QjVhgfM
MS的にはUWP→WinUI3を追いなさいと言うことだけど
それもネイティブアプリ自体が死にかかってるので微妙
2024/10/13(日) 14:11:47.46ID:j6St0Zu00
ネイティブアプリ作る案件は
あってもモバイルだけだかんな
202デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/13(日) 14:42:54.77ID:UZT3uuKDa
UWPは将来性危険なので避けたいな
2024/10/13(日) 15:16:30.57ID:0ZAxqEdHM
>>184 >>201
ネイティブアプリから、Webアプリに変わってきているということ?
204デフォルトの名無しさん (ワッチョイ fbb4-+sfS)
垢版 |
2024/10/13(日) 15:35:40.96ID:ruoQpPM20
>>203
トレンド的にはそう
とはいっても、一般ユーザーの目に入りにくいだけでデスクトップアプリの開発は今も普通にあると思う
エンタープライズ系だったり、CADや解析ソフトだったり、計測器の制御だったり
2024/10/13(日) 16:24:37.75ID:ZFUcuNx5M
んでその一般向けのモバイルアプリ開発ももう多分徐々に下火になってくる
この前どこかの市で1億3000万かけてモバイルアプリ作ったけどインストールしたのは400人ってニュースがあった

特定の案件以外はweb+LineやXですませばいいんではないかと…そういう流れになるはず


一般人はスマホに入れてるアプリは50ぐらいらしいけどそれでもうアップアップ
各種スーパーやドラッグストアに行くたびにアプリ入れてたら10個ぐらい入れてる
コンビニはまた別
それ以外にもレストランやファミレスとか回転ずしとかのアプリが合ってアホがどんだけ囲い込みしたいんだよと思うわ
2024/10/13(日) 17:37:12.38ID:pdU5irXc0
ああいう会員アプリの目的は囲い込みではなく顧客の識別と購買情報なので、入れておいてくれるだけでいいんだよ
Webだとセッション切れたらITリテラシーの低い一般人は高確率でパスワード忘れて再ログイン不可になる
2024/10/13(日) 19:55:15.87ID:hqn+/Dq/0
>>206
アナタのITリテラシーも疑問符ですよ
2024/10/13(日) 20:01:11.97ID:hqn+/Dq/0
>>203
業務系のシステムとか10年以上前から全部Webだよ
ネイティブアプリをリッチーアプリと言っていた時代はまだWebと棲み分け出来てたけど今やもう昔話だ
2024/10/13(日) 20:14:01.10ID:ZFUcuNx5M
業務のシステムをネイティブで作る意味なんてもうないもんな
スマホやタブレットに後から対応なんて考えず最初からWebでいい

残るのはツールぐらいかな
2024/10/13(日) 20:22:16.23ID:hqn+/Dq/0
ネイティブアプリの存在意義はWebじゃ厳しいからだったけど
もうそのケースがほとんど無くて
逆にインターネット上のアプリやリソースとシームレスに連携出来なかったりで嫌がられる時代よいま
2024/10/13(日) 20:40:47.88ID:mAdiZuY60
>>196
なんだReactだのVeuだので争ってるWeb系と一緒かw
2024/10/13(日) 20:52:14.67ID:mAdiZuY60
デスクトップも結局RestAPIやりとりすれば何ら問題ないんだけどね
2024/10/13(日) 21:06:36.45ID:ii5+beJfd
いやいや生粋のデスクトッパーにRESTは要注意だぞ
あいつらクライアントへのプッシュのためにクライアント側がHTTPサーバーを兼ねる設計とか、とんでもないことやるからな
2024/10/13(日) 21:53:24.17ID:ZFUcuNx5M
1億3000万のアプリがクソしょぼいと言う…中抜きか?
2024/10/13(日) 22:07:06.65ID:hqn+/Dq/0
>>212
Web上にアプリが無いので各種のバラメータをブラウザー経由で受け取れないし
そもそもシングルサインオンしてないので認証とおってなかったり
連携の時の遷移先はWebアプリなわけで大変だし、遷移先のアプリから返却値受け取れないわで大変よ
2024/10/13(日) 22:19:28.81ID:USukL5ei0
人類はHTTP以外の通信プロトコルの経験を失ってしまった
217デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/13(日) 23:39:18.58ID:cfTcGRh7a
ロストテクナナシーのスレへ
2024/10/14(月) 02:02:58.36ID:AlInx0gf0
>>215
別にブラウザ経由で受け取る必要なくね?
Jsonでのやり取りで充分じゃね?
シングルサインオンもPOSTの時JSONにアカウント情報載せてやればサーバー側でチェックできるだろ
2024/10/14(月) 02:27:59.52ID:tPoL367j0
実際クライアント側へのプッシュ通知って結構面倒だけどね
2024/10/14(月) 03:32:20.56ID:Dv8nxsKQ0
MSが最後まで梯子を外さずに残すGUIフレームワークってVB6になると思う
そうなるのが何年後かはわからないが
2024/10/14(月) 04:02:31.75ID:bzUsIhmK0
ComCtrl32よ、永遠なれ!
222デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 04:25:35.71ID:iqlRL8W80
>>220
ActiveXコントロールは2025年10月までと発表されているぞ?
2024/10/14(月) 08:12:19.20ID:7Nipznt/0
>>218
そのSSOのアカウント情報をそもそもクライアント側でどうやって取得するのかって話
DBユーザーのuser/passやDBのテーブルに格納されたuser/passじゃなくて、Google、Okta、ADのような外部のIdPで認証するのは流石のデスクトッパーでも知ってるよな?
IdP側でM2M用のキーを発行する手もあるが、セキュリティリスクが高いし運用的にスケールしない
224デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 08:35:48.49ID:iqlRL8W80
Webブラウザの方が偽装しやすいこともわかんねえんだろうなw
2024/10/14(月) 11:37:04.23ID:7Nipznt/0
偽装って具体的にどんな攻撃を想定してる?
226デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:36:53.08ID:iqlRL8W80
>>225
多要素認証が必要になる理由を考えたことがないのか?
227デフォルトの名無しさん (ワッチョイ 8b22-wMW8)
垢版 |
2024/10/14(月) 12:38:18.52ID:frzdEHtE0
>>222
30年も使ったから
そろそろ賞味期限が切れたのでは
228デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:42:16.56ID:iqlRL8W80
>>225
WebブラウザはOSやハードウェアの情報を正確に取得できない
セキュリティ上の問題

httpで外部からリモートアクセスできないように対策をし続けていまに至る

Webブラウザからアクセスしているように偽装するのは簡単
229デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 12:43:32.88ID:iqlRL8W80
>>227
そうじゃなくて古いもので作られている業務システムが多いから。

Macみたいにシェアが低ければ簡単に切れるが。
2024/10/14(月) 13:40:11.82ID:p9x+u5aF0
昔から海賊版だらけのデスクトップアプリはセキュリティ問題ないのか
231デフォルトの名無しさん (ワッチョイ 6b01-F6D9)
垢版 |
2024/10/14(月) 17:23:20.69ID:+Avko6/y0
https://blogs.embarcadero.com/ja/native-windows-is-back-to-center-stage-ja/
MFCまさかの復活か!?
2024/10/14(月) 18:06:11.25ID:JsqeaFKW0
2024/10/14(月) 18:10:14.35ID:5kKNYXwC0
RAD Studioか
Delphiは好きだけども…
2024/10/14(月) 18:34:50.90ID:ykeeYhPa0
俺には2021年の記事に見える
235デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
垢版 |
2024/10/14(月) 18:37:59.71ID:iqlRL8W80
今年が2024年だということもわからなくなった高齢者なんだろう
2024/10/16(水) 02:02:15.67ID:le2L2D3b0
意外とデスクトップアプリでもWebView+Blazorで開発してるアプリあるなぁ
DevToysってやつ見た目WinUIそっくりでもWebView使ってBlazorでUI構築してるみたいだ
https://github.com/DevToys-app/DevToys
https://apps.microsoft.com/detail/9nbn8w1ds547?rtc=1&hl=ja-jp&gl=JP
2024/10/16(水) 03:36:39.86ID:uG9ZN9Ip0
Win32だとコモンコントロールを使わなくても同じような枠線を引くAPIがあって
ちゃんと作ってればOSのバージョンアップに伴って見た目もある程度自動で連動できてたのに
最近はOSのテーマに追いつくのはアプリの責任になっててひどくない?
2024/10/17(木) 12:50:12.39ID:WL+hUh7C0
この時代、ゴミみたいな単価でそれなりに見栄えのするデザイン作れるデザイナはいくらでもいるし、
それを寸分違わず実装するのも(WPFはともかく)今時のテックスタックなら大した工数じゃないからねえ
悲惨なUIにならないようにOSがお膳立てしてあげないといけなかった時代は、(業務ドカタ開発を除けば)終わったんだよ
2024/10/17(木) 15:37:14.46ID:l9ooUbGgp
wpfのテンプレート無効にしてまでカスタムしてる変態もいるんだぜ
240デフォルトの名無しさん (ワッチョイ 1f45-oCgE)
垢版 |
2024/10/18(金) 07:43:58.79ID:HW2s8lVK0
日本人は同じ見た目でないと怒り狂う変なやつが多いしな。
2024/10/18(金) 08:48:23.41ID:vAVjBES80
主語がでかい
2024/10/18(金) 12:07:44.52ID:dl90zbNnM
XPのガキっぽいのはヒデーなと思ったけど
8や10の視認性の悪さを体験すると評価が変わった
2024/10/18(金) 12:40:18.78ID:Hbjuz6+L0
昭和賛美はジジイの始まり
244デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
垢版 |
2024/10/18(金) 13:53:32.48ID:wVDH4S6Qa
2000が最強
Meはゴミ
2024/10/19(土) 11:07:39.01ID:SVPedUfi0
NT4でOSとしては完成してたね
VB6.0もコレを対象にしてて、いまだに一部業界で稼動中
これらに比べたらWPFはゴミ
2024/10/20(日) 06:09:31.07ID:gVGzm2Bz0
MVVM作ってみた

めんどくさいな
2024/10/20(日) 12:19:12.29ID:8VDaQYX+0
あんな作法に惑わされ過ぎ
工数が嵩むばかりで何のメリットも無い
2024/10/20(日) 12:29:42.70ID:R7G7/KAA0
ユーザーが入力した値の検証や表示用に変換が必要な場合には向いてる
2024/10/20(日) 12:42:27.88ID:8VDaQYX+0
そんなんMVVMじゃなくても出来るし
一度作ったらそれっきりなんだから
意味が無いんだよ
2024/10/20(日) 12:48:45.65ID:cTHcFhGQ0
MVVM便利だけどな
やっぱ層が分離されてるって気持ちいいよ
2024/10/20(日) 12:50:24.66ID:cTHcFhGQ0
俺はMVVMSを提唱してるけど
Mはもう構造体だけにしてSでMを加工しVMに情報を与える
SはサービスのSね
2024/10/20(日) 13:25:07.93ID:cTHcFhGQ0
TextMateSharpっていうTexMateという一般で広く使われてる規格からシンタックスハイライトを作成するライブラリを使ってWinUIのRichTextBlockにシンタックスハイライトを実装するライブラリ作ったんだがこれってライブラリ化とかした方が良いかな?
プログラムは単純にTextMateSharpのデモをパクってRichTextBlockに合うように呼び出しを変えただけなんだけど
ふつうにGitHubなんかにサンプルとして投稿する感じがいいのかな?
2024/10/20(日) 16:08:17.60ID:gVGzm2Bz0
>>251
なんか、
やりたくで作ってるだけじゃなく、
必要になって作ってるわ

MVVMの

Prismだかは無しで
2024/10/20(日) 16:36:51.61ID:cTHcFhGQ0
>>253
Prismみたいなフレームワーク使わないとめんどくさいだろうなぁ
個人的によく使ってるのはMVVMToolkitだわ
CommunityToolkit.MVVMのNugetで使えるようになる
確かWPFでも使えたはず
2024/10/21(月) 02:42:13.87ID:Yz2aUc2R0
vue.jsとかのMVVM知ってると
WPFのはあまりに馬鹿らしくて泣けてくるぜ
2024/10/21(月) 07:12:35.06ID:bUjh45Ks0
>>255
すまんVue.jsやったことないんだけどどのへんがWPFがクソなの?
2024/10/21(月) 09:43:37.16ID:Yz2aUc2R0
全部って感じ...
他はMVVMにかかる手間なんて一切無い

ので話題にも上がらない感じ
2024/10/21(月) 12:50:49.84ID:bUjh45Ks0
>>257
いやわからん
2024/10/21(月) 13:49:53.99ID:lU6IQ1t4p
そも、VisualStudioって、MVCモデル用だれ?
2024/10/21(月) 14:26:47.05ID:Yz2aUc2R0
>>258
糞って事
2024/10/21(月) 15:24:03.02ID:8GAgNEd+0
>>260
例えば Vue.js の MVVM でここが優れてる!
ってのはどんなのがある?
2024/10/21(月) 17:42:45.47ID:Yz2aUc2R0
>>261
全部
2024/10/21(月) 17:52:15.71ID:8GAgNEd+0
ただ Vue.js 言いたかっただけなんじゃないの?
2024/10/21(月) 17:52:48.65ID:bUjh45Ks0
なにも生産性の無い話題だったな
2024/10/21(月) 17:54:57.66ID:bUjh45Ks0
MVVMToolkitはマジで記述クソ簡単になるからオススメ
一応Microsoft既製っぽい(実際はコミュニティで作ってる)しパフォーマンスもPrismより良いらしい
2024/10/21(月) 18:30:18.81ID:x6+Rbr8S0
>>265
ほう
使ってみますわ

内部の仕組みとかは気にしなくてええの?
不安だわ
2024/10/21(月) 18:30:40.31ID:x6+Rbr8S0
>>266
Prismとか、
使ってええもんかどうか…
2024/10/21(月) 19:05:04.17ID:CKTKnODWM
なんかこのスレにはwebやれよの人が住んでいる
2024/10/21(月) 20:27:59.59ID:Ae8vTo3KM
>>267
Prismは必要以上に肥大化して複雑になっちゃったから手を出さない方が良いと思う

CommunityToolkit.MVVMは後発なだけあってシンプルで分かりやすくて良いよ
これがもっと早くにリリースされてればWPFのMVVM嫌いをここまで量産しなかったかもしれない
2024/10/21(月) 21:53:26.66ID:SQ8zGBXh0
>>266
ソースジェネレーターってやつを使って実装を簡単にしてる
詳しくはこれを参考にされたし
https://qiita.com/MAUIHighSchool/items/ed6a90b81cb849a9148e

機能を詳しく説明してる記事はこちら
https://qiita.com/kk-river/items/d974b02f6c4010433a9e
2024/10/21(月) 23:54:17.80ID:x6+Rbr8S0
>>269
あー
初心者だから大変だわ

とりあえずToolkitでさっきから作り始めたわ
2024/10/21(月) 23:58:40.32ID:x6+Rbr8S0
>>270
とりあえずToolkitでさっきから作り始めたわ

何も無しで自力作ったWPFアプリケーションをToolkitに移植してるけど、
仕組みがよくわからんわ…
2024/10/21(月) 23:59:42.52ID:x6+Rbr8S0
>>272
まあ、
自分で書くソースコードは短くなるな…
2024/10/22(火) 00:03:10.01ID:6OfHYckZ0
>>272
普通こういうのはプロパティの値が変わってもUIに反映されないんだけどINotifyChangedって言うプロパティの値が変わったら自動的にUIに反映させる実装を裏の方でしてるだけ
MVVMToolkit使わないならわざわざその処理を手書きで記入しないといけないところをMVVMToolkitは裏で自動で実装してくれるわけ
2024/10/22(火) 00:05:22.64ID:6OfHYckZ0
その裏で実装されてるのが
>>270この記事の終わりの方にあるアナライザーのところに勝手に作られるコードってわけ
2024/10/22(火) 00:57:03.72ID:2qKbHbOq0
>>274
そうだね

INotifyChangedとか書いてたわ
だいぶ短くはなった
2024/10/22(火) 07:50:00.10ID:5GZLz77w0
>>257
>他はMVVMにかかる手間なんて一切無い
>
>ので話題にも上がらない感じ

WPFについても同じように思っている人はいると思う。一切無いとまで言い切ることはしないが。
自分はそれほど困ってないが、ちょくちょくWPFをディスりに突撃してくる変な人がいるなあ、という感想。
2024/10/22(火) 10:51:02.21ID:ZMkCoWD80
>>277
>>WPFをディスりに突撃してくる変な人

以前WPFに人生投資してた人でお節介ながら警告してくれてんじゃないの?自分もそうだけど

で自分はWPFに関してはMVVMだけなら単純なバインディング機能とコードビハインドだけでもっと簡単にサクッと書けんじゃないのと思ってる

諸悪の根元はMicrosoft Expression Blend系機能に代表的されアンチコードビハインドの原理主義
2024/10/22(火) 11:21:31.87ID:0LHYxdA70
MicrosoftがMVVMの為に言語を歪めてコンパイラで特別扱いする勇気があれば、最初からもっと簡潔に書けていただろう
なぜ素のC#で書かせたのか
2024/10/22(火) 12:19:11.75ID:M9bqFahpM
>>278
そんなのは過去ログやWEBの評判みりゃ分かることだし、要らぬお世話だよ
何度も長々と同じ話してて、邪魔にしかなってない
それに今は以前と比べてかなり簡単に作れるようになってる
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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