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

■ このスレッドは過去ログ倉庫に格納されています
2023/09/09(土) 07:02:56.33ID:xfSBfAyx
WPF(Windows Presentation Foundation)について語るスレ。

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
2024/03/14(木) 00:59:55.46ID:HT+2FBc/
WinUIはコンバーターも使えるけど、スタティックなメソッド作って値のコンバートする方が良いよ
コンバーターと違って型チェックもやってくれる

https://learn.microsoft.com/ja-jp/windows/uwp/data-binding/function-bindings
2024/03/14(木) 18:54:54.11ID:awMyQery
>>399
ありがとございます
ただ、単純なコントロールならいいんですが切り替えたいのが複雑なコントロールツリーなんです
要するに画面レイアウトごと切り替えるイメージです
その場合はCollapsedで見えないけどメモリ上にはある?のでよくない?
2024/03/14(木) 18:57:46.12ID:awMyQery
>>400
x:Bindだとコンバーターわざわざ作らなくていいんですね
ただ、onewayとかにするとめんどくさいんですかね

後x:Bindは検証してませんがメモリリークどうこうとかあってうーん
https://github.com/microsoft/microsoft-ui-xaml/issues/7282
2024/03/14(木) 22:00:35.91ID:YGbJEKVm
TabView 使えばいいんじゃないかな
404デフォルトの名無しさん
垢版 |
2024/03/14(木) 22:54:09.64ID:kLN7FaI/
根本的な設計が間違ってるに一票
2024/03/14(木) 23:28:34.59ID:kXnu57YL
エクスプローラみたいのを作りたいんか?
ざっくりアイコンビューみたいのと詳細ビューを切り替えとか

それとも違うのか?
406デフォルトの名無しさん
垢版 |
2024/03/15(金) 06:36:24.00ID:n9fiX3XY
v7.0.0で、WinUICommunity Templatesがようやく使えるしろものになったかな?
フレームコンテンツ作成で
System.Runtime.InteropServices.COMException (0x8000FFFF): 致命的なエラーです。 (HRESULT からの例外:0x8000FFFF (E_UNEXPECTED))
が出るが、とりあえずは動かせるので進歩したようだ。
2024/03/15(金) 10:12:34.11ID:r4OsPqSJ
ダイアログのようにVMからVを操作したければサービスを作ってVからVMにインジェクションすれば良い
知らずにイキっている彼が惨めだ
2024/03/15(金) 11:16:22.89ID:OBIsoOBb
>>407
その手間が阿呆らしいと言われてる事に気づきたいものである
409デフォルトの名無しさん
垢版 |
2024/03/15(金) 11:17:02.37ID:I1QcrsU/
VMからVを操作したいという設計がアウトだろw
2024/03/15(金) 12:02:09.13ID:MChK0tzU
VMとVとか中途半端な概念つくって実装破綻する阿呆
2024/03/15(金) 12:19:34.67ID:eZW8M4iC
VMをなくした場合テストコードってどうするの?
書かない?
2024/03/15(金) 12:59:48.28ID:McMWG0Vb
自動テストやってるプロジェクト見た事ないな。
SIerはどこもExcelでケース書いて手動でテストしてエビデンスでスクショ取ってた。
2024/03/15(金) 13:04:39.74ID:r4OsPqSJ
>>408
サービスは使いまわしできるから大した手間じゃない
2024/03/15(金) 13:07:54.74ID:MChK0tzU
>>412
Reactとかだとままある
2024/03/15(金) 13:40:36.22ID:eZW8M4iC
>>412
それって修正の度に過去のも含めて毎回やるの?形骸化しない?

