WPF(.NET4.x, .NET Core) GUIプログラミング Part24

■ このスレッドは過去ログ倉庫に格納されています
2019/12/09(月) 12:36:14.49ID:9LsUsH++p
Windows Presentation Frameworkについて語るスレ。

前スレ
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
https://mevius.5ch.net/test/read.cgi/tech/1557960752/

関連スレ
Windows 10 UWPアプリ開発 Part 2
http://mevius.2ch.net/test/read.cgi/tech/1499658092/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2020/11/25(水) 10:02:34.34ID:TnR8VzNiM
ボタンの生成自体をUIスレッドで実行しないといけないというのは不便ね
バックグラウンドで次の画面を用意するとかできないじゃん
JavaFXではボタンやパネルなどのNode生成自体はどんなスレッドでもできる
Nodeをウィンドウに追加する操作やウィンドウに追加した後のNode操作はUIスレッド限定
おかげでバックグラウンドでのUI準備がはかどる

WPFは違うのか、残念
2020/11/25(水) 10:09:01.22ID:Zg733lEBM
>>689
そんな実装は嫌だよ〜('・ω・')
2020/11/25(水) 10:27:36.93ID:UOhQqzqp0
>>689
メイン以外の複数のUIスレッドを持てばいい
Threadを作成して、そのスレッドでDispatcherを起動すればそのスレッドでButtonなどを作成できるようになるらしい

たた、そこまでしてUIを作成するのが重い処理なの?
2020/11/25(水) 10:30:29.94ID:Zg733lEBM
xamlで出来ることをコードで実装するメリットは無いなあ
2020/11/25(水) 10:31:59.41ID:zPF2z3TPM
>>689
React.jsのアーキテクチャとか知ってりゃわかるけど、論理的なツリーの構築なんて実際にそれを画面に反映させるコストに比べたら無視できる
IOが必要なデータとか激しく時間がかかるものだけ先読みしておけば十分
2020/11/25(水) 10:32:18.06ID:UOhQqzqp0
ちなみに、Win32コントロールをラップするWinFormsのコントロール、
>>686でコントロールの生成で例外発生しないとの事だけど、最終的に画面に表示できたの?
ググるとどのみちエラーでる記述が
2020/11/25(水) 10:35:42.93ID:Zg733lEBM
>>691
それってuiスレッドが空かなきゃ描画出来ないのでは?
2020/11/25(水) 10:43:56.75ID:JjEVQ0uq0
新しいスレッドをSTAにして複数のUIスレッドを構築/動作させることはできるけど
どのみちコントロール作成時に呼び出しスレッドのDispatcherに結び付けられちゃうので
WPFは別スレッドでコントロール作成してメインのUIスレッドに渡すみたいなのはできなかったと思う
(XAMLのデシリアライズも然り)
2020/11/25(水) 10:45:35.98ID:UOhQqzqp0
>>695
というか、たぶんWindow単位とかになりそうだな...
つまり、あるWindowを表示してて、別のWindowを別のUIスレッドで作成みたいな感じで...
2020/11/25(水) 10:48:10.01ID:UOhQqzqp0
うん、>>696みたいな感じ
WPFではそれが限界だと思う
2020/11/25(水) 10:49:08.16ID:Zg733lEBM
>>697
そう言うコードにするメリットは無いですよねえ('・ω・')

分かってないやつほどスレッドを使いたがる法則
2020/11/25(水) 11:02:22.58ID:UOhQqzqp0
>>699
メリットがあるかどうかはそれは>>689に聞けよ

俺も意味なさそうだから>>691でそこまでしてUI作成するのが重い処理なのって一言書いただろ

でも、勝手にこっちでメリット判断して実際できるか答えないのもあれだから一部できるやり方書いただけだろ
2020/11/25(水) 11:06:21.17ID:Zg733lEBM
怒ってるんですか(^_^;)
2020/11/25(水) 11:08:42.29ID:UOhQqzqp0
まぁ、お前みたいな低レベルは、複数UIスレッドもてて、コントロールがUIスレッドに結びつくという知識なかったから
>できそうだけどInvalidOperationになるねえ。
xamlを使わずにc#のコードだけで書いたらどうなるんだろ。

こんな馬鹿みたいな感想でるんだうが
2020/11/25(水) 11:08:58.51ID:Zg733lEBM
すいません
2020/11/25(水) 11:11:51.98ID:Zg733lEBM
>>702
自スレッドで作ったUIにはアクセス出来るのでは?
2020/11/25(水) 11:23:17.82ID:Zg733lEBM
>>702
>>686のコードってwinformだと実行出来るんですよねえ。
何でwpfで実行出来ないのか謎に思っただけです。

