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

■ このスレッドは過去ログ倉庫に格納されています
2022/01/20(木) 05:40:40.10ID:+TySdXxT
WPF(Windows Presentation Framework)について語るスレ。

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
2022/02/19(土) 00:32:25.83ID:yc9OR0yy
あとc#とjsの連携のedge.jsというのがある
2022/02/19(土) 00:36:35.88ID:X0wJkiGG
>>368
Svelte
2022/02/19(土) 00:47:45.48ID:UkMRjGML
なんかいっぱいでてきたw
定番とかは定まってないのか。
2022/02/19(土) 00:51:11.00ID:yc9OR0yy
react

変なの選択すると開発者集めに苦労するよ
保守も
2022/02/19(土) 00:59:59.59ID:UkMRjGML
純粋なWebアプリならもちろんReactでいいんだが。

>変なの選択すると開発者集めに苦労するよ

JS on C#ってのが現時点ではそんな気がする。
素直にWPFやFormsでいいじゃん、と。
2022/02/19(土) 01:26:47.51ID:yc9OR0yy
潮流的にクライアントサイド要員はjs(ts)必須ですね
デザイナーの成果物がhtml,css,jsですから
ダサいのは商品価値もさがりますからね

サーバサイドはjava,c#,js,ruby,python(最近は本当に増えてます)いろいろですね

言語統一したかったらjsですね
ただサーバサイドは要員も別のが多いです
2022/02/19(土) 02:10:08.75ID:9cx4u8XC
jsは型が動的なのがなぁ…tsも実行時の型は保証してないし
2022/02/19(土) 03:21:20.16ID:YdSWfk2N
TSの処理系によって型安全レベルが違ってるからねぇ
ありえんけどブラウザがネイティブでTSに対応したら使ってもいいけど
2022/02/19(土) 03:33:01.88ID:yc9OR0yy
クライアントサイドはc#よりtypescriptのほうが書きやすくて圧勝ですね

あとUI開発にはホットリロード必須と思います
Blazorは最悪でした
2022/02/19(土) 07:57:27.90ID:jK3SOMU4
JavaScript(TypeScript含む)は絶対関わりたくない。
こんなの大規模開発に使っていい代物じゃないよ。
JavaScriptが担っていた部分はDartに置き換わってほしい。
あとReact系もさっさと滅びろ。
2022/02/19(土) 07:57:48.80ID:ApZEftHi
>>116のMS製React Nativeがいいんでないか?
もしくは
2022/02/19(土) 08:46:04.71ID:FnhAxPLY
つか、WebView2ならC#とJSのIFは標準で用意されているのに誰も知らないのな
つまり口だけで誰も使っていないということだろ
2022/02/19(土) 09:07:27.13ID:AlOKsuc0
>>354
答えになってないかもしれんが、
FormアプリにWPFを使うなら、formのelementhostにWPFのユーザーコントロールを貼るのがいいと思う
2022/02/19(土) 10:01:52.96ID:yc9OR0yy
>>387
それマジ?
2022/02/19(土) 10:14:08.32ID:FnhAxPLY
>>389
あ、371の人は知っているようだから「誰も知らない」は間違いだな
WebView2のドキュメント見れば書いてあることだ
2022/02/19(土) 10:45:05.98ID:h/hs4NES
.NET5 WPFのListBoxについて質問があります

VS使わずにやってるんですがBehaviorがないと言われます
名前空間もusingしてますが、そもそも無いようで…
別の機種からの投稿なので具体的な名前空間は忘れましたが、サンプル通りのやつです

やりたいことは一つのListBox内の入れ替えや複数のListBox間のD&D操作です
2022/02/19(土) 10:48:21.53ID:v6jasGDT
C#でM書いて渡せばWebView2のJSから直接アクセスできるから、MVVMやってるならVVMの部分がそのままJSとHTML/CSSに置き換わるだけだね
つまりビジネスロジックは完全にC#で書けるわけで、これでなおJSで大規模開発辛いと思うなら、
多分そいつがMVVMだと思っているものはVMにロジック書きまくってるエセMVVMの可能性が高い
2022/02/19(土) 11:31:54.74ID:yc9OR0yy
WebView2
ひっそりとそんなブリッジ機能あったのね
10年前にあれば良かったかな...

