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

■ このスレッドは過去ログ倉庫に格納されています
2022/04/11(月) 05:10:34.19ID:LqBiqZMV
WPF(Windows Presentation Foundation)について語るスレ。

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
2022/09/10(土) 10:17:27.24ID:Lr39uXBV
MS製品は3.0からやっと使い物になるのがセオリー。
2022/09/10(土) 12:06:48.83ID:BvL97s/2
そして3が出る頃には既に撤退が決定していたり刷新された次世代プロダクトの足音が聞こえ始めている場合が多い
2022/09/10(土) 14:08:47.44ID:dG8a4wPi
やめろ
2022/09/10(土) 14:41:58.94ID:OlcK+9+n
それが良いものなら良いんだけど
また新しいのに手を出してすぐ飽きてポイしそう
684デフォルトの名無しさん
垢版 |
2022/09/10(土) 14:50:50.50ID:HZYFgNi2
保守的な人間が多いんだよ
685デフォルトの名無しさん
垢版 |
2022/09/11(日) 13:09:38.00ID:MoHey8zp
>>221
なんもわかってねえなお前

もしAndroidアプリが全部PWAに切り替わるって言われたらどうよ?

使い心地最悪だぞ
2022/09/11(日) 14:34:49.59ID:9zkeex86
>>685
いまのwebアプリの性能をしらない人かな
ビビるよマジで
2022/09/11(日) 16:29:31.92ID:rNFz03KP
VS CodeもWebなんだよな。
688デフォルトの名無しさん
垢版 |
2022/09/11(日) 16:38:19.35ID:nfr+yHmc
>>686

Outlook Liteみたいなんじゃまだダメ
高級感が足りない
2022/09/11(日) 16:41:04.33ID:N2kORaF8
スレチな書き込みしてないでelectronスレ行ってこいよ
全然伸びてないじゃん
2022/09/11(日) 18:36:41.05ID:IzLe95+k
>>688
今時は業務系システムでも
凝った画面はWebでないと...って話になってる
2022/09/11(日) 18:40:45.17ID:b0yVF+AE
どこでなってるんだよw
2022/09/11(日) 19:57:25.06ID:rNFz03KP
うちも結構前から部分的にWebViewで出してるよ。
印刷も楽々やで。
693デフォルトの名無しさん
垢版 |
2022/09/11(日) 20:09:39.42ID:dECvgW19
WinUI3使えよ
エレクトロン以上だろあれ
コミュニティツールキットも使えな?
https://apps.microsoft.com/store/detail/windows-community-toolkit-sample-app/9NBLGGH4TLCQ?hl=ja-jp&gl=jp
2022/09/11(日) 22:37:47.41ID:fLFeKmlL
そういえば印刷使う業務アプリなんて20年くらい触ってないな。
2022/09/12(月) 16:09:01.47ID:ZYIHBGky
pdf 出力してダウンロードさせて
あとは勝手に汁
2022/09/12(月) 16:53:43.42ID:1XhaNhAS
登録ボタン押したら
登録したプリンタから納品書印刷されなきゃ仕事にならないよ
2022/09/14(水) 05:27:02.59ID:0us1GM22
>>693
バグらだけだしパフォーマンス悪いしディスク容量食いまくりだし
実用までは程遠いわ
698デフォルトの名無しさん
垢版 |
2022/09/14(水) 13:33:02.00ID:b3dfKjlY
>>516
VS2022 Ver17.3.4で回避策が不要になりましたね。
逆に回避策付けてるとエラーになる。
2022/09/14(水) 16:32:07.44ID:+SRDqxu4
>>693
コミュニティツールキットに移行した
まだWinUI3は使ってないわ
2022/09/14(水) 16:42:14.09ID:lWG2aEEJ
うぃにゅいさん
2022/09/15(木) 09:39:44.51ID:uXHwN+42
ReactivePropertyってあまり使われてない感じ?
個人的には無いとタヒぬレベルなんだけど、たとえばReactivePropertyなしでVMとMってどんな感じで接続してる?
2022/09/15(木) 10:21:30.29ID:FelbKr3k
>>701
使ってる。はじめ知らなくてMにイベント仕込わでVMで拾ったりVMのセッターに書いたりしてたがしんどかったわ。
2022/09/15(木) 11:28:16.17ID:tFCe5Itd
1.2Previewの
Known issue
ListView styles regressed and changed from WinAppSDK 1.1.
って元に戻すと思ってて良いのかな?
戻らないとすると結構問題だわ
2022/10/04(火) 19:21:23.74ID:9VYId/+X
時代はWinUI 3
はよ1.2を
アップグレードってNugetのApp Sdkのpackageをアップグレードすればいいの?
よくわからなすぎ
705デフォルトの名無しさん
垢版 |
2022/10/05(水) 00:37:35.73ID:afWS42Q8
そうだよ
新しいのに更新していくのは簡単だね
2022/10/05(水) 17:31:52.02ID:1oTvBFVy
1.2 Preview2
ListViewの不具合はもとに戻って一安心
トリミングって機能が気になるな
2022/10/05(水) 18:35:01.60ID:InAYAc+I
>>705
ありがとう
708デフォルトの名無しさん
垢版 |
2022/10/05(水) 18:49:24.68ID:InAYAc+I
ちょうどpreview2が出たのか
次辺りかなpreview外れるの
2022/10/08(土) 07:38:08.60ID:gS//Jlp5
デスクトップアプリ何で作る?
最低要件(最低限これくらいは満たしてね)チェックシート2022
============================================================================