テストコードを書くことで DI や MVVM の利点が理解できたし、
テストコードを書くことでミスに気づいたりより良い実装にできたりって経験が何度もあるから、
個人的にはテスト書かないのはあり得ないな。
2024/03/15(金) 14:24:47.78ID:McMWG0Vb
>>415
修正に関係した箇所しかテストしないところが殆どだよ。
個人的には自動化したほうがいいと思うけど、
低レベルなエンジニアだとテストコード自体にバグがある事も多いし、SIerのレビュアーはコードが読めない人が多いからスクショを欲しがるんだよ。
2024/03/15(金) 15:29:58.80ID:MChK0tzU
SIerのレビュアーは
受け入れテストだろうから
単体テストは受け取らないのでは?
基本UIテストが基本だろ
理屈でねじ伏せて単体テストで押し切れないかぎりは
2024/03/15(金) 19:50:46.10ID:eZW8M4iC
UIテストはやるっちゃやるけどわざわざスクショは取ってないな
やりましたよー嘘はついてないんで信じてください、で
2024/03/15(金) 21:27:44.49ID:cF/fCSwm
納品の単位がクラスや関数でない限り
テストはUIテストやで
無論納品物はテストデータとUIキャプチャーみたいな
このあたりもReact界隈では自動テストがちらほら見られる
2024/03/15(金) 23:32:19.58ID:gbQQtayq
>>408
たしかに Dependency Inversion は一手間かかるがそれを阿呆らしいとしか感じられないのであれば残念
2024/03/16(土) 00:45:18.98ID:Uhv60CWW
Injection じゃ?
2024/03/16(土) 02:04:03.40ID:75FjIr1W
silverLightがポシャった時代から
まじでなにも代わってない...
2024/03/17(日) 09:42:36.14ID:mB4AOeXd
MVVMで開発
hyperlinkをクリックしたらpopupが表示される
というのはviewだけで完結するから、popupのisopenは hyperlinkのclickイベントをコードビハインドで書くべき?popupの状態を保持してなにかを動かすなどの処理はない
2024/03/17(日) 09:45:08.38ID:mB4AOeXd
変な日本語だった

popup.isopenは hyperlinkのclickイベント(コードビハインド)で書くべき?
2024/03/17(日) 10:15:24.14ID:x8VC44Gx
その開いた画面でデータ修正するとどうなる?
426デフォルトの名無しさん
垢版 |
2024/03/18(月) 20:29:45.91ID:GPnxxBJp
そんなんで悩むくらいならmvvmで書けばいいんじゃね
コードビハインドにしたくなったらいつでも変えられるでしょ
2024/03/20(水) 00:57:48.10ID:b3LGPfrH
>>425
ありがとう
2024/03/20(水) 00:58:27.51ID:b3LGPfrH
アンカー間違えた
>>426
ありがとう
429デフォルトの名無しさん
垢版 |
2024/03/26(火) 17:16:47.74ID:0f2Qo6r6
clickoneceで公開できないあたりがもうゴミだわなぁ
2024/03/26(火) 21:02:51.23ID:hrjK7SMo
https://github.com/microsoft/microsoft-ui-xaml/discussions/9417
MicrosoftのUIフレームワークはひどすぎる
MAUIでも前に爆発してたよな
2024/03/26(火) 21:05:25.46ID:hrjK7SMo
https://github.com/dotnet/wpf/pull/8870
To be honest it looks like the code from WPFUI was copied without much quality control.

WPFのwindows 11themeの方も大丈夫なのかね
2024/03/26(火) 22:20:48.99ID:5DqAkGe7
>>430
>How can it be possible that MS is investing 20 times more effort into MAUI than into WinUI3

20倍!
MAUI始まったーーー!
2024/03/26(火) 22:30:25.34ID:oEfu3HhX
WinUI3死んじゃうの
2024/03/26(火) 22:47:00.47ID:1Bd4/Fy+
言語能力が足りないので意味が分からない

MSがMAUIをWinUI3の20倍開発してるなんてありえるんでしょうか?って意味に取れる
WinUI3の開発が停滞してて開発の進まないMAUIにすら負けてるように思えると言うこと?
2024/03/26(火) 23:43:00.65ID:h5VbGVBf
>>434
それであってるよ
WinUI3からは開発メンバー引き上げて撤退中っぽいという話
あげられてる証拠を見るとほぼ間違いなさそう
2024/03/27(水) 00:00:01.95ID:+Rfobi2u
後、avalonia はItemsRepeaterが手におえなさすぎて
ItemsControlに戻るってあった
2024/03/27(水) 00:06:47.14ID:+Rfobi2u
ItemsRepeaterはwinuiの方を参考に実装してんだろ?
upstream(winuiの事?)とavalonia自身の問題で
ItemsRepeaterが手におえないってよ