日曜プログラマー的に
昔みたくフロントreactでロジックc#で作ってみるかな
2022/02/19(土) 11:32:54.00ID:yc9OR0yy
でもWebView2使った
electron相当のもうあんじゃね?
知らんけど
2022/02/19(土) 11:33:36.90ID:R5yjbcGL
System.Windows.Interactivity.dll → Xaml.Behaviors.Wpf
2022/02/19(土) 11:50:34.88ID:UkMRjGML
>>392
でもJSとC#混在ってだけで一段ハードルが上がるわけじゃん。
ビジネスロジックだけじゃなくてプレゼンテーションロジックも同じC#で書けた方が楽なのは間違いない。
2022/02/19(土) 12:07:51.70ID:yc9OR0yy
システム開発でweb系が苦手ってだけで
仕事めちゃ少なくなるんですよ
肩身がせまい

情シスのお客さんなら
100%web出来るから
フリーのwebのUIライブラリーに見劣る操作性のものは
恥ずかしくてだせないですね
自分は

そんな背景でjsには精通する必要があって
第二言語のc#は別のでもいい感じなのです

一番多いのはjavaで
最近はバックエンドpythonがマジで増えてる
2022/02/19(土) 13:03:45.50ID:mW2XZAFZ
>>396
上がるか?下がらん?
2022/02/19(土) 13:16:07.12ID:IE8zF3Kj
html側もwebview2べったりがイヤだからwebapiモドキ
2022/02/19(土) 13:23:50.87ID:UkMRjGML
>>398
そのココロは?
単純にJSとC#、Reactと.NETと、異なるものを同時に扱わないとならないだけでもその分労力は増えると思うが。
2022/02/19(土) 13:34:39.99ID:X0wJkiGG
>>400
Reactみたいにややこしいもの使わなくてもSvelteでも何でも良いんだし。
言ってるほど難易度高くないよ。
カスタマイズしたオーナードローなTreeViewとか作るならHTML+CSSの方がはるかに楽。
2022/02/19(土) 13:40:29.28ID:yc9OR0yy
WPFは自作コントロール作るのが酷く面倒だからね
2022/02/19(土) 13:55:04.77ID:UkMRjGML
>>401
つまり、カスタムコントロール作る前提なら、ってことかな。
うちでやってるデスクトップアプリだと、よほどのことがない限りいちいちカスタムコントロールなんて作らないしなぁ。
2022/02/19(土) 13:55:48.58ID:X0wJkiGG
アニメーションするチャートとかもWebベースの物の方が良いもの多いよね。見やすいのが多いし、作る側としてもインタラクティブな動きはつけやすい。
最近は業務アプリでもみんな目が肥えてるから。

PowerBIとかもWebViewっぽくないか?
2022/02/19(土) 13:56:45.11ID:X0wJkiGG
>>403
カスタムコントロールまでいかなくても、チャートの類とか、ビューアーの類とか。
PDFのプレビュー出すのにWebView使うとかもアリよ。
2022/02/19(土) 14:00:32.65ID:UkMRjGML
JSとC#の話をしていたはずなのにCSSとXAMLの話になったり、プログラミングの話をしていたはずなのに
ライブラリが豊富という話になったり、なんだろうこのモヤッとする感じ。
2022/02/19(土) 14:04:51.66ID:Gaj/uCI/
c#ジジイたちにWebなんてムリ
今のhtmlやcssは複雑になったしデザインとレスポンシブ込みだとcssフレームワーク使っても使えない無能ばかりだからな
2022/02/19(土) 14:10:51.58ID:X0wJkiGG
>>406
C#とJSを連携する目的はそれしかないからでしょ。
JSで業務ロジック作って連携する訳がないんだから。
C#でXAMLをコントロールする話と、JavaScriptでCSS+HTMLをコントロールする話が、
C#からJSにinteropしてHTML+CSSを動かす話になるじゃん。
その上で使えるライブラリはJSでしょ。
何が疑問?
2022/02/19(土) 15:33:28.33ID:AlOKsuc0
みんな、たまにはWPFの話もしてくれよ
2022/02/19(土) 15:42:50.85ID:HrfptPE1
WPFからバインディングを切り離したグラフィックモジュールが欲しい
バインディングが諸悪の根源
2022/02/19(土) 15:45:17.17ID:evvGZLor
>>410
ならバインディングしなければいいだけじゃないのか