オレって低次元?
2020/11/25(水) 11:23:53.42ID:UOhQqzqp0
馬鹿はどこ突っ込まれたかも理解できない法則
2020/11/25(水) 11:28:53.50ID:Zg733lEBM
具体的に指摘できないんだ
2020/11/25(水) 12:41:02.89ID:K6kxBcX1M
なんだこれ
2020/11/25(水) 12:57:48.31ID:76XlKLvzM
非同期よく分かってないんだけど
スレッドプール上で例外投げてもそれだけでは他スレッドには例外って飛ばないんじゃないの?
2020/11/25(水) 13:23:52.69ID:ks6d1c09M
>>708
お騒がせしてすいません

>>709
飛ばないけどデバッガ上だと出力Windowに出ます
2020/11/25(水) 21:40:23.36ID:w3f8aY1YM
>>700
UI構築ってそんなに低コストかな?
JavaFXのFXML(XAMLみたいなもの)からUI構築するのって結構コスト高いんよ
マークアップ言語からインスタンス生成していくのもそうだし
FXMLに記述したイベントハンドラーの実際の割当がリフレクション使っておこなわれるとかあるので
複雑なUIだとFXMLからUI構築するのに0.3秒かかることもある
XAMLだとそういうことはないのかな?
ともかく準備がバックグラウンド**でも**できるのは単純にメリットじゃない?
もちろんUIスレッドでやりたい人はそうしてもいいんだし
2020/11/25(水) 22:41:10.98ID:UOhQqzqp0
>>711
ここWPFのスレで基本デスクトップ向けのアプリだから、そこそこパワフルなマシンで動かすだろうとはしょったが、
xaml自体はくそ重いと思うw

baytrailのatomタブレットの頃のUWPアプリ作ってた頃に、画面表示にx:bind使おうが結構なCPU使用率いって格闘してたし

