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

■ このスレッドは過去ログ倉庫に格納されています
2021/09/19(日) 18:43:39.82ID:9XIs1/Nq
WPF(Windows Presentation Framework)について語るスレ。

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
2021/11/05(金) 20:11:10.22ID:Ao0OE/je
winui3くそ遅い??
listviewでスクロールさせると、描画の様子がひどいぐらいはっきりわかるんだが
スクロールさせてスクロール停止させる
上から下に順にアイテムが描画され、2秒ぐらいで上から下へ到達

つか、winui3は現状UWPのネイティブコンパイルもないしうーん...
198デフォルトの名無しさん
垢版 |
2021/11/05(金) 20:15:21.00ID:Ao0OE/je
仮想化はされてるはずだと思うが、x:bindにしなきゃいないオチなのかな
UWPでx:bindは今までは体感できなかったからbindingできたが
2021/11/06(土) 00:00:05.37ID:jZofpbA/
おれはx:Bindでやってるけど多分同じ
DataGridのスクロール遅いのと、あとComboBox開く時も1秒くらい固まる
コレクションのバインドがうまくいってないのかな
早急に直してほしいわ

アプリ落ちるわけじゃないけどVSの出力見るとめちゃくちゃエラー吐いてて不安になる
2021/11/06(土) 08:04:01.36ID:JSaNEHzI
そっか、previewとは言え何かひどい品質だな...
しばらくはUWPの方で開発進めて、必要あらばコピペで移行...
2021/11/08(月) 10:29:46.50ID:fqyV6Zq8
1〜2年はWPFで様子見かな。
UWPみたいに始まる前にオワコン化の恐れもある。
2021/11/08(月) 16:29:27.19ID:zwdHcR5W
WPFは見た目がな...
ModernWPFも何か更新止まってるし、やっぱオープンソースとはいえ個人に頼るとこうなる..
WPFはスタイルぐらい最新にしてメンテナンスしてほしいわ
切り捨て半端ねぇ
2021/11/08(月) 19:42:23.17ID:24WXt4Cq
使ったことないんだけど、XAML islandsってどうなの
あれ多分UWPと同じスタイルでしょ?