バインディングそのものはWinFormsにもあるんだぜ
2022/02/19(土) 15:47:24.50ID:b+8HD1Ua
常用してるライブラリがあったら教えてくり
2022/02/19(土) 16:17:06.06ID:bVzeAasi
ID:X0wJkiGG みたいに情報提供してくれる人はありがたいけど
煽り入れてくるのはNGするといいお
2022/02/19(土) 16:34:50.41ID:JpT/s+kG
webもやらないとなぁと思ってVueで入門だわ・・・
2022/02/19(土) 17:50:55.25ID:X0wJkiGG
>>412
JSだとSvelteで全て済ませたいところなんだけど、d3.jsでチャート書くことも多い。
あと変わり種としては最近はmodel-viewer使ったものも作った。割とウケたけど、これは多分3D触らない人は使わないと思う。
2022/02/19(土) 18:35:10.60ID:AlOKsuc0
>>410
バインディングを一切使わなくてもアプリは作れるよ
2022/02/19(土) 20:28:44.30ID:ZIf//Swn
Bindingすげぇ!って言ってたじゃんお前ら最初
2022/02/19(土) 20:32:24.01ID:FnhAxPLY
>>416
ListViewやListBox、TreeViewなどが使用不能だから
しょぼいやつしか作れませんわ

VM使わないならまだしも
2022/02/19(土) 21:22:19.62ID:dHM7ffAe
仮想化使わなきゃItemsControl系使えるけど
まぁ、データ数増えたらきついな
2022/02/20(日) 06:09:29.10ID:rMSJWNa2
>>418
それらもバインディングなしで使えるよ
2022/02/20(日) 09:19:45.81ID:OX17O63E
Caliburn.Microならx:Nameだけでバインディングする
PropertyChanged.FodyならINotifyPropertyChangedを自動実装する
バインディングがわからないって初心者、またいちいち書くの面倒で嫌という人なら役に立つかもしれない
2022/02/20(日) 16:36:12.10ID:fPGhCMQ1
もう終わったドマイナーライブラリの宣伝はいらないよ
2022/02/20(日) 20:58:13.91ID:THbE7o0A
VBA触ってからWPF触ったときはデータバインディングに感動したりもしました
2022/02/20(日) 21:23:04.93ID:swKuI/ic
データーバインディングって Borland C++ Builder の時から有ったよね
2022/02/20(日) 21:28:40.05ID:XyZ+411b
>>424
そう。当時はシンタックスシュガーでしかなかったものが
MVVM信者によってアーキテクチャの一部に祀り上げられたのが根本的な誤ちの始まりになった。
2022/02/20(日) 21:40:18.51ID:yw9AEnt+
何が誤ちだよ「過ち」って書くんだよ
MVVM理解できない奴は根本的に学がなくて勉強嫌いだって分かるな
2022/02/20(日) 22:14:55.49ID:zJV+WKvF
C#自体がマイナー

実需はゲーム開発のみ
2022/02/20(日) 22:21:48.82ID:uUEkIMOM
>>426
常用漢字ではないけど>>425の文脈だと誤ちでも間違いでもない
そもそも5chで誤字指摘とか…
2022/02/20(日) 23:17:32.96ID:Qz/cDKkO
文書入力した後、見返したり推敲したり編集したりしないのだから入力違いやグダグダ文書なんか当然
いわば一筆書きみたいな文書の書き方になるわけだし
2022/02/20(日) 23:40:10.52ID:uUEkIMOM
技術板なので技術的にグダグダなのは勘弁して欲しいが意味が取れるなら多少の誤字とかは許容範囲
2022/02/20(日) 23:58:10.11ID:j4WAiXFM
たぶん、MVVM信者って煽りが気に入らなかったんでしょ
だから誤字を指摘してやり返したと予想
2022/02/21(月) 01:29:06.13ID:06fqlVz8
>>425
べつに誤字や漢字使いはどうでもいいんだが
バインディングがシンタックスシュガーって、もとはどうだったのか気になる