Uno Platformのアプリもandroidで動かしてみると、ページ切り替えとか
もっさりしまくり。xamlが重すぎなのかどこがボトルネックになってるが調べたわけじゃないが
2020/11/26(木) 00:14:07.84ID:GMHr0knm0
あんま詳しくないけどリフレクション結構使うことになるから重くなるんじゃなかったっけ?
2020/11/26(木) 01:22:03.30ID:pbHxDUnU0
WinUI3のPreview3とWebView2の正式版が出たようだがイマイチ盛り上がってねーな
715デフォルトの名無しさん (ワッチョイ f701-kGov)
垢版 |
2020/11/26(木) 05:09:27.49ID:wsGUPw320
「慶應卒の学歴なんていらない」10代起業で成功する子の共通点
https://www.excite.co.jp/news/article/President_35457/
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
https://www.dreamgate.gr.jp/contents/column/application-development
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
https://newswitch.jp/p/20168
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
https://www.at-s.com/news/article/local/central/730010.html
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
https://diamond.jp/articles/-/229375
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
https://diamond.jp/articles/-/215868
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
https://sogyotecho.jp/career-development/
年収3,000万超え!?個人開発で儲かっている海外コミュニティサイト5選!
https://note.com/taishikato/n/n7809a8ed3ffc
2020/11/26(木) 14:20:03.14ID:Nw4Y99po0
WPFはGPU使うからパワフルかと思うが
2020/11/26(木) 15:11:23.07ID:dNeskMNA0
そうね
GPU使うのもそうだし
UIスレッドとは別にレンダリングスレッドがあるのも良い
本質的にWPFはWinFormsより性能を出しやすいアーキテクチャになってる
2020/11/26(木) 15:20:56.04ID:sWkUWOivM
起動が遅い
2020/11/26(木) 15:32:26.69ID:l8W6EZba0
GPUないとクソ重くゴミ同然。仮想環境では使いものにならない。
720デフォルトの名無しさん (ワッチョイ d75f-OOND)
垢版 |
2020/11/26(木) 19:20:51.47ID:fNj9kr5u0
だがそれがいい
721デフォルトの名無しさん (ラクッペペ MM8f-0O1z)
垢版 |
2020/11/26(木) 19:31:24.38ID:qinMBZKrM
GPUはゲームで使うから邪魔しないでくれるかな?
2020/11/26(木) 23:18:30.56ID:12STscif0
>>714
ここにはそういうチャレンジャーあんまりいないので…
C#9ゴリゴリ使うのは楽しそう
2020/11/27(金) 03:10:38.94ID:bwX7nLRd0
>>719
今時GPUないPCなんてあるん?
2020/11/27(金) 11:45:34.38ID:dazyxaWu0
>>723
どんだけアホなん?w
2020/11/27(金) 13:11:25.06ID:35rurNSb0
>>656
だんだんiOSが無視される様になってきたな。
2020/11/27(金) 13:23:17.23ID:wF8gnWWL0
>>724
やったことないけど、ググると仮想環境でもGPU使えるらしいよ
2020/11/27(金) 13:24:42.69ID:fYoybSwEM
>>724
グラボGPU無くてもCPUにGPU内蔵でしょ
728デフォルトの名無しさん (ササクッテロラ Spcb-Sk7P)
垢版 |
2020/11/27(金) 17:25:39.11ID:Vd/8Whg9p
GPU使うちゅーても合成に使うだけでその前に贅肉たっぷりの処理が走るので意味ないわよ
2020/11/27(金) 18:14:00.42ID:fjGccOTXd
ゲーム中にWPFで作ったどんなアプリ使うの?
2020/11/28(土) 06:10:11.47ID:qNLld4O40
>>724がアホだったてオチか
2020/11/29(日) 10:59:16.94ID:OM1azIlUr
WPFの3D表示部だけ遅いからグラボいいのかって乗せたけど動きは変わらなかった
732デフォルトの名無しさん (ワッチョイ d75f-OOND)
垢版 |
2020/11/30(月) 18:50:15.68ID:3PLmCTmV0
WinUI in Desktop使いたいけどボタン押したときの感触が気に入らなくて辛い
純粋なデスクトップから生まれた発想じゃないもんね
2020/12/01(火) 03:00:04.18ID:v77VJI7y0
https://forest.watch.impress.co.jp/docs/news/1290743.html
米Microsoftは11月20日(現地時間)、.NET向け「WebView2」の一般公開を発表した。「.NET 5.0」や「.NET Core」、「.NET Framework」(Windows Forms/WPF)をベースとしたアプリケーションに新しい「Microsoft Edge」を組み込むことが可能。現在サポートされているすべてのWindowsで利用できる。
2020/12/01(火) 12:14:57.71ID:CDzfjJOf0
>>733
Win32 C/C++向けの「WebView2」は10月にリリースされており、これでWin32と.NETの両方をカバーできるようになった。
735デフォルトの名無しさん (ワッチョイ 9fe6-0O1z)
垢版 |
2020/12/01(火) 21:42:10.08ID:R6Ic2fOf0
Electronマダー?
736デフォルトの名無しさん (ワッチョイ bc5f-XXx1)
垢版 |
2020/12/02(水) 14:18:28.89ID:fg9k/ys10
Electronはもうダメだろ
2020/12/02(水) 14:56:54.16ID:yJY81L7Ar
ダメな理由もない。
2020/12/02(水) 15:22:11.73ID:7SF2lDHXd
どうしてElectronしないのよオ
2020/12/02(水) 15:48:57.03ID:gmqCIpk40
>>737
あるよ。
一番肝心なAndroid, iOSに対応していないし、サイズも大きいし、起動も遅いし
どうにもならない。
2020/12/02(水) 16:10:01.03ID:yJY81L7Ar
>>739
まるで実感ないね。
2020/12/02(水) 16:25:42.94ID:xxAw3X8I0
>>739
そんなんWPFも全部当てはまるじゃん
742デフォルトの名無しさん (ワッチョイ bc5f-XXx1)
垢版 |
2020/12/02(水) 17:06:06.48ID:fg9k/ys10
WPFはWindows Desktop専用だからいいんだよ
Electronは話題性もないし立ち位置も中途半端
2020/12/02(水) 17:14:29.44ID:bbLEzKH70
.NETのアプデすらNGな案件でサーバー上でちょっと動かすツールだと、WinFormかWPFの二択になるんだよな
2020/12/02(水) 18:14:50.30ID:ihV57jveM
>>743
.NET使わなきゃいいだけでは?
.NET CoreでSCDする手もあるし
2020/12/02(水) 18:29:55.35ID:yvBGiPiW0
今Electron製の専ブラ使ってるけど快適よ
2020/12/02(水) 19:55:57.75ID:+rFxXUFw0
VSCodeもElectronじゃなかったけ
2020/12/02(水) 21:36:41.26ID:IakEOsuU0
そうだね
実行ファイルのサイズがクソデカくて笑ってしまった
2020/12/02(水) 21:58:56.00ID:yJY81L7Ar
いまやElectronだらけですよ。
2020/12/02(水) 22:07:19.88ID:xRP06t7i0
Electron使ってる有名どころって何がある?
Teamsがそうなのは知ってるけど、使い勝手がいまいちな部分が多くてあまり印象良くない
2020/12/02(水) 22:08:52.35ID:ihV57jveM
Slack
2020/12/02(水) 22:12:28.20ID:lsgm9mj8a
Siki
2020/12/02(水) 22:24:51.50ID:H7056PtS0
Prism 8使ってるけどViewModelのコンストラクタでIDialogParametersとる方法ないの?
2020/12/03(木) 00:09:11.87ID:eIuWK7gH0
Skype
2020/12/03(木) 01:40:57.83ID:GwVQIGxq0
SkypeとかUI変わって滅茶苦茶評判悪かったやつじゃん
2020/12/03(木) 01:43:29.73ID:mvtB887U0
既存アプリがWPFに移行した場合、使いにくくなったという悪評しか聞いたことがない。