と思ったけど、調べてみたら結構書き方めんどくさいねあれ
.netバージョンとかターゲットWindowsも制限あるみたいだ
2021/11/08(月) 20:05:58.01ID:zwdHcR5W
うん、俺もそれ考えてちょっと前に調べただけだけど、特定のラッパーコントロール用意されてなきゃ、xamlで使えなくて、プログラムでゴリゴリ書くのか??
と思ってそっと閉じた...
205デフォルトの名無しさん
垢版 |
2021/11/09(火) 22:16:34.40ID:S5me9l/7
2年くらい前にisland使ったときはシームレスにスタイル設定する方法分からなくて挫折した
2021/11/09(火) 22:29:50.57ID:sS0E7jIA
vs 2022,.net 6とかどうでもいい
そんな事よりwinui 3はやくどうにかしろよ
2021/11/09(火) 22:44:09.79ID:vtv5p95D
winuiやる気あるんかね・・・
2021/11/11(木) 05:46:51.66ID:8yRUegoz
End of Support
.NET 6 LTS November 08, 2024
.NET 5 Current May 08, 2022
.NET Core 3.1 LTS December 3, 2022
2021/11/11(木) 08:45:01.61ID:aSFD2M5Y
>>208
まあ、サポート期間を厳格に気にする組織だったらこんな短命なもん使い物にならんわな
デスクトップアプリをCore系で作る場合は基本的には自己完結型実行ファイルにしてランタイムを丸ごと同梱するから、
例えばC++のアプリに同梱orスタティックリンクされたランタイムライブラリのサポート期限切れが問題になるだろうか?というのと本質的に同じ話なんだけど、
.NETは昔からどうしても運用側がバージョンを気にするから見逃されにくい面があるね
2021/11/11(木) 09:47:43.95ID:kleB+hL8
>>209
大企業は嫌がるだろうね。
せめて3年は欲しい。
2021/11/11(木) 10:09:01.87ID:Q0Vo4KWd
windows appsdk 1.0
11月16日
くそのまま出荷
212デフォルトの名無しさん
垢版 |
2021/11/11(木) 10:10:33.38ID:zylbVsVW
dll同梱にしたらWindowsUpdateしてくれないんだよね?
213デフォルトの名無しさん
垢版 |
2021/11/11(木) 10:17:08.81ID:GY/ZeNOE
Windows APoop SDK
2021/11/11(木) 11:35:00.85ID:ug+vy/d8
>>212
もちろんそうだけど、システムに.NETを入れようと結局サポート切れ問題は避けられないよ
5から6みたいなメジャーアップデートがWindowsUpdateで入ったら互換性ブチ壊しだから流石にそれはMSはやらないだろう
215デフォルトの名無しさん
垢版 |
2021/11/11(木) 14:52:06.91ID:aWoberO7
同梱とかやるくらいなら.NET Native行けばいいんじゃないの
2021/11/11(木) 15:33:02.36ID:ug+vy/d8
.NET Nativeは長いこと放置されたままで、事実上死亡したよ
今後.NETに加わる予定のNative AOTはXamarin由来の全然別系統の技術だし、それも出る出る詐欺で終わりそう
217デフォルトの名無しさん
垢版 |
2021/11/11(木) 16:57:27.69ID:aWoberO7
短命なのが嫌なのに放置されたら死亡扱いって何がしたいのだろう
2021/11/11(木) 18:18:54.70ID:ug+vy/d8
何を言ってるんだ?
.NET NativeでWPFは使えないんだから、このスレで引き合いに出すってことは将来的なサポートを期待してるんだろ?(君が無知なだけの可能性は置いといて)
放置されている時点で望みがないでしょ
2021/11/11(木) 22:45:31.13ID:Q0Vo4KWd
https://github.com/microsoft/WindowsAppSDK/issues/1762
ちなみに俺のアプリ1週間ぐらい前にpreview 3にしたらこれが出て
開発完全停止
いやっほう
220デフォルトの名無しさん
垢版 |
2021/11/11(木) 22:47:15.48ID:Q0Vo4KWd
開発マシンでこれが出てアプリ起動できなくなって無事死亡
2021/11/11(木) 23:48:15.82ID:JZxzrnkP
今やってるのを一区切りつけてからじゃないと新しいのに手を出せない俺
それまでにFixしといてくれよ
222デフォルトの名無しさん
垢版 |
2021/11/12(金) 00:05:11.39ID:4fWazNbK
依存症はよくない
223デフォルトの名無しさん
垢版 |
2021/11/12(金) 10:47:20.48ID:uCoii1J0
>>219-220
南無南無
224デフォルトの名無しさん
垢版 |
2021/11/14(日) 02:17:20.83ID:RCoTIHjC
アプリを.NET 6に載せ替えたら処理の引っ掛かりみたいなのが大幅に改善された
2021/11/14(日) 13:59:06.81ID:zlohTX33
WPFアプリが??
2021/11/15(月) 04:58:55.60ID:C16OsMO8
winui爆死する未来しか見えない
2021/11/15(月) 07:29:35.09ID:iooiPnyf
結局WPFが生き残るのか。
もうWPFをバージョンアップしてくれよ。
2021/11/15(月) 08:17:39.29ID:+6akv0mD
WFPでは皆様の寄付をお待ちしております
2021/11/15(月) 11:55:23.25ID:IH+BT7TN
2021/11/15(月) 14:15:27.62ID:/1xecnW4
vs2022にprismのテンプレート来ない?
2021/11/15(月) 14:28:10.63ID:kKRT+KTn
prismなんかいい加減卒業しろよ
2021/11/15(月) 14:30:20.08ID:G4EYkYuC
propptabtabのためだけにprism入れてるわ
2021/11/15(月) 16:33:07.33ID:x1+onMn+
多分prismいれなくてもできるんじゃ
2021/11/15(月) 17:43:03.63ID:0TlUiGC2
ViewModelのベースクラスってもう標準で用意されてるんだっけ?
2021/11/15(月) 18:22:58.00ID:iooiPnyf
Microsoft.Toolkit.Mvvm.ComponentModel.ObservableObject
2021/11/15(月) 18:28:51.50ID:rI6h6bd5
WindowsCommunityToolkitのObservebleObjectは?
2021/11/15(月) 18:29:16.65ID:rI6h6bd5
ごめんリロードしてなくて被った
2021/11/15(月) 18:43:19.59ID:CDLBepk7
ViewModelのベースクラスだけでいいなら別に1分で自作できるしな
後、DelegateCommandも自作。
これ以上求めるなら既存のパッケージ使った方がいいが