リンク張りたいけどソースが見つからん
昨日見つけたけど見つからん
2024/03/27(水) 00:13:25.41ID:+Rfobi2u
https://github.com/AvaloniaUI/avalonia-docs/pull/423
別パッケージに追い出すこれ絡みだと思うけど
2024/03/27(水) 16:49:34.14ID:HO+d/NZo
MSの中でもとくに無能がUIフレームワークに関わってるんじゃないかってレベルで
ずーっとgdgdなのはもはやお家芸の域だなw
2024/03/27(水) 16:52:12.01ID:pdNpUpRc
MS自体が出してるアプリはどのツールキットで書いてるの?
2024/03/27(水) 17:56:14.90ID:2eNmXpSn
VSCodeはElectron、teamsはElectron→Reactじゃなかったっけ?
MS自身が主要アプリに自社フレームワーク使ってない時点でお察し
MAUIも沈みゆく船かもな
442デフォルトの名無しさん
垢版 |
2024/03/27(水) 18:01:03.88ID:fvftl7ag
Azure(モバイル) - MAUI
Office 365 Admin(モバイル) - MAUI
Windows Terminal(Win) - Windows App SDK
PowerToys(Win) - Windows App SDK
Microsoftストア(Win) - UWP
Visual Studio - WPF + ネイティブ?(2010年頃。最近のバージョンは不明)
VSCode - Electron
Office(Web) - React
Office(PC・モバイル) - ReactNative
Outlook(Web) - React
Outlook(PC・モバイル) - ReactNative
Teams(PC) - ReactNative (旧バージョンはElectron)
Teams(モバイル) - ReactNative
Skype(モバイル) - ReactNative
Xboxアプリ(PC/Xbox) - ReactNative
OneDrive(PC/Mac) - Qt ※2022年サービス終了

適当に検索して出てきたのまとめるとこんな感じ
React系のガワは全部FluentUIっぽい
2024/03/27(水) 18:07:41.79ID:Zxkvq2K7
>>442
PC版でReactNativeとしているソースを一つずつ挙げてください
444デフォルトの名無しさん
垢版 |
2024/03/27(水) 19:19:45.13ID:fvftl7ag
Teams(PC版)はReactだったねごめん

他はここがソースだけどよく見たらアプリ全体の構築としてReactNative使ってるのはXbox系のアプリだけかな?
https://microsoft.github.io/react-native-windows/resources-showcase
OutlookはここだけどこれもReactNativeとは明記されてなかったね…
https://www.reddit.com/r/reactnative/comments/j7jp1n/microsoft_outlook_is_moving_to_react_native/

