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

■ このスレッドは過去ログ倉庫に格納されています
2021/02/05(金) 19:54:23.73ID:I+zADhcc0
Windows Presentation Frameworkについて語るスレ。

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

関連スレ
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
2021/03/21(日) 21:33:08.11ID:MC4tM8gMM
>>352
常識的に考えて、要素の数はWebの方が比較にならないくらい多い
平均的なWebサイトをWPFで作ったらガックガクだろうな
2021/03/21(日) 23:13:02.27ID:Dne9rN8X0
electron最強!!
2021/03/21(日) 23:52:57.07ID:VdUBRrekr
>>354
確かにクライアント側だと最強だね。
356デフォルトの名無しさん (ワッチョイ 29b5-7GuP)
垢版 |
2021/03/22(月) 01:34:34.77ID:NnPBdii70
>>347
おお、ありがd
あら、じゃあ、WPF知ってるからってASP.NETやAzureの勉強の足しにはなりそうにないね
じゃ、今まで通り、DjangoとAWSで行くわ
357デフォルトの名無しさん (ワッチョイ b9e5-Pg2Z)
垢版 |
2021/03/22(月) 07:03:08.49ID:KhY7U06S0
DataGridで実際に入力したらクソなのが実感できるな
WinFormに戻ろうかな
2021/03/22(月) 08:35:55.50ID:Zobpe+mh0
業務用途だと標準のコントロールじゃなくグレープシティとかの商用コントロールを使うんじゃないのか。
359デフォルトの名無しさん (ラクッペペ MM96-WhAp)
垢版 |
2021/03/26(金) 12:10:19.79ID:Mk2ej3NxM
DataGridでセル選択状態の時のIMEを制御するにはどうすればいいですか?
編集時のEditBoxは制御出来ましたが編集前から切り替わっていないと役に立ちません
360359 (ラクッペペ MM96-WhAp)
垢版 |
2021/03/26(金) 16:40:44.50ID:P5a/KulAM
できました。ありがとうございます
2021/03/26(金) 18:22:38.01ID:rwD/565Wa
いえいえ、いつでも、また、いらしてかださいね^^
2021/03/26(金) 20:25:17.74ID:MmD+tcIM0
力になれてよかった
いい事すると気持ちが良い
363デフォルトの名無しさん (ワッチョイ b1b5-lMfL)
垢版 |
2021/03/26(金) 22:22:29.69ID:OgsXGrRW0
>>361-362
てめーら、何もしてねーだろが、この寄生虫が
2021/03/26(金) 23:58:02.74ID:rCW5JzJK0
いいってことよ
2021/03/27(土) 08:27:43.17ID:Rhu5zne90
優しい世界
2021/03/30(火) 16:28:05.94ID:h/SoQift0
WinUI3がやっとリリースされたようだが、WindowクラスにDataContextが無いという謎仕様なんだな
すぐ内側jにGrid置けばなんとかなるけど、ViewModelLocatorが面倒なことになりそう
367デフォルトの名無しさん (ワッチョイ 926a-UUyU)
垢版 |
2021/03/30(火) 18:57:49.69ID:T4c02K+c0
https://forest.watch.impress.co.jp/docs/news/1315345.html
プロジェクトreunionまだ0.5なのか
0.5がバージョン番号かどうか知らんけど
2021/03/30(火) 21:01:42.69ID:p2ycBMb70
reunionしたのはいいけど、この先またWinUIとMAUIで分断するのか?
2021/03/30(火) 22:02:55.73ID:3c+sWcH+0
WindowsでのMAUI実装がwinuiだと思ってたが違うのか?
2021/03/31(水) 07:27:53.51ID:1+1U+2+SM
人脈がある人用と無い人用に分離するかと
2021/03/31(水) 10:17:17.06ID:a7O7ig+v0
WinUI 3ってまだPreviewでしょ?
2021/03/31(水) 12:47:22.16ID:5l26irpu0
>>371
昨日からVer.0.5だけどリリースバージョン。
VSにPreview5入れていたけど、何もせずに勝手にリリース版になっていた
日本語のwebは未だだが、英語の方はドキュメントも対応している
https://docs.microsoft.com/en-us/windows/apps/winui/winui3/