後、これにMicrosoft.Behaviorsと必要ならReactivePropertiesなりを
239デフォルトの名無しさん
垢版 |
2021/11/15(月) 18:47:10.18ID:CDLBepk7
まぁ、MVVMガチガチでやるならそこら辺のベースパッケージに他のPub/Subのメッセージ機能だのいろいろ含まれてるだろうから使った方がいいかも知らんが

俺は多少のコードビハインド上等!!で緩くMVVMやってるから
2021/11/15(月) 18:50:16.78ID:CDLBepk7
でも、今はそこら辺もコードジェネレーションさせるのがはやりなの?
全く知らんが
241デフォルトの名無しさん
垢版 |
2021/11/15(月) 19:40:59.72ID:ejWt9yMz
自作コントロールをコードビハインドで作ってね、というのがwpf元々のデザインなのかね?
2021/11/15(月) 20:28:40.80ID:lZl/HvLi
そいやMicrosoft.Toolkit.Mvvmって使ったことなかったな・・・
2021/11/15(月) 23:04:20.75ID:shaETTHE
>>226
UWP切り捨てなきゃだめだよな
win8以降のストアアプリ・タブレット互換路線は黒歴史
2021/11/16(火) 10:02:33.83ID:5D9mKY7b
世に出る前から黒歴史になるって言われてたのに強行して出して案の定黒歴史
245デフォルトの名無しさん
垢版 |
2021/11/16(火) 10:09:40.45ID:5cc/FgRz
WinUI3の事かーー!
2021/11/16(火) 20:01:11.22ID:ziRanpBl
MSはダメなんだよ
まともにアーキテクチャーを考えられる人材がいない
2021/11/16(火) 22:19:42.16ID:mlgO19O/
明日のcommunity callと共にゴミ品質のまま正式リリースですか?
2021/11/16(火) 22:30:06.77ID:5FWPEUJg
アーキテクチャを考えるのにアーキテキター
2021/11/16(火) 23:11:10.51ID:hZl5lwq3
どうせ誰も使わないんだからノープロブレムよ
MS自身も分かってやってるんだろ
2021/11/17(水) 00:18:40.38ID:PL0w9qJ+
WinUIのロードマップ視覚化ってのが出来てた
https://portal.productboard.com/winappsdk/1-windows-app-sdk/tabs/2-planned
2021/11/17(水) 01:09:29.51ID:l3rfe7cQ
>>249
俺は使うよ
2021/11/17(水) 05:04:04.64ID:F9/Q+7sp
ちゃんとサポートしてくれるならいいけどね
どうせいつもみたいにすぐ飽きて放置プレイだろ
2021/11/17(水) 05:20:35.01ID:mDvOmcEb
winuiってウィンドウのサイズが変更できないとかそんなことみた気がしたけど
どうなったんだろ
2021/11/17(水) 07:18:22.92ID:TiwSaLsb
同じ時期ぐらいに発表されたjetpack composeは順調なのに、mauiは延期でwinuiは品質低すぎって..
流石片手間プロジェクト
2021/11/17(水) 08:48:28.07ID:hfpDFEDy
現実的な打開策として、WPFを強化するしかないんじゃないの?
UWPベースのものはプロトタイプとしてきれいさっぱり捨てて、
WPFにWin10〜11のルック&フィールとx:Bind足すだけでWinUIよりも数段上のものが出来上がる。
ウィンドウサイズの件もそうだけど、WPFならデスクトップアプリに求められるあれこれを既に持っているんだから。
2021/11/17(水) 08:50:00.25ID:TiwSaLsb
https://docs.microsoft.com/en-us/windows/windows-app-sdk/api/winrt/microsoft.ui.windowing.appwindow?view=windows-app-sdk-1.0

これみるとサイズ変更できそうじゃね

つか、1.0リリースされたやん
2021/11/17(水) 09:26:32.18ID:hfpDFEDy
>>256
SizeInt32 Size { get; }