チェック用アプリ仕様:
 アプリ上の"はろー"ボタンをマウスでクリックしたらメッセージボックスで"わーるど"を表示する

(1)配布要件1:動作させるのに必要なファイル一式を任意の場所に配置して動作する
(2)配布要件2:管理者権限不要で配置できる
(3)配布要件3:動作させるのに必要なファイル数が10以内 ※1

(4)起動要件1:エントリファイルをダブルクリックして起動可
(5)起動要件2:エントリファイルをPowerShellから起動可
(6)起動要件3:管理者権限不要で起動可
(7)起動要件4:ネットワーク切断状態(スタンドアロン)で動作する

(8)メモリ要件:
 A:起動時の消費メモリが20MiB以内
 B:起動時の消費メモリが40MiB以内

(9)ストレージ要件:
 A:動作させるのに必要なファイルサイズ合計が200KiB以内 ※1
 B:動作させるのに必要なファイルサイズ合計が1MiB以内 ※1

※1. OSにプリインストールされているランタイムは除く

============================================================================
(1)~(7)はYesの場合+10, Noの場合は-100
(8)~(9)はAの場合+10, Bの場合+5, その他は-100

合計点80以上が合格ライン(当然点数は高ければ高いほど優秀)
2022/10/08(土) 20:15:37.07ID:gtj3UpmN
>>709
グロ
2022/10/08(土) 20:20:14.69ID:z6+3tzgK
はろーボタンを押したらわーるどを表示する、と言う要件がチョロすぎて何を使う必要も無いでしょこれ。

はろーを押したらわーるどを表示するだけなのに大きすぎるという結論にしかならん。
2022/10/08(土) 20:28:18.03ID:FVb6AOL0
まあ正直何が聞きたいのかわからなくて反応に困るな
2022/10/08(土) 20:34:01.68ID:ubTOqQ+o
どの辺が2022バージョンなのか気になる
2022/10/08(土) 21:10:13.27ID:MNDdYpgz
次から令和最新型を頼む
2022/10/08(土) 23:54:38.45ID:NopUC1Il
>>709
なぜその要件が必要なのか説明がない
まったく考慮する必要のない要件が根拠なく列挙されているだけ
2022/10/08(土) 23:55:23.78ID:NopUC1Il
WinFormアプリしか作れない俺のスコアを高くしろ!ていう叫び
2022/10/09(日) 07:58:29.68ID:EG5nYxY1
>>711
>はろーを押したらわーるどを表示するだけなのに大きすぎる

それ、アウトってことじゃん。
チョロすぎるメモリ要件やストレージ要件をクリアできてないって事じゃん。
2022/10/09(日) 08:55:45.85ID:jg+/8cWc
>>717
理解できて無くて草
「コンビニ行く」って課題に「チャリンコ以外無いでしょ」「ギリギリで原付」って言われてるんだぞ

「現地に駐車場は無い」
「凄く近い」
「燃費は最高で行ってほしい」
「道は狭いです」
「車の免許は無い」