previewで作ったソースはcsprj弄らないといけないらしい
2021/03/31(水) 13:03:15.15ID:etdoLpo+a
MAUIはちょまど神とその教徒に差し上げるわ
2021/03/31(水) 15:02:36.61ID:trE6VEZg0
まだデザイナないじゃん
フォーム確認するのにビルドして実行とかやっとれん
2021/03/31(水) 15:22:37.72ID:AX0LZ5AIM
あなたには人脈が足りないわ
(松井菜桜子の声で)
2021/03/31(水) 16:45:01.78ID:K+37tHqN0
笑かすなw
2021/03/31(水) 20:25:22.02ID:CqQ1L0PaM
ウザっ
2021/04/03(土) 15:48:08.56ID:V0xIMLB+0
WPFのXAMLでのStringFormatの書き方がよく分からないんだけど、
C#コード上のString.Format("{0, 2}", value)やString.Format("{0, 00}", value)みたいな右詰めや0埋めってどうやって書けばいいの?
2021/04/03(土) 19:10:02.14ID:XpSMF8nV0
stringじゃなく数値をバインドして、表示上はゼロパディングとかしたいってことだよね?
多分コンバーターは用意されてないから、自作のコンバーターを作って変換して表示させるとか?
2021/04/03(土) 20:10:18.69ID:V0xIMLB+0
>>379
ごめん、そういうこと
public int valueをバインドしてString.Format("{0, 00}", value);をXAMLで書きたいけど無理っぽいか
2021/04/03(土) 20:32:38.18ID:yc1lSrIs0
Binding="{Binding Path=hoge, StringFormat=#\,0}"

でできないんだっけ?
2021/04/03(土) 21:05:40.85ID:gkAKQmV1M
>>378
同じように書けるみたいよ

3桁の0埋め
<TextBlock Text="{Binding Value, StringFormat=商品A {0:D3} 円}"/>
https://qiita.com/koara-local/items/815eb5146b3ddc48a8c3
383デフォルトの名無しさん (ワッチョイ b501-xfeT)
垢版 |
2021/04/04(日) 16:27:19.24ID:GsyCfip/0
>>357
WinFormで請求書の作成で使ってる。

まぁ普通に動いてて満足。
WPFだとどうなんだ。
2021/04/05(月) 01:44:53.35ID:DiIJTwSC0
winui3はc#のちょっとした社内ツールや個人アプリでは流行る目は皆無やな。

インストーラー用意するくらいのアプリなら可能性皆無ではないかもなっていう感じ。

まあでも感覚的にWPF以上に全く使われない感がある。
385デフォルトの名無しさん (ワッチョイ 55b5-vyem)
垢版 |
2021/04/05(月) 02:07:57.60ID:CbvFKNL60
>>384
そうなのか
なに、(また)仰々しいの?
C#のユーザーのターゲット層が掴めてないんだろうな
とにかく、あのXAMLの深い階層だけは辞めてほしいわ
2021/04/05(月) 19:43:14.91ID:D1zl6De70
UWP作ってないからしらないけど
WPFに比べてUWPに有用なUIはどんなのがあるのん?
2021/04/05(月) 21:42:12.94ID:Edplvanwa
トグルスイッチとか…
2021/04/06(火) 14:31:00.51ID:A/BZHpGR0
>>386
なんで今更UWPとかでやるん?

MSもなかった事にしたいぐらい散々たる状況なのに...
2021/04/07(水) 05:57:52.13ID:EEKs5Lqy0
WINUI3もUWPが敬遠された部分引き継いでるからなぁ。

ばっとコンパイルして、パット起動が出来ない。
開発者モードのみでの起動か、署名かというところからスタート。
まずこの時点で自己ツール目的で利用されることは殆どないだろうなぁ。