読 み 取 り 専 用
2021/11/17(水) 09:29:22.67ID:q/vNEJLr
メトロ、ストアアプリのときWPF続けてたらな
2021/11/17(水) 10:09:21.33ID:EI3vab8p
>>257
Resizeメソッドあるやん
触ったことないから知らんけど
2021/11/17(水) 10:12:22.56ID:0sKaSg3R
ElectronをWindowsでネイティブサポートするのが唯一の正解
Slack等が軽量爆速になれば数年前からMacしか使ってない俺でも乗り換えを検討するわ
2021/11/17(水) 10:30:00.80ID:wJ1eOL3L
>>260
Webview2作ったからそれはない
2021/11/17(水) 13:26:02.57ID:TiwSaLsb
https://docs.microsoft.com/en-us/windows/windows-app-sdk/api/winrt/microsoft.ui.windowing.fullscreenpresenter?view=windows-app-sdk-1.0
フルスクリーンも簡単にでき?るのかな??
263デフォルトの名無しさん
垢版 |
2021/11/18(木) 02:03:49.13ID:3BcDzx+Q
1.0なのに試験段階っていうのがよくわからん
バージョンナンバーの使い方がおかしい
2021/11/18(木) 05:48:29.00ID:ybXjdWUK
ロードマップ的にそろそろ出さなきゃ。
でもまだ品質が全然…
そうだ!
2021/11/18(木) 09:08:32.64ID:gtae6oKM
>>263
試験段階ってのは8月に出たやつ
今度のは正式リリースでStableだよ
https://docs.microsoft.com/ja-jp/windows/apps/windows-app-sdk/release-channels
2021/11/18(木) 09:13:27.09ID:+yickl7q
相変わらず本末転倒ですなあ
2021/11/18(木) 10:18:05.81ID:aGaNdek0
nugetのやつまだプレビューって付いてる
2021/11/18(木) 13:04:48.13ID:naW8oYaR
stableってMS語だとalphaくらいの勢いだろ
2021/11/20(土) 03:57:22.14ID:XyEhzNsD
>>199
https://github.com/microsoft/microsoft-ui-xaml/issues/1633#issuecomment-968612478
これだな
ゴミ決定
2021/11/20(土) 06:23:25.85ID:yZJtYWFA
Dependencyとかアホかと
いい加減やめればいいのに...
2021/11/20(土) 08:12:32.83ID:RcKVzoxT
現段階で作るならWPFだな。
272デフォルトの名無しさん
垢版 |
2021/11/20(土) 20:36:36.89ID:41BZ9bnj
>>269
こりゃ酷えなw
2021/11/21(日) 05:58:51.60ID:O2NBUc/R
WinUIの100倍高速なWPFがまた勝ってしまった
274デフォルトの名無しさん
垢版 |
2021/11/21(日) 07:46:34.96ID:HzrwXwCY
不毛なMVVM論争に始まりこの界隈腐り切ってるな
もうこんなゴミ捨ててWin32でいいだろ
2021/11/21(日) 13:51:31.68ID:XVFFQpa8
出たwin32おじさん
2021/11/21(日) 14:48:21.41ID:Hm7POycp
>>269
これはmanaged,unmanaged間のinterlopのオーバーヘッド?
つまり、c++/winrt使えば問題ないのかな..
2021/11/21(日) 19:15:52.27ID:nVO1gnhV
コンポーネントを書く時に今時インターフェイスをIDLでシコシコ手書きさせられるあのC++/WinRTでつか
2021/11/22(月) 08:56:34.80ID:ihL7kPV2
WPFの対応は?

What's new in Windows Forms in .NET 6.0
https://devblogs.microsoft.com/dotnet/whats-new-in-windows-forms-in-net-6-0/
What’s New for Visual Basic in Visual Studio 2022
https://devblogs.microsoft.com/dotnet/whats-new-for-visual-basic-in-visual-studio-2022/
2021/11/22(月) 09:11:13.76ID:hmzMhf+2
当然使えるよ。
2021/11/22(月) 10:20:53.76ID:Jfwl1W4W
WPFはコントロールテンプレートで実装丸見えだから細かい改善はやりづらいだろうね
コミュニティによるコントリビューションもいくつか入ってるみたいだけど、
そういうのもWPFの場合は作法に合ったコントロール作るの無茶苦茶難しいからかなりハードル高そう
2021/11/22(月) 15:48:31.64ID:Fwq2USUe
resizeBitmap.Save("xxx.bmp")でセーブしたらPNGフォーマットのxxx.bmpファイルができちもうた。 こんなもんなの?
282デフォルトの名無しさん
垢版 |
2021/11/22(月) 16:24:14.15ID:kArOZIiX
WPFはコントロール作るの簡単だぞ
2021/11/22(月) 16:57:30.26ID:hpJNYPMX
>>281