んじゃPC版は全体的に「React(ReactNativeかも)」に訂正で
2024/03/27(水) 19:38:29.62ID:LmabxP9i
こ、これは...
PCを知らない世代かな
2024/03/27(水) 20:53:12.97ID:o6ku426i
ExplorerはWinUI3
2024/03/27(水) 21:34:26.84ID:+Rfobi2u
>MAUIも沈みゆく船かもな
MAUIは最初から沈んでるやろ
2024/03/27(水) 22:19:31.12ID:0Xg5/g0X
Unoもまだ生きてんのか
2024/03/27(水) 22:26:42.38ID:FuRTR6go
ちょっとずれた質問だけどFlutterよりReactNativeのほうが生き残ってるってこと?
そっち方面全然知らなくて
2024/03/27(水) 22:37:46.78ID:+Rfobi2u
どっかで見かけたりするシェアはreact nativeよりflutterのほうが上でしょ
2024/03/27(水) 22:49:23.89ID:OUGKNXTu
瞬間風速でなくてGoogleにとってflutterの戦略的メリットが無いと言う基本構造が続く限りは
コスト削減の煽りでEOLのリスクがあるのです
2024/03/27(水) 22:55:17.38ID:o6ku426i
簡単に簡素なアプリを作りたいのならばflutterみたいのは向いてないと思う
視覚的に開発中に階層が深くなる系は厳しい
2024/03/28(木) 11:14:39.51ID:/B5kuUN1
階層深くなるのはプログラマの責任
ReactでもFlutterでもXAMLでも変わらん
分割考えず1ファイルに詰め込むアホの所業
2024/03/28(木) 17:45:37.48ID:nBBGR5tB
ここ3,4年Flutterばっかやってるけど
Flutterはもう1歩頑張ってほしいな
2024/03/28(木) 23:33:02.95ID:XOyHyu4g
どのへんがダメなの?
2024/03/28(木) 23:54:05.11ID:y0fx9YTb
Xamarinおばさんって誰のことかと思ったらあの人か
2024/03/29(金) 14:14:38.40ID:74DRbGVo
個人的にはFlutterが一番マルチプラットフォームとしては使いやすいが、
Android専用ならJava/Kotlinで書いた方が楽というジレンマ
2024/03/29(金) 14:44:33.98ID:T6jsxCRZ
Java製のマルチプラットフォームソフトはどのOSでもアウェイ感が強かったよね
何故かFlutterならアウェイ感が無いと思いたい人が一部にいるw
2024/03/29(金) 15:29:09.43ID:wglO5eyS
flutterはJavaじゃなくてDart
2024/03/29(金) 18:38:14.50ID:m7eYCOK7
Flutterはカクカクするけど標準で部品が充実してるからモバイルのみのマルチプラットフォームですばやく仕上げたい場合に適してる
MSのようにウェブもデスクトップも考慮する必要があれば断然ReactNative
2024/03/30(土) 09:09:53.07ID:MCaOmcFy
>>439
そらMSで優秀な奴らはカーネルとかクラウドとかAIとか書いてるだろうから
UI部隊にいるのは相対的には劣ったエンジニアなのは当然
それでも世間一般から見たら上澄みだろうさすがに
2024/03/30(土) 12:58:37.49ID:qKYhhQoG
MSがWindowsに投資するのは何年も前にやめてるから当然
2024/03/30(土) 13:10:46.82ID:u/j6Xh0J
>>460
PythonでFlutterアプリを構築できるFlet
2024/03/30(土) 13:11:03.26ID:Pgu7bMXe
OSベンダーでありながら他社フレームワーク頼りなのはまじうんこ
2024/03/30(土) 13:52:45.76ID:nd7jP09y
react nativeってwindowsだとうらで
うんこ品質のWinUI3が動くんだろ?
2024/03/30(土) 22:17:49.03ID:nd7jP09y
https://flutterweb-wasm.web.app

wasm gcいい感じだね
2024/03/30(土) 23:17:18.83ID:n1qM7mX0
Skiaバックエンドが良いか悪いかの議論が元々あって
結局上位のフレームワーク(Flutter)に引きずられる形だった

そこにreact-native-skiaと言う選択肢がv1.0になったから注目