自己ツールで使わない書き方は裾野が広がらない。UWPと同じ運命が待ってるとしか思えないなぁ。
2021/04/07(水) 07:35:04.05ID:tGmVlS3tM
>>306
嘘つき
https://i.imgur.com/Lwbbnoq.jpg
https://i.imgur.com/QMwNJxw.jpg
2021/04/07(水) 18:26:47.01ID:5etLkXDB0
>>388
WINUIの話してたからUWPとくっついたらどんなもんなのかなと
2021/04/07(水) 18:51:02.38ID:mfkgM1+P0
だまされちゃいかんぞ
2021/04/07(水) 22:15:39.05ID:feegQokv0
>>391
Microsoftご謹製のUWPコントロールのデモ
アンインストすると綺麗サッパリ消えるから試してみると良いよ
2021/04/07(水) 22:21:20.74ID:feegQokv0
リンク貼り忘れたわ
https://www.microsoft.com/ja-jp/p/xaml-controls-gallery/9msvh128x2zt?rtc=1&;activetab=pivot:overviewtab
395デフォルトの名無しさん (ワッチョイ 55b5-vyem)
垢版 |
2021/04/07(水) 23:30:19.31ID:w0c0dpqL0
>>393-394
おぬし、それのWPF版を持っておらんかな?
2021/04/08(木) 00:59:31.00ID:XtnfoEQT0
WinUIって、Windowの位置とサイズはどうやって指定すればいいの?
探したけどよくわからない。
2021/04/08(木) 07:12:46.99ID:9U9Cv8SE0
WPFスレにそこそこレスがあるってことは、まだまだワンチャンあるってことだよね。
WPFの話題あんまりないけど。
398デフォルトの名無しさん (ワッチョイ 55b5-vyem)
垢版 |
2021/04/08(木) 14:28:13.01ID:d++ONVxC0
>>397
いや、WPFよりもっと使いやすいの出せや!と集まってるだけだが
399デフォルトの名無しさん (エムゾネ FF43-h93f)
垢版 |
2021/04/08(木) 14:38:04.88ID:BYjSvKlSF
WFPが正解
400デフォルトの名無しさん (エムゾネ FF43-h93f)
垢版 |
2021/04/08(木) 14:38:28.94ID:BYjSvKlSF
ごめんtypo
WPFが正解
2021/04/08(木) 15:21:11.36ID:tCGGFTkm0
WPFで充分じゃね?

