WPF(.NET, WinUI) GUIプログラミング Part32
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/ MSがWindowsに投資するのは何年も前にやめてるから当然 >>460
PythonでFlutterアプリを構築できるFlet OSベンダーでありながら他社フレームワーク頼りなのはまじうんこ react nativeってwindowsだとうらで
うんこ品質のWinUI3が動くんだろ? Skiaバックエンドが良いか悪いかの議論が元々あって
結局上位のフレームワーク(Flutter)に引きずられる形だった
そこにreact-native-skiaと言う選択肢がv1.0になったから注目
https://shopify.github.io/react-native-skia/
https://github.com/shopify/react-native-skia flutterはモバイルはskiaダメだからからimpellerに移行しようとしてるよな RubyおじさんがFlutterおじさんに変わっただけでスレ汚しに来るのはご遠慮願いたい 集団でシャンフロ叩いてたのに2期が決まると手のひらクルッ! ここんとこずっとTypeScript&Rectやってて、久々にC#でデスクトップアプリのコード触ったら
色々めんどくさっ!てのる >>475プラスwinuiだとゴミ品質で
地獄へようこそ MVVM地獄...
コードビハインドで回避できるんだけどねーー UIの実装だけとっても
工数換算で桁が違うぐらい簡単ですよ 実際microsoftがgdgdだから俺もreactに乗り換えたい Reactすら最近は工数かかりすぎで避けられている
その中でWPFやる人は貴重 Reactでデスクトップアプリ作れるの?
なら乗り換え検討するけど。 え、そこからなのか
それはさすがに外の世界を知らなさ過ぎ >>486
WPFですら、WebView2貼り付けたりCefSharp入れて普通に書ける 継ぎ接ぎだらけでかゆい所に手の届かない微妙UIのTeamsでは興味を惹かれないな WinAppSDK 1.5.2
fixされた問題
7つ
しね そのうちメンテナンスされなくなって
windowsOSのUI周りに必要なとき
にだけ更新されるライブラリーになるのかな? kotolinのこう書けるのおもしろい
sealed interface TestUiState {
object Loading : TestUiState
data class Success(val uiModels: List<TestUiModel>) : TestUiState
object Error : TestUiState
object Empty : TestUiState
} >>486
もう大分昔に
Webアプリケーションが
デスクトップアプリとして動かせる時代になってるから
(例: VS code、Slack、旧Twitter)
メインの開発環境はそっちに移行しといた方が良いよ
ブラウザー内でも動作できるデスクトップアプリが作れるようになる electronでスタンドアロンで作成すれば認証なんか関係ない
インストーラも味もそっけもないがelectron-winstaller使うか、pascalごり押しに
なるがinno setup使うか選択できる(VSCodeはinno setup使ってる) 社内サーバーだからhttp:でいいやろと思ったら
Chromの機能制限がすごいんよね chatGPT3.5で昨日からWPFの質問をしてもxaml等がまともに表示されない Chromeの問題なのかChhatGPTの問題なのか Cursorでリポジトリ丸ごと突っ込んでGPT-4かClaudeに聞いた方がいいよ >>503
今までずっとまともに機能してたのに
数日前からまともに答えが表示されない 質問いいですか?
<TextBox Text="{Binding Text1}" />
<Button Content="_Button" Command="{Binding Command1}"/>
上記のような場合、テキストボックスにフォーカスがある状態で Alt+B を押すと Text1 の値が更新されません。
UpdateSourceTrigger=PropertyChanged は重いので避けたいのですが、ほかによい方法はないでしょうか? フォーカスが外れるまで更新されないのは仕様なんじゃなかったっけ
フォーカス外したら上手くいかないかな ありがとうございます。
とりあえずAltキーが押されたときに更新してみます。
もう少し美しい方法があればご教授ください。
private void Window_PreviewKeyDown(object sender, KeyEventArgs e) {
if (e.Key == Key.System) {
foreach (var bind in BindingOperations.GetSourceUpdatingBindings(this)) {
bind.UpdateSource();
} } } メニューやツールバーもフォーカス外れないから更新されないのね…
もうvmからview更新するわ WinUI3を使わざるを得なくて今いじってんだけどデバッグするごとにインストールされるの無効にできないのこれ?
あとタスクバーのアイコンも変えられないんだがマジで破壊的変更多すぎるだろ過去のノウハウやナレッジがことごとくゴミになってて誰がこんなフレームワーク使うんだよ・・・
しかも誰も使ってないからググってもまったくヒットしないしもう萎えたわ 忘れても良い技術
他で何の役にも立つことが無い事が確約された技術 WinUI 3 Galleryが更新されてたから開いてみたけど、ちゃんと新コントロールが追加されて行ってるんだな
>>514
わからないことはとりあえずCopilotに質問してみたらどうだろう 久しぶりにWPF使ったけどやっぱいいな
16bitマイコンのC言語を今いじるとアレ過ぎるだけだが 新コントールよりバグとりをしてくれと思う
誰かの引用すると
>本来の開発時間より WinUI のバグと戦っている時間のほうが長い説ある
ほんとこれでWinUI時間の無駄 >>518
1年位前は必ず落ちるコントロールページがあったけど直ってるな
違和感のない今時の見た目と操作感のコントロールが必要ならWinUI3しか選択肢がない
>>521
WPF Gallery Previewで見るとTransitionがないのでWindows10レベルな印象
React Native galleryはwindows8の見た目のまま
今の所RNWは他のコントロールを一切使わずにwebview2だけをロードするガワアプリ専用かな >>520
ほんそれ
15年以上前のWPF初期の時代からずっとそれなんよ
プロジェクト開始前の実現可能性でことごとくWPF不採用WinForms採用になる理由がまさにそれ
WPF使いたくてもライブラリもカスタムコントロールも非対応のないない尽くしでどうしようもない
プライベートや試験実装でWPF使ってもバグや技術的に実現困難で途中で破棄せざるを得なかったことが一体何度あったことか
しかも何度も具体的にバグ報告して最終的に開発者ですらもうWPFのアプデしないからバグもそのままになるわごめんやでやったのは笑うしかなかった
JavaFX(Glassfish)もいち早く触ってたがXAMLと違いFXMLはXML+CSSでXAMLのようなResourceというクソ面倒かつ沼のような実装じゃなかったのがマジで神だった
コントローラーとイベントハンドラのマッピングも直感的で非常にわかりやすかった
まぁ結局JavaFXも廃止されてしまい未だにSwing使われてる時点でJavaもお察しなんだが だからさ
もうWebView2でReactでいいだろ
何の問題も起きない >何の問題も起きない
それは言い過ぎ
数千、数万ファイルの文字情報量、サムネイル数を扱う場合や
数万レコード以上の表を扱うスプレッドシートなどネイティブコントロールが必要
(自分が開発する分野じゃないけど) formsのチャートコントロールでグラフ描画してます。
ボタンを押すとグラフ描画して、最後にスクリーンショットを撮るようにしたのですが、画面には描画されているがスクリーンショットファイルには凡例と軸などはあるがグラフがないのです。
適当にググったDoEvents関数の後にスクリーンショット関数を実行するとグラフが残りますが、一部欠けることがあります。
レンダリングが終わったことを知る方法はありますか? 同じ人かな?
ふらっと C#,C♯,C#(初心者用) Part160
> Windowsで画面の外にある範囲とか後ろにあるものを含めてスクリーンキャプチャ頑張ってしたいです
> 例えば画面の外に出てしまったExcelなどです。
> C#でそんな魔法の関数ありますか?Windows APIでもいいのであったら教えてください
> 描画する前の段階のメモリにアクセスとかそういう関数とかあるかな
それはそれとして
stackoverflow.com/a/54842682 >>526
データグリッドはReactのが早かった(*бωб)
WPFはデータバインディングが遅延して糞でえらい目に遭ったぞい >>527
チャートコントロールのPostPaintイベントハンドラを作成して描画フラグを立てることで対応出来ました。 >>524
今のMSの新しいの作っては投げ出す酷さと比べたらWPFはかなりマシだろう
補助ライブラリ的なものは全然足りないけど、コアの部分はそれなりに作り込まれてるように感じる
(必要以上に高機能にし過ぎて使いにくくなってるのはさておき)
回避出来ないようなWPF自体のバグってそんなにある? >プロジェクト開始前の実現可能性でことごとくWPF不採用WinForms採用になる理由がまさにそれ
すごい現場だな。業種何だろ? UIフレームワークのバグと格闘することほど時間の無駄なことはない
たいていは格闘してもバッドノウハウとして他で通用しないし
だから、多少クソ言語だろうとUIフレームワークの出来が良ければ
そっち選ぶは WinFormsはHiDPI環境への対応がクソだったけど、
バージョンアップの度ごとにHiDPI周辺を修正してるから最近はマシになったのかな? >>526,529
reactで試したらデータを表示するパッケージならデータ量はそれほど問題なさそう
(見えてる部分だけを上手くDOM構築してる)
でもスプレッドシート的なパッケージ(セル複数選択、コピペ、IME入力)になると性能が一気に落ちる
その用途ではネイティブコンパイルなQtが凄く軽い
10万行近くのデータそれぞれにrandで数値文字列を追加する程度ならラグが最小限 Reactが遅いことに気がついた奴がいるようだ
「Microsoft Edge」のUIが劇的に高速化 ~内部プロジェクト「WebUI 2.0」の秘密
https://forest.watch.impress.co.jp/docs/news/1595717.html >>536
WPFは大量行の処理だと仮想化必須で
仮想化するとこんどは表示がもたついて
スクロールして行の選択の操作が辛いのよ 正直いってReactのほうが何倍も早い
特にWPFはアニメーションが辛いし糞遅い
ハードウエアレダリンクがなかなか効かないから 3Dポリゴンも含めてハードウェアレンダリングは効いてないね >>537
EdgeのUIを構成してるReactの使い方がクソでしたスマンスマンって話だろ そもそもウェブUI/UXフロントエンドのデスクトップ実装と比較してWPFが〜というよりXAMLのメリットが一つもないゴミやからしゃーない
フォントの色一つ変更してルールで適用するのだけでどれだけ面倒くさいか、Xamarinなんてプラットフォーム毎に個別にコードビハインドさせられて卒倒しそうになったわ
アニメーションやベクターグラフィックスなんて正気の沙汰じゃないくらいの困難かつ苦痛
これがCSS(SCSS)ならどんだけ簡単でシンプルで疎結合にできるか
まぁMS系技術者はウェブ未経験者ばかりで>>534みたいなCSSアレルギーなジジイが多いのも問題なんだが
今やどんなPCもゲーム以外の普通のアプリ実行でパフォーマンスが不足することなんてなくなりReact NativeやElectronやTauriでも全くストレスがない
逆に.NETの最大のデメリットである起動の遅さ、UIのかくつきやもたつきでウェブ実装にパフォーマンスで完全に負けしまってるという逆転現象が起きてるの草生えるわ >>543
そんなに息巻いてどうした?
>>538,540
パフォーマンスの話では.Netとの比較しか出来ないよな
何せ
>React NativeやElectronやTauri
製のスプレッドシートアプリがないから
MS 365のExcelなんてモッサリ過ぎるから無理して作るのは負け戦だしな >>537
WebUI2.0ってなに?
非公開なのかな? Reactが遅いのは確かだがそれはWebフロントのフレームワークやライブラリの中では遅いほうというだけだからな
嫌なら他にSolid.jsやSvelteなどを選択すりゃいい
それよりもプログラマーたちは絶望的にcssが扱えない
扱えないというよりもデザインセンスゼロだから何をどうすればUIを構成するのかも理解する脳みそを持っていない
そのうえレスポンシブ対応となるともはや未知の領域
そしてそれはデザイナーの仕事だと逃げるのがやっとなんだよ
Webフロントエンドエンジニアですらこんなクソスキルばっかだからな この指摘をすると必ず「デザイナー笑」みたいなレスしかできない無能が現るんだよな
反論にもなっとらんわ
いちいちスキルゼロを自己紹介しなくていいぞ >>548
日本人が中国人に20年差をつけられてるのはソフトウェアだけでなくデザインもだからしゃーない
Vue/Viteは中国人が開発したしGithubでスター多い人気リポの中国人開発者の多さよ
極めつけがメーカー・個人問わず日本人が作ってるアプリのUI/UXの酷さよ
一体何十年時が止まってるんやろって酷いUI/UXしか存在しない デザインできない奴がコンプレックスで噛みついてるだけなんだからほっとけ
できない奴は本当にできないんだよな
良し悪しが判断できないんだとさ 中国とかAppleのマネしてるだけ、なぜAppleのUIが正解とされてるか不思議だけど 今後は生成AIの力を借りて
デザイナー()さん程度でもコード書けよ 自分のアプリのスクショをChatGPTに見せてこういう感じにしたいと言うと修正案のデザインカンプを文句一つ言わずに無限に出してくれるから最近マジで活用してる
そのまま使える事はないけど、たまに面白いアイデアが入ってる事がある。
なんだったらそのままコードの叩き台も書いてもらう >>549
>極めつけがメーカー・個人問わず日本人が作ってるアプリのUI/UXの酷さよ
優秀な人がゲームに取られてるイメージ
中国は単にバブったのが最近だったからで、デザイン要素が高く評価されて
お金に還元される循環が弱くなると衰退してくでしょ >>549
日本では底辺のITドカタ産業だからな。
こんな産業に(プログラマ・デザイナともに)優秀な奴が来るわけないだろ
優秀な奴が来るアメリカ等のIT強国とは違いすぎる 海外が金掛けてデザイナをキッチリ雇ってる反面、日本はケチってデザイナ雇わないから酷いってだけの話だろ
UI/UXデザインまでエンジニアがやってどうすんだよ >>556
>日本では底辺のITドカタ産業だからな。
未だにIT産業が虚業だと聞くことがあるからね
PC黎明期に日本では不動産バブルによって製造業「ものづくり」が絶頂でだったことの老害マインド、負の遺産だよ >>557
>UI/UXデザインまでエンジニアがやってどうすんだよ
外国では非ドカタ産業だから専門職の人がするんだろうが、ドカタ産業の日本ではドカタがやるに決まっているだろ
あと、日本でもエンジニアはデザインしないだろ。
いくら日本のITがドカタ産業と言っても、優秀な人材のエンジニアにはやらせない、やらせているのはドカタって連中だよ >>558
今のIT産業の前身は人身売買産業だからな Reactドカタがドカタを脱却したがるのはわかるがWPFを貶しても何も変わらないぞ
そもそも日本でのモバイルアプリ、Webページのコーディングやデザインが、
アマゾン配達員と変わらない付加価値の低い差別化要素を廃したラスト1マイルの単純作業と見做されている