もともと機能としてはもってて書き方だけなのか
自動生成なら相当な量のコードに該当する気がするんだが
2022/02/21(月) 01:39:26.02ID:MsEPZ7ij
そもそもフロントアーキテクチャ界隈では
viewModelとviewのデータフローで
双方向というのは否定されている
2022/02/21(月) 01:45:07.36ID:Vo68A3hI
使ってみたらシンタックスビターだった。
2022/02/21(月) 09:57:25.91ID:Z2tCC8cM
>>433
そんなこと言っても、Connected Animationは双方向出来ないと詰む
2022/02/21(月) 14:40:06.59ID:G8P6KNI7
>>426
MVVM信者は本当に枝葉の議論が好きだねえ
2022/02/21(月) 20:11:38.06ID:oeWV3I3V
ところで.NET7が来たわけだが
おまいらどうよ?
2022/02/21(月) 20:57:34.26ID:kRnBXcNL
奇数はスルーだろ。
ぎりぎりまで長寿の4.8で粘るという手もあるしな。
確実に3年以上使える。
2022/02/21(月) 23:59:53.65ID:j4nCawQR
コンテナの中でおさわりまんこの人です!ってやりたい人は7に飛びつくらしいぞ
2022/02/22(火) 11:46:49.83ID:q4VXFdfo
XAML入門:前編 〜 WPFからWindows11アプリまで 〜
2022/02/23(水) 11:17:19.87ID:AYH7H5ZM
今からwpfアプリ作るなら.net Coreの方がいいのかな?
デメリットは2年ごとにバージョンアップしなきゃいけないくらい?
2022/02/23(水) 11:35:51.75ID:6huhQPG7
いや.NETにしとけ
2022/02/23(水) 11:42:36.70ID:v6KMLEO5
>>441
.NET Coreは最新の3.1でも今年の年末にはサポート終了するよ
(5以降は名前に「Core」が付かないただの「.NET」)
2022/02/23(水) 11:46:09.12ID:AYH7H5ZM
>>442
>>443
失礼しました。.net Framework4.8か.NET6のどちらで作るかという質問でした。
445デフォルトの名無しさん
垢版 |
2022/02/23(水) 12:13:40.43ID:n7YEN9KD
>>444
.Net4.8のサポートが30年あたりだから、25年までは.Net4.8が無難かと。
その頃には.Netも最適化されてるでしょ。
そもそもWindowsが健在なのかも不明だし。
446デフォルトの名無しさん
垢版 |
2022/02/23(水) 12:16:35.49ID:n7YEN9KD
WPFに真剣に取り組んでも将来仕事があるのか心配。
2022/02/23(水) 12:23:14.34ID:n4QLtIZ7
家でWPFに真剣に取り組んで
日中はコンビニでアルバイト

だいたいこういう生活スタイルになるかな
2022/02/23(水) 13:22:26.22ID:ywzuv89F
>>446
MVVMの第一人者がWPF見限ってWebに移ってるのが全て
2022/02/23(水) 13:39:30.83ID:AYH7H5ZM
>>445
ありがとうございます。.NET6はまだまだということでしょうかね。
2022/02/23(水) 14:42:12.12ID:5YFRSXe3
>>448
それいつの話よ!
2022/02/23(水) 15:28:20.73ID:8ISSr+bj
>>446
「仕事で」というのは随分ニッチ狙いだな。
WPFは個人的に使うツールを作ったりするのに便利。
WPF⇒WinUIに移行する道もあるし。
今は駄目駄目のWinUIも2〜3年後には使えるレベルになってるでしょ。

WebはFlutterに置き換えたい。
JavaScriptはVBAと同じく、プロが使うべき言語じゃない。
TypeScriptも同じ。腐った食材をラッピングしても中身は腐ったまま。
2022/02/23(水) 15:30:22.63ID:A1VwjaQk
WPFを腐った食材と言いたげだな
2022/02/23(水) 15:45:07.83ID:8ISSr+bj
腐ってるのはJavaScript。
誕生の経緯からして大規模開発に使うようなものじゃない。