自分はreact使うけど。
2021/04/08(木) 15:22:14.95ID:zT7kfcFG0
Web用フレームワークにも .NET MVC, Razor, WebForms,
Blazor(Server/Wasm), MAUI の少なくとも5つがある。
さらに、.NET Core MVC などという亜種もある。
Webではないフレームワークには、
WinForms, WPF, UWP, WinUI, WinRT
がある。結局、初期に出来たWinFormsが一番使われているらしいが。
2021/04/08(木) 16:31:51.73ID:zT7kfcFG0
WPFくらいまでならまだしも、それ以降のものをやってみたら
思わぬ問題が見つかるかもしれないし、やらない人が多いのかもな。
何かを改良した場合、何らかのトレードオフが生じて別の問題が
入り込むことが多いし、誰も使ってないからMS以外による評価も出てない。
問題が生じた時、古いフレームワークならかろうじてなんとかなるような
対策がなされていることが多いが、新しいフレームワークならそういう
バッドノウハウもないかもしれないし、怖い。
2021/04/08(木) 16:34:01.36ID:zT7kfcFG0
WPFでも実際に試して見るとWinFormsより使い勝手が悪いことがある。
Formデザイナーが使えないとか。
だからWPFが全面的にWinFormsよりすぐれていることにはならないし
置き換えることもできない。
それと同様の事が新しいフレームワークでもあるかもしれないが
試す時間がもったいないので誰も試さない。
2021/04/08(木) 16:36:50.23ID:zT7kfcFG0
そもそも問題としてWinFormsで問題を感じてない人が多い。
仮に感じていたとしてもWPFでそれは解決したりする。
それでも満足できずに新しいフレームワークに進もうとする人がどれだけいるか。
否、全くいない。
改良点もはっきりしないし、むしろ悪くなった点もあるとうわさがあったりもする。
2021/04/08(木) 16:50:14.46ID:pbVKeTxta
UWPとかセキュリティきつくて社内ツールには使えなかったな。
2021/04/08(木) 17:07:10.44ID:tCGGFTkm0
>>404
WPFなのにWinFormのデザイナー使おうとしてんの??
2021/04/08(木) 17:21:48.01ID:3r6MsATA0
MSなら画面はHTML,CSSでコードがC#で書けるものを用意すれば良いだけなのにと思うわ
C#のコードはトランスパイル出来るようにすればjavascriptになるとかだとウェブアプリにも出来るし
exe変換などもサポートすればWindowsアプリにも出来るみたいな
Blazorはベースがダメ過ぎるw
2021/04/08(木) 17:26:47.70ID:yOEoL9CZ0
>>407
さっき調べたら、WPFにもXMLデザイナみたいなのがあるんだね。
でも昔やってみたら使い方が分からなくて使えなかったような気がする。
忘れたけど。
2021/04/08(木) 17:30:22.45ID:yOEoL9CZ0
WPFで使うMVVMという概念が、もしかしたら Webプログラム的で、
WinFormsやMFCとは全く違うから、伝統的なGUIプログラミングに
慣れた人が困惑するのだろうか。
よう知らんけど。
2021/04/08(木) 17:45:34.84ID:tCGGFTkm0
>>410
間違い
2021/04/08(木) 17:46:22.67ID:tCGGFTkm0
>>409
WPFでWinFormに劣る個所とか
ほぼほぼ無い。
2021/04/08(木) 17:56:18.62ID:9AlrFs+/M
起動時間がFORMより早くなればね
2021/04/08(木) 18:19:16.70ID:tCGGFTkm0
>>413
ウーーン( ̄▽ ̄;)
2021/04/08(木) 18:35:15.52ID:GsExqOL7d
WPFでもWinforns的に組むのは全然OK。
xamlよくわからなかったら、xaml排除して
普通にイベントパンドラベースで組んでいいわけで。

そもそもC#の.netwindowsターゲットで、デスクトップアプリでデザインをUIデザイナーが、
機能をプログラマが組んで分けてることなんてかなりレアケースでしょ。

分けても見通しが良くなるケースの方が少ないってことよ。

パブリックなアプリならUnityみたいなものの方がデザインも2Dと3D混ぜやすいし、デザイナーもやりやすいだろう。
2021/04/08(木) 19:18:28.55ID:tCGGFTkm0
WinFormだと画面デザインはUIデザイナーでないと弄れなかったのが、
コードエディターでも直接編集可能になったのがWPF最大の進歩だよ。

まあ、猛者はxxx.Designer.csファイル直接編集してたけどね。
417デフォルトの名無しさん (ワッチョイ a3e6-JnQU)
垢版 |
2021/04/08(木) 19:22:50.42ID:7Q+Xoj4V0
デザイナーのプロパティシートの出来は悪いよな
分類変だし
border引くだけでもタグ手書きしないといけない
リストなんかはダブルクリックイベント拾うだけでも大騒ぎだよ
2021/04/08(木) 19:31:54.39ID:tCGGFTkm0
>>417
boderは最初面食らうね。
css流に使い方変えるだけで手書きは不要だ。