https://shopify.github.io/react-native-skia/
https://github.com/shopify/react-native-skia
2024/03/31(日) 10:04:26.39ID:mDZ63ow1
flutterはモバイルはskiaダメだからからimpellerに移行しようとしてるよな
2024/03/31(日) 10:28:17.33ID:kDf89AF4
RubyおじさんがFlutterおじさんに変わっただけでスレ汚しに来るのはご遠慮願いたい
470デフォルトの名無しさん
垢版 |
2024/03/31(日) 17:46:04.27ID:Upgbi7uR
金になるかじゃね? 
2024/03/31(日) 18:07:52.54ID:Vv8mkq+M
集団でシャンフロ叩いてたのに2期が決まると手のひらクルッ!
2024/04/03(水) 02:22:47.82ID:5l2tfQ1N
なんかAvaloniaが一番活発に見えるな。.NET Foundation離脱したらしいけど・・.
https://github.com/AvaloniaUI/Avalonia/releases/tag/11.1.0-beta1
2024/04/08(月) 20:11:02.67ID:t4avbyyf
どれも余命短い
こういう流れは終わりつつある
2024/04/08(月) 20:17:38.46ID:18MavYnE
Avaloniaに期待してるわ
2024/04/10(水) 17:13:09.36ID:Ia5FuffE
ここんとこずっとTypeScript&Rectやってて、久々にC#でデスクトップアプリのコード触ったら
色々めんどくさっ!てのる
2024/04/10(水) 17:56:11.18ID:HEGtCi2T
ここの人達はそとの世界を知らないから...
2024/04/10(水) 18:59:35.92ID:XDg1AIjK
ime制御とかめんどくさいよねー
2024/04/10(水) 19:05:36.21ID:7hiXDhHX
>>475プラスwinuiだとゴミ品質で
地獄へようこそ
2024/04/10(水) 19:36:59.54ID:HEGtCi2T
MVVM地獄...
コードビハインドで回避できるんだけどねーー
480デフォルトの名無しさん
垢版 |
2024/04/10(水) 21:47:50.46ID:ruWIk3N0
ちゃちゃと仕事終わらせるには方法は厭わないよ
2024/04/10(水) 21:58:30.66ID:IQhKeh3K
Reactそんな簡単かね
2024/04/10(水) 22:47:41.03ID:1ixW9o0p
UIの実装だけとっても
工数換算で桁が違うぐらい簡単ですよ
2024/04/11(木) 00:38:44.06ID:3HnfOpMu
WPFそんなに難しいかねえ
2024/04/11(木) 00:45:01.18ID:7W3TQIx7
実際microsoftがgdgdだから俺もreactに乗り換えたい
2024/04/11(木) 01:03:16.25ID:IHtDl9+q
Reactすら最近は工数かかりすぎで避けられている
その中でWPFやる人は貴重
2024/04/11(木) 07:28:14.31ID:ocPOh01k
Reactでデスクトップアプリ作れるの?
なら乗り換え検討するけど。
2024/04/11(木) 10:22:40.18ID:aV0o6s3M
え、そこからなのか
それはさすがに外の世界を知らなさ過ぎ
2024/04/11(木) 10:43:29.25ID:KhXMzjRg
>>486
WPFですら、WebView2貼り付けたりCefSharp入れて普通に書ける
2024/04/11(木) 10:52:44.04ID:O1Gd6eQm
TeamsのUIはReact
2024/04/12(金) 01:44:30.27ID:skHTUlbY
継ぎ接ぎだらけでかゆい所に手の届かない微妙UIのTeamsでは興味を惹かれないな
2024/04/12(金) 01:59:50.07ID:0jDH5e+d
>>490
星の数ほどUIライブラリーはある
https://tailwindui.com/components/#product-application-ui
2024/04/12(金) 17:39:06.91ID:pBloSxxk
WinAppSDK 1.5.2

fixされた問題
7つ
しね
2024/04/12(金) 18:52:59.66ID:0jDH5e+d
そのうちメンテナンスされなくなって
windowsOSのUI周りに必要なとき
にだけ更新されるライブラリーになるのかな?
2024/04/12(金) 23:01:03.48ID:cjjo+JX+
KMP環境下でのMVVMモデル
https://zenn.dev/istyle/articles/eca6ccf62ae759
2024/04/12(金) 23:25:16.70ID:nRJmvqB/
kotolinのこう書けるのおもしろい
sealed interface TestUiState {
 object Loading : TestUiState
 data class Success(val uiModels: List<TestUiModel>) : TestUiState
 object Error : TestUiState
 object Empty : TestUiState
}
2024/04/12(金) 23:25:41.65ID:nRJmvqB/
kotlinか
2024/04/14(日) 15:03:24.78ID:bnHzXlwD
>>486
もう大分昔に
Webアプリケーションが
デスクトップアプリとして動かせる時代になってるから
(例: VS code、Slack、旧Twitter)
メインの開発環境はそっちに移行しといた方が良いよ
ブラウザー内でも動作できるデスクトップアプリが作れるようになる
2024/04/14(日) 16:14:14.74ID:oiS24wJy
認証の御布施が必須になってない?
2024/04/15(月) 10:01:49.70ID:0qAhQO9Q
electronでスタンドアロンで作成すれば認証なんか関係ない
インストーラも味もそっけもないがelectron-winstaller使うか、pascalごり押しに
なるがinno setup使うか選択できる(VSCodeはinno setup使ってる)
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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