WPFは頑張ってると思うよ。
Windowsデスクトップ向け開発技術の中ではバランスがいい。
これ選んでおけば困ることがない。
後発が揃いも揃ってヘボすぎる結果でもあるけど。
2022/02/23(水) 16:12:12.81ID:EjF360bu
>>453
WinFormsで十分
2022/02/23(水) 16:17:35.16ID:A1VwjaQk
腐ってると言ってもWPFは納豆なんだよ。好きな人は好きだが嫌いな人は食べない。
2022/02/23(水) 16:23:19.96ID:YdM3SxcO
>>454
.NET FrameworkのWinFormsはスケーリング対応が腐ってるのがな
.NET6のなら改良されてマシになってるけど
2022/02/23(水) 16:28:06.25ID:A1VwjaQk
近所にスケートリンクないんだよな
2022/02/23(水) 16:49:27.74ID:5YFRSXe3
あいかわらずのおじさん...
2022/02/23(水) 16:52:38.52ID:A1VwjaQk
納得くせーガキが背伸びすんなよ
2022/02/23(水) 17:08:22.18ID:Xkg4oOVl
>>454
WinFormsを進化させたのがWPF。
だからWinFormsの代わりにWPFを使えばOK。
2022/02/23(水) 17:35:40.25ID:4nPsDKk4
Flutterってwebもデスクトップもまともに動くんかねぇ・・・
2022/02/23(水) 17:42:10.42ID:zyypBZ1d
flutterはデスクトップ向けに簡単にネイティブAPIつっつけないんじゃないの?
C#ぐらいデカいデスクトップ向けバッテリーがあっても結構頻繁にネイティブ必要なのに。
2022/02/23(水) 18:21:05.11ID:jrR/d40v
flutter webはダメっぽい
CanvasKitのwebasmとか大きすぎてダウンロードが..
そこから..
flutter desktopはok
2022/02/24(木) 08:38:23.23ID:p3uXF2gK
この第一人者ってJohn Gossman?
2022/02/24(木) 15:22:11.77ID:Z10usaaO
WPFで作成したアプリをWindows Defenderが誤検知したんだがMSふざけてんのか?
お前のとこのツールで作成したアプリだぞ
2022/02/24(木) 15:53:17.31ID:uozJ2LSE
>>465
どの開発ツールで作成したかなんて関係ないだろ、アホか?
見られてるのはどんな挙動をするか。
お前と同じ、キョドってるから職務質問されるんだよ。
2022/02/25(金) 08:37:34.40ID:6D5Ibm3F
>>465
納品するソフトで同じ事があった。
2022/02/25(金) 09:03:07.81ID:F30cwVSi
ウイルスがやりそうなことや、お行儀の良いプログラムがやらなそうなこと実装すると結構引っかかる
2022/02/25(金) 09:16:53.23ID:MEIpOner
Webにおくと問答無用で「人気がない」判定されて疑われる
2022/02/25(金) 12:36:04.84ID:n0fLabvp
このスレでflutterとかrustとか知ることできて
ありがたい
2022/02/25(金) 13:03:03.43ID:pyvPoE8E
やはりGUIはFlutterで構築するのが流行るかな
2022/02/25(金) 13:14:04.91ID:yOOIJPZ6
flutterはネストしたスクロール部分で欠陥があるから注意
2022/02/25(金) 13:56:06.11ID:8HeuC971
まあVSのC++のコンソールアプリのテンプレートのHelloWorldをデバッグビルドするだけで
マカフィーはウィルスとして判定するんやけどな...
2022/02/25(金) 14:10:58.39ID:Geimv/XM
マカヘー「今どきC++なんか使ってるやつはウィルス作成者に違いない!ギルティ!」
2022/02/25(金) 16:03:43.25ID:eqYFRIFE
>>472
そもそもUIとしてネストしたスクロールは使いづらいし、
見た目が悪い
2022/02/25(金) 17:52:46.88ID:yOOIJPZ6
ネストしたスクロールってandroidで当たり前のツールバーがコンテンツのスクロールに合わせて表示されたり消えたりするやつのこととかを含む..
まじでflutterスクロールまわり欠陥だらけ

jetpack composeはそうならないことを祈る
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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