こんな条件

チャリンコ(WinForms)が最適な解になるための質問じゃねえか、ということ
2022/10/09(日) 08:59:39.60ID:jg+/8cWc
これが

「この段ボール箱を二つ納品してくる」って課題に

「現地には大型トラック以外は停められる」
「隣の市にある」
「燃費は安い方が良いけども、到着が遅くならないように」
「普通の車が通れる道はある」
「8t以下は何でも乗れる」

であれば、プロボックスで行くか、トラックで行くか、軽トラで行くか。はたまたヤマトみたいにチャリンコに大八車つけたやつ牽いていくかの議論になるでしょ。
2022/10/09(日) 09:15:46.80ID:EG5nYxY1
>>718
頭悪いねえ。
「徒歩で行ける範囲のコンビニに行く」って課題に飛行機やロケットしか選択肢がないのは使い物にならないって話だよ。
逆に別の国に行くのに飛行機を使っちゃいけないって話でもない。
2022/10/09(日) 09:20:22.17ID:L7lSDmw+
頭悪いから日本語で書いてくんなきゃよくわかんないや
とりあえず一番わかってるやつがあれを書いたガイジ本人ということでいいのか?
2022/10/09(日) 09:45:16.11ID:jg+/8cWc
>>720
なるほど。要は取り組んでる仕事の違いなんだね。
2022/10/09(日) 09:49:18.56ID:jg+/8cWc
俺は今さら大規模システム開発を素のWinFormsでは作りたくないからなぁ。
WebView2貼り付けてガワネイティブにして、ClickOnceで公開ぐらいじゃない?使い道は。
2022/10/10(月) 09:46:18.81ID:Qpk6WyXc
Windows App SDK 1.2のトリミングは今までのダイナミックリンクからスタティックリンクに改めて
実行ファイルサイズを大幅削減が出来る機能だが、これが何処まで効いてくるか楽しみではあるわな
ここからUWPと同じようなAOTに進んで、.netの構造的欠点だったソース丸見え問題も解決するんだろうね
725デフォルトの名無しさん
垢版 |
2022/10/10(月) 12:34:21.57ID:322n+PW1
まず.NET 7でコンソールアプリをネイティブアプリとしてビルドできるようにするみたいだな
2022/10/10(月) 12:36:50.84ID:0lVpwwtG
もっと前からできるけどあんまり意味がないんだよなあ
起動が少し速くなるくらいか
2022/10/10(月) 17:29:52.11ID:qYzAzFh3
.net frameworkのインストールが不要になるん?
2022/10/10(月) 20:38:24.28ID:0uUI3HIr
それはとっくに不要になってる
2022/10/10(月) 20:39:20.00ID:Sx8mqy0s
>>726
サイズがめっちゃ小さくなるやろ
2022/10/10(月) 20:52:56.88ID:C38R1GQo
>>729
もっと小さくなるから
2022/10/11(火) 19:37:49.53ID:fx18BCnS
>>730
2022/10/11(火) 20:20:26.21ID:kHykt5ja
Ngen.exe ってのが有って>>726はそれのことを言ってるのかな?
WinFormsしか使えないし(WPFで使えない)クライアントにアプリをインストールした後に実行しないといけないから
殆ど使われていないが
2022/10/11(火) 21:33:00.31ID:wyyu8+ai
ネイティブコンパイルは少し前からあるだろ。
corertとか。
2022/10/12(水) 10:37:13.17ID:lE3UziOh
ngenは.net4.xになんらかのパッチが入ったらまたngenをやり直す必要あるからなぁ。
2022/10/12(水) 12:31:43.96ID:fd8heiYY
まあでもアイドル時に勝手にやってくれることには一応なっている…
2022/10/12(水) 21:57:08.74ID:ptg994QE
WPF=MVVMって流れを断ち切ってくれないか?
普及しないのはこれのせいやろ?
2022/10/12(水) 23:01:57.24ID:Niawwtef
イベントハンドラー方式で
誰かが解説すればよい