>>ダブルクリックイベント拾うだけでも大騒ぎだよ
それあなただけでは?
2021/04/08(木) 19:55:24.34ID:AcLUfdkoa
ネットに転がっているサンプルソースもWinformが多いし、やはり情報量の多さだとWPFは分が悪いな
2021/04/08(木) 19:56:57.82ID:tCGGFTkm0
>>419
?( ゚∀゚)??
2021/04/08(木) 19:58:02.05ID:yOEoL9CZ0
しかもWinFormsで困らないと思う。
WinFormsで困ったというのを聞いたことがないし。
はっきりとしたWinFormsの問題点をWPFを解決しているようではない。
2021/04/08(木) 20:22:00.43ID:ogiME2ri0
>>421
高DPI対応が面倒くさいとかバインディングが貧相位は聞いて事あるだろう
UI変更の差分を追うのも苦手だな
2021/04/08(木) 20:29:56.15ID:gh8P07fi0
業務アプリみたいなのは貧相なバインディングで十分なんだろ
ウィンドウ表示時、データ表示して変更して、画面閉じる時に更新してで、イベントハンドラにごそっと書くから、TwoWayなくても十分で..
2021/04/08(木) 20:42:33.69ID:tCGGFTkm0
バインディングとか不要だ!
2021/04/08(木) 20:46:27.08ID:yOEoL9CZ0
>>422
解像度というのは大画面に対応するためにあるものと思っているので、
解像度が高いのに物理的なディスプレイの大きさは普通、などという
環境を使ってるのはそもそも本人が悪い。なぜならコンピュータにおいて
グラフィックは最も遅い原因の一つでドットが増えれば遅くなることが
られているから。
ゲーム目的でもビジネス目的でもそんな環境は良くない。

また、バインディングやMVVMを考えた人は地頭が馬鹿なのかな、と思う。
2021/04/08(木) 21:00:28.26ID:5nQwmH8sa
>>425
バインディングやMVVMの利点を理解せずなぜか考案者を頭悪い認定してるおまえが一番馬鹿だよ
単体テストしたこともデザインパターン学んだこともなさそう
2021/04/08(木) 21:02:36.63ID:yOEoL9CZ0
>>426
お前は自分で気づいてないが実は賢くない。
2021/04/08(木) 21:45:10.51ID:+aFkR9gX0
>>425
逆に聞きたいんだけど、MVVMやバインディングの何がダメなの?
普段どうやって画面に値を反映させてるの?
答えられずになんとなくでMVVM否定してるなら頭悪いよ?
2021/04/08(木) 21:52:37.74ID:yOEoL9CZ0
>>428
MVVMが馬鹿なのは、ことを複雑にしてるだけでまともな意味がないからだよ。
2021/04/08(木) 22:12:08.18ID:+aFkR9gX0
>>429
普段どうやってイベントを実行したり、画面に値を反映させたりしてるの?
2021/04/08(木) 22:20:11.65ID:65tq2lAC0
****が馬鹿なのは、ことを複雑にしてるだけでまともな意味がないからだよ。

何を入れてもそれっぽくなる
2021/04/08(木) 22:39:28.97ID:yOEoL9CZ0
>>430
そんなこと関係ない。
2021/04/08(木) 22:53:38.75ID:+aFkR9gX0
>>432
UIとロジックをよりシンプルに分離するための仕組みのひとつがMVVM
だから逆にどうやってるのかなと思って聞いてみた

それを無関係と言うのなら利点も意味も分からず自分が理解できないものを複雑無意味と言ってただけなんだなと
考案者を馬鹿呼ばわりする前に自分の頭の悪さを顧みたら?
2021/04/08(木) 23:20:37.44ID:VPnzG3uy0
ListBoxItemにいろいろ入れたいからWinFormsには戻れない
自分で描画したくない
435デフォルトの名無しさん (ワッチョイ 55b5-vyem)
垢版 |
2021/04/08(木) 23:58:43.12ID:d++ONVxC0
>>408
いいねぇ、その方法をもっと推せよ
HTML, CSSなら他にも潰しが効くしな