当然の結果だけど。
2020/12/03(木) 02:00:22.73ID:wQu9RegL0
それはUI framework関係なくUXの話では?
UI frameworkの評価って大体、作りたいものが作りやすいか?凝ったことをしたいときにやりやすいか?っていう開発者都合だと思うけど
別にwpfが良いと思わない部分はあるがその評価基準は違う気がする
2020/12/03(木) 02:16:15.99ID:toBxio+U0
Electronは言語もJSかTypescriptになるし、Wasmも簡単には使えないようだし
中後半端。
特にやはりスマホやタブレットで動くアプリが作れない事が痛い。
2020/12/03(木) 02:22:12.06ID:eIuWK7gH0
>>757
759デフォルトの名無しさん (ラクッペペ MM34-xfUJ)
垢版 |
2020/12/03(木) 08:44:59.62ID:+/jJmo0+M
いや、ウェブビュー2ベースのエレクチオンまだかなーと
2020/12/03(木) 11:02:54.53ID:eIuWK7gH0
>>759
??
761デフォルトの名無しさん (ワッチョイ 6e01-zLCK)
垢版 |
2020/12/04(金) 22:16:21.68ID:9AUT9QCq0
エンジニアが教えるの下手くそな理由を論理的に解説してみた【教育の本質】
https://www.youtube.com/watch?v=3YwyYSj-k2s
派遣エージェントの言う事は9割ウソである理由【カモられない方法】
https://www.youtube.com/watch?v=8DxQFLAuFqo&;t=231s
IT業界のヤバすぎる落とし穴5選
https://www.youtube.com/watch?v=WPPCJ4o-mpA
絶対にエンジニアになってはいけない人とは【ハイクラス人材】
https://www.youtube.com/watch?v=kKUC7rZRUtc
りゅうけんKENTAマナブは怪しいアフィ勢だとベテランエンジニア(笑)に言われるらしいwww
https://www.youtube.com/watch?v=Cp7ByHiFk6Y
【個人で稼ぐ】会社を辞める前に習得しておくべきスキル5選
https://www.youtube.com/watch?v=8WB4O1V6YLg
【聞いてください】「会社員」という働き方の本当のヤバさ
https://www.youtube.com/watch?v=HbIAACbQkPc
サラリーマンが知らないフリーランスの真実
https://www.youtube.com/watch?v=vxVG8eAQbsc
2020/12/05(土) 00:10:09.86ID:7NPUSOnt0
>>761
グロ
2020/12/05(土) 08:37:14.90ID:s9eq1Gzn0
たしかにモザイクされたサムネは赤黒黄が多くてグロっぽい
2020/12/07(月) 08:52:33.12ID:7Z9YnNvna
NG
2020/12/17(木) 15:48:22.41ID:3i4GnGXZ0
Defenderにワイのwpfアプリ勝手に消されたわまじタヒね
2020/12/17(木) 20:20:01.10ID:LGEg4dtH0
goto 座間
2020/12/22(火) 18:40:26.07ID:nqOhO4xB0
>>755
WPFでも既存のフォームアプリと同じようにUI作れると思うんだけど違うの?
2020/12/22(火) 18:42:02.68ID:2ZygYJcc0
>>767
素人の戯言だよ。
2020/12/22(火) 18:54:25.71ID:yeSgi2UL0
wpfはxamlをきちんと勉強しないと、直感だけでは使いこなせない人が多数だと思う。
入力を伴うデータグリッドだけは、未だに扱いにくいと感じてる。
2020/12/22(火) 19:21:13.15ID:4ZfxS1k6M
WPFはトップダウンな設計が必要で、ドカタのWinForms開発のように個別に画面を作り始めると破綻しやすいんだよ
2020/12/22(火) 19:24:44.41ID:IvaCiXgR0
WinFormっぽく使うことは可能だけど、DataGridをクリックした時の動作は不評だな
2020/12/22(火) 19:48:43.92ID:2ZygYJcc0
>>771
素人の戯言かな?
2020/12/22(火) 19:52:27.18ID:IvaCiXgR0
>>772
色々弄ってない素のDataGridの動作で文句言われないの?
2020/12/22(火) 20:16:40.53ID:AmPbMba+0
GrapeCityのSPREADとか使いやすいのかな。まあ、試してみればいいのだが。
2020/12/22(火) 23:06:44.27ID:JTa0UW4v0
DataGridは弄るのも面倒だからなあ
Excel.Net作って欲しいわ
2020/12/30(水) 06:28:40.39ID:QH/c9U/k0
gridを方眼紙のように張り巡らせてどんな座標にも置けるような画面設計があって驚いたんだけどこんなんアリなの?
2020/12/30(水) 07:20:18.51ID:cOh4g6FA0
アリだよ
ウィンドウサイズ可変のアプリでも部分的にはサイズ固定の領域って存在するし
レイアウト機構を持っていても絶対値座標指定機能を持つUIツールキットは多い
2020/12/30(水) 13:11:21.51ID:Umj5Fa5/0
Canvas使っとけとは思う
2020/12/30(水) 16:46:30.87ID:Sd5RCoBwM
方眼大好きバカジャップ
2020/12/30(水) 16:54:51.65ID:cNIj0vftM
>>779はどこの国の人ですか?
781デフォルトの名無しさん (ワッチョイ df01-Cbw0)
垢版 |
2021/01/10(日) 08:31:41.81ID:X7ha0mxM0
ビジュアル・デザイナーとロジック開発者との協業ができる。