オレがやっても良いんだけど
時が立ちすぎたからなーー
2022/10/13(木) 00:45:50.00ID:odFy/WrJ
.net3.5の頃に初めてwpf触ったときに戸惑ったのはマトモにポトペタが出来なかったことだな
739デフォルトの名無しさん
垢版 |
2022/10/13(木) 09:24:08.91ID:lFVyqjgf
MVVMは他のところでも使われてるんだが?
2022/10/13(木) 10:58:26.86ID:fzJDj2RS
WPFのが糞なだけだね
実態はblandのライブラリーがベースだし
2022/10/13(木) 21:53:46.94ID:eogdk5TR
>>739
とっくに廃れてるよ。どの界隈でもMVVMは時代遅れ。
2022/10/13(木) 21:58:45.26ID:eogdk5TR
>>736-737
これは?
https://zenn.dev/apterygiformes/books/470ba1042dfbef
2022/10/13(木) 22:13:58.22ID:3gX/khO/
>>736
べつに普及するとか関係なくない?使いたきゃ使えばいいだけ。
2022/10/13(木) 22:15:16.53ID:fzJDj2RS
>>742
リストデータの追加、編集、削除の実装解説が無い
初心者が分かんないのはここだと思う
2022/10/13(木) 22:21:08.68ID:eogdk5TR
画面イメージしか見てないがアラームアプリがそれっぽい
2022/10/13(木) 22:30:27.40ID:Hoazl96G
>>741
今の主流は何なの?
2022/10/13(木) 22:30:28.68ID:fzJDj2RS
>>745
リストボックスじゃダメだろ

データ一件毎に入力コンントロールと削除ボタンが最低無きゃ

あと外部からリストに表示されたコンントロールにアクセスする方法ぐらいは最低無いと
2022/10/13(木) 22:36:26.35ID:fzJDj2RS
>>746
データフローは双方向でなくて単一方向
2022/10/14(金) 06:45:39.98ID:rd0u41Iv
>リストボックスじゃダメだろ

WPF本当に使ったことある?
2022/10/14(金) 06:59:40.14ID:t5o5qpLS
>>747
何を言ってるのか全くわからん
どういうのをイメージしてんの?
2022/10/14(金) 10:03:49.72ID:yNZTqU3N
>>749
ヾ(-д-;)オイオイ.. 10年以上前になるけど特別仕様のコントロールを作りにアチコチのプロジェクトにお邪魔してたぞ昔は!株価チャート、ガントチャート、スケジューラー...etc

>>750
この手の要件だとtodo listが一般的じゃね?
React、Ember、Vue、Svelte、Angularが揃ってるみたいだから同じようにWPF版を足してみたら?
https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Client-side_JavaScript_frameworks/React_todo_list_beginning
2022/10/14(金) 10:11:32.89ID:t5o5qpLS
>>751
なんか知らんけどお前が古いわ
753デフォルトの名無しさん
垢版 |
2022/10/15(土) 07:20:45.37ID:XQPIem9+
WPF + データバインディング 勉強始めようと思って検索したら
http://work-professor.org/?p=626
を見つけたんだがここの手練れに質問。

データバインディングの方が面倒 & バグが入りやすい と思ったんだが
どうなんだ?

ページの下の「まとめ」では
データバインドはWindowsフォームアプリケーション開発では当たり前に
使われる方法です。

とあるんだがWinFormsの開発でデータバインドが普通なの?!

お教えください!
2022/10/15(土) 08:44:46.43ID:3NQ8H/va
ここはWPFスレなのでWindowsFormはスレ違い

なおデータバインドなんて旧VBでもある
2022/10/15(土) 08:49:31.30ID:TYEHa44m
どうなんだって言われても違うぞと答えりゃいいのか
どんなバグが入りやすいと思ったのかくらい説明しろよw
756デフォルトの名無しさん
垢版 |
2022/10/15(土) 08:57:41.01ID:XQPIem9+
>>754
だからWPFについて聞いてんじゃん。
大丈夫?
2022/10/15(土) 09:03:17.18ID:TYEHa44m
>>753
> とあるんだがWinFormsの開発でデータバインドが普通なの?!
ん?
758デフォルトの名無しさん
垢版 |
2022/10/15(土) 09:07:21.62ID:XQPIem9+
>>757
それは最後にちょっこ聞いただけでメインは
上部のWPFについてだろ。
2022/10/15(土) 09:09:45.32ID:E+9ofSSz
並列に聞いてる二つのどっちがメインとか知らんがな
普通は最後に聞いてる方がメインと思われるから覚えとけ
2022/10/15(土) 09:15:18.50ID:JdRxG2Pv
>>758
最初の3文字以外はWindowsFormの話題にしか見えない
2022/10/15(土) 09:17:26.52ID:E+9ofSSz
前提や状況説明などの導入を先に書いて後から本題に入るのを覚えよう
本題を先に書いて後から蛇足を付け加える時には「蛇足だが」「それと」「ついでに」などの接続詞でそれが蛇足であることを明確にしよう
2022/10/15(土) 09:26:56.63ID:rzXU5vcB
>>753
その例では説明のためかIPropertyChanged関連をべた書きしてるけど、普通はメソッドを用意してもっとシンプルに書く。