BitmapSource src = null;

// srcを設定

using (var fs = new FileStream("xxx.bmp", FileMode.Create))
{
BitmapEncoder be = new PngBitmapEncoder();
be.Frames.Add(BitmapFrame.Create(src));
be.Save(fs);
}
2021/11/22(月) 21:07:55.51ID:hUu20bEe
>>277
IDLでしこしこ書いてもいいけど、簡単にマージできないよね??
これが最大の問題だと思う

よし、プロパティを追加しよう。IDLを修正。IDLからコード生成。
生成させたコードを既存のコードを壊さないように手動で合体?
2021/11/25(木) 12:50:38.47ID:Sh2rwOHm
Win UIが想像以上に完成度低くてお通夜状態
2021/11/25(木) 13:04:19.58ID:F3lCPX8r
普及で大事なのは馬鹿でも使えるということ。
2021/11/25(木) 13:10:27.97ID:HfSBZkbG
とういうかプログラミングってシンプルイズベストだろ
ややこしくしすぎてMSの中の人もわけわかんなくなってそう
2021/11/25(木) 14:16:20.42ID:1eveYBOZ
MSからWPFのベストプラクティスが出てこないのがその証左だろうなあ
2021/11/25(木) 16:58:35.44ID:glmhau2y
MSはVSの開発で実践したじゃん
> WPFのベストプラクティス
WPFの設計思想とか無視して低レイヤの機能だけを使用し、上に独自のフレームワークを構築するのが正しいWPFの使い方だよ
2021/11/25(木) 19:15:02.13ID:F3lCPX8r
ただでさえVS2008で実装すべきだったのにVS2010まで遅れた上に
独自フレームワークにしてしまうとは、VS開発者がWPFにブチ切れしてたのは想像に難くない。
2021/11/25(木) 21:17:25.30ID:9wQLS7Ls
1.VS2022でWinUI3のプロジェクト作成
2.EF CORE SQLite を Nuget
3.EF CORE TOOLS を Nuget

2までだと問題ないが、3までやるとエラーで止まる
.NET 5 では問題なかったんだけどね

対処法はマイグレーションを暫く諦めるしかないのかな
2021/11/25(木) 22:50:29.92ID:lmhzcWbf
windows appsdk 1.3ぐらいになったら呼んで
2021/11/25(木) 23:36:34.31ID:Xt1TOEJK
1.2から2.0になった時は起こした方がいい?
また不安定になってそうだから2.3まで待つ?
2021/11/26(金) 13:55:42.48ID:/oeWBaoB
291だが、
UWPと同じようにDBのクラスをクラスライブラリプロジェクトにするなど色々やると対応できた
295デフォルトの名無しさん
垢版 |
2021/11/26(金) 17:33:51.75ID:tm36Huze
WPFの置き換えならAvaloniaはアカンの?

マルチプラットフォーム
WPFとほぼ同じ書き心地で書きづらい所改良済(移植も容易)
標準でモダンなUI搭載
標準でMVVMなテンプレート用意済
Rx(ReactiveUI)との親和性高め
主要なIDEでのサポートやプレビュー搭載済
それなりの規模で開発継続中

プロダクトには使えないだろって言う人もいるけど

WPF
 +MaterialDesignInXamlToolkit or モダンなUIフレームワーク
 +ReactiveUI or ReactiveProperty
 +Prism or 他のMVVMフレームワーク

最低限これだけ外部のフレームワーク準備しなきゃ現代的なアプリ作れないWPFもどうなんって感じですけどねぇ

現状IMEのサポートが弱い点が痛いけど、最近割と優先度上げて対応してるし
もっと使う人増えてほしいな
2021/11/26(金) 18:22:44.75ID:RwpMVgND
Reactで十分だよ
2021/11/26(金) 19:13:17.80ID:gCQqWjbE
>>295
個人の趣味ならともかく業務ならWinFormsの代わりとしてのWPFの使い方で十分メリットある。
ReactiveXXもMVVMも使用禁止。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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