XAMLみたいな箸にも棒にも引っ掛からん奴を勉強しても何の得にもならん
2021/04/09(金) 00:02:30.01ID:48x8zVC+0
10年前ならともかく今時MVVM考えた奴は馬鹿とかねえ
WinFormで満足してるならわざわざこっちに来なくていいから
2021/04/09(金) 00:04:04.19ID:C/F0yqxT0
>>425
だからあれは、Blendデザイナーを機能させるの為の最低限の実装なのだよ。
2021/04/09(金) 00:09:00.55ID:C/F0yqxT0
>>433
あなたが他のUIフレームワークを、
知らないだけに見える。

一回Vue.jsでもやってみ?(*´ω`*)

まあWPFでももうすぐWVU使えるようになるから、
そん時どう思うかが楽しみだ。
2021/04/09(金) 00:19:49.00ID:kIYkivm60
WIWIY
IYVVWI
MWM
ΜVVΜ
IVIVVIVI
本物はどれでしょう?
2021/04/09(金) 00:49:06.38ID:ehzEsP590
>>438
Wってなんだ?
https://qiita.com/mngreen/items/3bfc42d18931a0125d16
2021/04/09(金) 01:28:05.30ID:C/F0yqxT0
>>438
>>440
MVUの間違い!(*>ω<*)!
2021/04/09(金) 07:46:13.84ID:QBPOcWJCa
>>438
>あなたが他のUIフレームワークを、
>知らないだけに見える。

なんでそう思うの?自分がvue.jsの話をしたいだけのために意味不明な言いがかりつけるのやめたら?
仕組みの一つがMVVMって言ってますよね?
そもそもアーキテクチャの話をしているのであってフレームワークの話をしてるわけじゃないよね?

wpfのmvvmの実装が中途半端なのは同意するしMVUも楽しみにしてるよ
2021/04/09(金) 08:25:34.47ID:C/F0yqxT0
>>442
はよ!

スレ見てみ♪
言いがかりは貴殿の方だと思いますよーー( ;´Д`)

あと文書から推測すると理解が...欠けて...かも
2021/04/09(金) 08:50:52.12ID:4vi+obQl0
各方面からdisられるWPFだけど、WinForm派は実感がこもってるように見えるけど
HTMLとかMVUとか推す意見はなんか表層的なんだよな。
2021/04/09(金) 08:55:51.45ID:bGC9G8ma0
目新しいものをありがたがってるだけみたいな
2021/04/09(金) 13:22:55.60ID:J5Q+WUmZ0
既存のものの悪いところを改善して新しいものが出てくるから、たいていの場合新しい方が優れてると思ってる
447デフォルトの名無しさん (エムゾネ FF02-lneX)
垢版 |
2021/04/09(金) 15:30:47.40ID:tQcHQU6YF
>>408
Unity一択ですね判ります
2021/04/09(金) 17:48:29.85ID:A2qeEsPea
>>443
3行目以外何が言いたいのか分からないんだが、キマっちゃってる人なの?
2021/04/09(金) 17:50:50.12ID:C/F0yqxT0
>>447
Unityって一時仕事でやってたけど
すげーー技術満載だよな
450デフォルトの名無しさん (ワッチョイ 6fb5-KVJ7)
垢版 |
2021/04/09(金) 20:06:01.67ID:tMeqLsRz0
>>449
どんな技術?
あと、単なる興味だけど、どんな仕事?
ゲーム?それとも物理エンジンかなんか作ってたの?
451デフォルトの名無しさん (ワッチョイ 6fb5-KVJ7)
垢版 |
2021/04/09(金) 20:08:42.33ID:tMeqLsRz0
もう一つ
UnityってWPF使うの?

Unityはインストールしたし、セミナーにも参加したが、本格的にやる時間と気力が無い
今さらゲーム業界になんて行けないしな

子供の頃はゲームプログラマーになりたくてプログラミング始めたんだがな
OpenGLでダンジョン歩き回るみたいなの作って終わり
2021/04/09(金) 20:31:27.77ID:0O/M7BfYr
>>450
マイクロソフトのARだよ。
ホロレンズね。ゲームじゃなくて業務アプリ。
一年位やってた。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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