private string _inputTextBox1Text = string.Empty;
public string InputTextBox1Text
{
get => _inputTextBox1Text;
set => SetProperty( ref _inputTextBox1Text, value );
}
2022/10/15(土) 09:29:17.67ID:rzXU5vcB
INotifyPropertyChangedだった
2022/10/15(土) 09:29:43.50ID:2u2iBEwS
そもそも>>755を無視して大丈夫?とか頭おかしい
2022/10/15(土) 09:32:50.31ID:TYEHa44m
>>762
今はもっとシンプルに書ける(communitytoolkitを使う場合)
https://learn.microsoft.com/ja-jp/dotnet/communitytoolkit/mvvm/generators/observableproperty
766デフォルトの名無しさん
垢版 |
2022/10/15(土) 09:36:32.22ID:XQPIem9+
>>762
ありがとうございます。
INotifyPropertyChanged()使わず、
シンプルに記述できるなら貴方の方が
良いですね。
INotifyPropertyChanged()がどうしても
必要なケースってあるんですか。
2022/10/15(土) 09:36:47.04ID:8pCFn/kA
>>751
本当にWPF触ったことあるならリストボックスでそれらを実現できることぐらいわかるよね。
2022/10/15(土) 09:41:12.62ID:E+9ofSSz
>>766
大丈夫か?w
2022/10/15(土) 10:09:21.22ID:rzXU5vcB
>>766
INotifyPropertyChanged.PropertyChangedのことだろうが、
SetProperty()の中でそれを処理するようにするだけで、使わない訳じゃない。
2022/10/15(土) 10:46:17.73ID:addGKIWP
INotifyPropertyChanged()って何も分かってないだろ。
771デフォルトの名無しさん
垢版 |
2022/10/15(土) 11:15:36.77ID:XQPIem9+
ぼく?
何も知りません。知ってるのはwinforms(C#)とMFC(C++)位。
2022/10/15(土) 11:19:46.15ID:oWoBYw4V
インターフェースとメソッドの区別がついてないからそれらも知らんだろって言われてるんだぞ
773デフォルトの名無しさん
垢版 |
2022/10/15(土) 12:12:54.06ID:XQPIem9+
そんな揚げ足とらなくても..
2022/10/15(土) 12:21:46.06ID:iAi/3wxd
わざと叩かれようとしてるのかと思うレベル
2022/10/15(土) 12:52:59.45ID:zYlZ5bY9
>>753
リンク踏んでみたけどどう見てもwinformsだぞ
Form1とか書いてあるし
頭大丈夫か?
2022/10/15(土) 12:56:47.51ID:rzXU5vcB
INotifyPropertyChangedの実装はどちらでも変わらないから敢えて無視してレスしたけど、
>>753はWinFormsのデータバインディングの説明。
WPFのデータバインディングを知りたいなら別の例を探した方が良いね。
2022/10/15(土) 13:01:46.58ID:zYlZ5bY9
>>756
2022/10/15(土) 14:48:22.82ID:F6SpEMOp
どっちにしてもデータバインディングでこんなメンドクサイ時点で古いんだよw
当時からゴミと思ってた部分だw
vue.jsとかやってからだと絶対やりたくないw
779デフォルトの名無しさん
垢版 |
2022/10/15(土) 14:56:32.45ID:XQPIem9+
あれ、ちょっと勘違いしたかも。
ところで、こんなはザムルは自分で書けるの?
2022/10/15(土) 14:59:19.57ID:zYlZ5bY9
俺は書けるがお前は書けないんじゃね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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