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/ 忘れても良い技術
他で何の役にも立つことが無い事が確約された技術 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マイルの単純作業と見做されている Reactすらできず過去の遺物のWPFに縋ってるジジイどもw 土方系ソフトはデザインに金かけるくらいなら削るって考えだからね >デザインに金かけるくらいなら削るって
その発想は日本じゃなくてグローバルで広まるな、特に各分野のメジャープレイヤーが固定化した後は
AIで絵心ない素人が何となく見栄えのする画像を生成出来る様になって、(日本では)絵師が窮しているのになぞらえると
プログラマだけで作るUIも飛躍的にレベルアップしてUIデザイナーがこの先生きのこする予感 土方系ソフトでキーボードで操作できないようなUI出したら即クレームだからな > プログラマだけで作るUIも飛躍的にレベルアップして
絶対にない
プログラマーはUIを知覚する脳みそが原始人レベルに未発達
たとえAIが作ってもそれを利用することが不可能 >>567
凄い偏見だなw
老舗アプリは硬直化しててもやむなしだけど、
WPF製で開発がアクティブなやつで特定のがあるのか? >>567
Visual Studioの事を言ってるのか? ここのおっさん・ジジイどもが如何に普段ゴミみたいなUI/UXの業務システム()開発してる土方かよーわかるわ
何が日本は海外みたいにデザイナー雇わないからどーのこーのってこいつらホンマにエアプすぎて草生える
海外は人気のデスクトップアプリでも2〜3人の少数精鋭で作っててプログラマーがデザインもこなしてんだよアホ
そもそもデザインセンスない低能がUI/UX開発できるわけねーだろ馬鹿が
そーゆーセンスの欠片もない馬鹿な客の意味不明で無茶な仕様書で詰められながらゴミのようなシステム開発してる土方ばかりだから日本は中国から最低でも20年ソフトウェアもデザインも遅れてんだよ >>570
見せてもらおうか
中国の人気デスクトップアプリのデザインとやらを
って言って欲しいのか? 人を雇う余裕がない零細ベンチャーならともかく日本でも海外でも売上規模の大きいソフトならUXエンジニアもUIエンジニアも普通にいる
仕事したことないのかな? >>572
wpf辺りだとその一言で大体論破できちゃうの面白いな Html出来ないからWpfに必死でしがみついてるのに
このスレの住人にCSS出来るのなんか少数だけでしょ そもそも生CSSですらやだやだゆーとる無能の老害がSCSSとか理解できるわけないわな
しかもVSとゆー世界一優秀なデバッガ搭載してるIDEに慣れ過ぎて使われになっとるIT土方がVScodeで開発環境構築とか不可能なん目に見えててクソワロタ
CSSすら理解できへん無能の老害どもがGitとかモジュールバンドラとかlintとかprettierとかまったく理解できず涙目でファビョってるの想像したら草生えるわ まぁその前に無能老害はReactのJSX/TSXやReduxを絶対に理解でけへんわ そもそもデザイナーとかゆーてる時点でガチのIT土方なんバレバレやな
今どきウェブ系のほーがフルスタックでよっぽどレベル高いっちゅーねん
デザインもフロントエンドもバックエンドもDBもクラウドもなんでもやるし
そもそも今ウェブではフォトショやイラレじゃなくてFigmaやSketchやAffinity使うことすら知らない美的センスゼロの老害どもクソワロタ
プログラマーがデザインセンスゼロで醜悪なゴミアプリやサービス作っとるの日本だけやぞさすが楽天の国やな そーーいえば昔箱崎のIBMにいた時
中の人がVisualStadioはMSが作った
中途半端なエンジニアを大量生産するフレームワークやと言っとったな 読点も打たずに長文を垂れ流しとるの、どこのハゲ頭だ? そういうけどフレームワークというものがソフトウェアのエンジニアリングをやる人と、
その先のビジネスのエンジニアリングをやる人とで分業する仕組みだもんね。 MSですら見捨ててるWPFにしがみつくおじいちゃんたちの断末魔 WPFのBindingを使いこなせるおじいちゃんなら、React や SCSS は楽勝で使えるようになる
これらは、楽勝で使えるから広く使われるようになったのだよ bindingは当たり前だがMVVMでやれるかだ? >>590
VSのUIなら、
このスレの(非ドカタ/プロ)おじさん・じじいなら作れるだろ。
できないようじゃベテランのプロじゃないだろうな(できないのは永遠に低レベルのドカタだろ)。
あと、おじさん・じじいぐらいになると実力的にはフレームワーク・コンパイラ・デバッガ・プロファイラ等も作れるだろうが そりゃあガワをそれっぽく似せたものは作れるだろうけど… 作れるの認識が決定的に違うか
UIという言葉の範疇が全く違うか
VS自体まともに使ったことがないか
のどれかだろう
VS CodeならともかくVSのUIとなると要素も機能も多すぎて
作業量的に個人でやろうという気になるレベルじゃない >>596
>作業量的に個人でやろう
>>590は個人(1人)でVSみたいな(複雑なUIの)アプリを作れる超すごい奴いる?って尋ねているのか
複雑なUIのアプリでもデザインからコーディングまで一人でやるのが日本流開発なのか ちょうど俺がXAMLでもJSX(React)でもどっちも作れるけど
Reactの方が何倍も簡単だよ ここのおじいちゃんたちはcssが絶望的に理解不能なんだよ
まあその前にUIというものを理解したり設計したりする脳みその機能を備えていない Reactはいいけど
たいしたことないのでもcssが自由に扱えない
wpfとか他のでいいやとなって慣れないかないのてあった MaterialUIとか、それこそFluentUIのReact版とか、出来合いのコンポーネントいっぱい入ってるライブラリ使えば、「XAMLでハックな使いかとしないと書けない」レベルよりちょい下くらいまでは、生のCSS触らないで簡単にUI書けるよ。まあ凝ったことやるならCSSわかってた方が良いのは確かだけど、覚えコツ掴むまで一週間も掛からないでしょ
食わず嫌いがすぎる webアプリ作るにも今はどんどんjavascriptやcssをあまり触らないような方向に流れてるよね
ここ数年pythonとかもそういう流れ
コードや拡張HTML使うとか
装飾はテーマ
reactすら使う局面は少なくなってくるだろう htmxみたいなのやstreamlitみたいのが主流になるんじゃないかと
reactとかは業務上特殊なUIやデザインの場合だけであとはみんな素の状態で使う
WPFみたいなのはどんどん居場所がなくなる 大体みんな同じ構成のページを使ってる
WPFでもtemplate studio使うのと似ている
それから外れなければほぼHTMLやcssやjsなんて勉強しなくてもいいのに今はハードルが高い
それを最近の簡易なライブラリ使ってでボタンとかテキストだけ書けば使えるようにしてる
reactやrazorなど不要
まだまだ発展途中だと思うけどみんなめんどくさいと思えば思うほどこのジャンルが発達する
業務じゃない分野は特に
自分は数年前からめんどくさくてツールでこれらを使ってる XAMLで作るとUIコントロールの都合に合わせる設計にならざるを得ない
HTML+CSSだと本当に作りたいイメージを実現できる ここの人たちならWPFでPhotoshop作れるんかな まあそのうちUI要素じゃなくて意味というかセマンティックでコードを書く宣言的な世界になるんじゃないかな
必要なセマンティックを書くとUI要素が選ばれて表示されるような未来が近いのかもね あーpythonとstreamit初めて触った時は衝撃だったわ
ボタン表示して戻り値を得るのに
if x == st.button
これだけ
イベントハンドラとかいう概念はない。
ここまでする?て感じだったわw
まあガワはReactだけどさ。
UIを書くという行為自体がどんどん特殊分野になるというのはそうかもね >>597
論点がズレ過ぎてる
590は「WPFで」「簡単に」「VSみたいなアプリ」が作れるかどうかを聞いてる
対して>>591は「VSのUIなら」「このスレのおじさん・じじいなら」「作れる」と回答している
文脈を加味すると「(簡単に)(WPFで)作れる」ということになる
>>596は「このスレのおじさん・じじいなら」「VSのUIなら(簡単に)作れる」への反対意見
作業量の話は「簡単」ではないという趣旨
個人前提で書いたのは591が個人前提で書いたのに合わせただけ
組織前提の話なら591のような書き方にはならない
それから「WPFでUIを作る」と言えば
UI designingのことじゃなくUI implementationのこと
当然UIコーディングは含まれる >>591の「VSのUIなら作れる」は「VSのUIならデザインできる」という意味だったのかな?
まさかね streamlitだけで十分ならHTML+CSS知らなくてもなんらかのUIは書ける
セマンティックな世界に近づくと個別のUI環境は知らなくてもいい
同じセマンティックから各種のUIが作られる
XAML知らなくてもいい 宣言的でセマンティックな要素で書けるといいことがある
何々を表示する場合今だとlabelにするかtextblockにするかとかtextboxにするかなど人間が選んでる
これが大多数の人間のわずかな時間を奪っている
膨大な学習時間を掛けている
これが必要な行為なのかと言うこと
正の数値でありそれが不変で200以下であると言うことが判っていたらそれに応じたコントロールが選ばれて
入力可能なら200以下に限定される仕組みが実装される