とあったけど、どんだけ凝った画面にするんだろ。
普通はコード書く人が画面(コントロール配置)やるだろ。
2021/01/12(火) 03:40:09.97ID:XISA+tbLM
powershellからだすWindows Formで野比家のボタン2回押して、磯野家1回押して、野原家3回押してOKしたら「男14人、女9人、犬3匹、猫3匹」って返してくれるプログラムください
783デフォルトの名無しさん (ワッチョイ 5f45-Cwx9)
垢版 |
2021/01/12(火) 15:04:17.37ID:wJhpfkOw0
野比家の女:玉子さん
磯野家の女:フネさん、ワカメ (フグタ家のサザエ除外)
野原家の女:みさえ、ひまわり

どうしても延べ10人になるけど、9人って返さないとダメ?
2021/01/12(火) 15:19:00.27ID:wIf3T4Io0
>>781
コードを書く人に任せるといまいちなデザインになりがち
凝る凝らないに関係なくね
2021/01/12(火) 16:27:09.93ID:wJhpfkOw0
よくみたらWPFのスレでPowerShellもWinFormsも関係ないから
答え書かない方がいいか
2021/01/12(火) 17:02:29.33ID:JkNKxaxX0
各家の人数を加算なんかせずにボタンをある一定の手順で押下したときにだけ特定の文字列を返すプログラムで良いのでは?
2021/01/12(火) 17:31:59.79ID:V95G+u6D0
ボタン押す回数が少なかったときや多かったときの動作は仕様上未定義だから
常にOK押したら固定文字列「男14人、女9人、犬3匹、猫3匹」を返せばいいんじゃないかな
2021/01/12(火) 22:24:48.15ID:xsOycbRU0
>>781
デザインはデザイナにしてもらって、それ見ながらコーディングすればいいよ
中途半端な分離はかえって生産性落とす
2021/01/14(木) 11:49:55.09ID:anDBhpsoM
>>787
2-1-3は決まってるから、それ以外ならハズレ演出して、2-1-3の時だけメッセージだした方がまだ仕様()に近くない?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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