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/05/23(日) 10:12:19.75ID:DhiKABSx0
WinUIはProject Reunionの一部じゃねぇの?
2021/05/23(日) 10:19:50.56ID:RkaToHVcp
OpenGLとか入ってるし気持ちよく箇条書きの水増ししたいんだから細かいこと突っ込んじゃダメ
2021/05/23(日) 10:32:45.56ID:9N1S7Trd0
>>618
アカウント取得してストアで公開すれば証明書は無料なのを知ってるよね?
最初に個人19ドル、法人99ドル払わないといけないけど、費用はこれが全てだ
622デフォルトの名無しさん (エムゾネ FFba-4Cki)
垢版 |
2021/05/23(日) 11:16:36.35ID:MJ9lD3tLF
無料じゃないやん
2021/05/23(日) 11:19:13.12ID:Nd096Cd70
>>621
詐欺師みたいな説明で草
2021/05/23(日) 12:25:08.44ID:M252CwrI0
GUI関連の技術のリストアップはこの記事に触発された
https://news.ycombinator.com/item?id=26882606

>>619
はい
ProjectReunion(WinUI) が正しかったです
もう最近の技術はどれがどれの一部なのかも追いきれてませんすまぬ

>>620
MicrosoftのOpenGL実装は使ったことないので何か間違ってたのならすまぬ
https://docs.microsoft.com/en-us/windows/win32/opengl/opengl-on-windows-nt--windows-2000--and-windows-95-98
2021/05/23(日) 13:28:22.86ID:d15ZAA8n0
>>621
3000円払えば無料みたいな頭の悪さ
2021/05/23(日) 13:48:13.82ID:JOTdPSSV0
WinRTもある。
OpenGLやOpenGL ESは、MSが考えたものではない。
2021/05/23(日) 13:58:37.69ID:JOTdPSSV0
他に .NETは、Standard, Framework, Core, 5/6 などがあり複雑。
互換性があるようで無い。MS独自の仕様にC++/CLI などもある。
DirectXは、DirectDrawが古くなり、Direct2DやDirectWriteが追加されたが、
DirectDrawの方が便利なことが有ったりする。他にとても大事な仕様として
DirectShowがある。これは動画カメラを入力する時に使う。しかし、
それも著作権保護のために変化して今は別のものが推奨になった。
他に音関連でDirectSound, MIDIやMusic的なものが有る。
ジョイスティック関連でDirectInputも。
ドライバ関連は次から次へと新しい仕様が作られ、古いものは非推奨とされた。
恐らくこれはReactOSやWINEなどを完成させないためだと思われる
(後から追加されたものは、関数の量が多すぎてほぼ真似できない。)。
MFCも昔はWin32のWrapperが主体だったが、後にMFC独自実装が増えた。
なお、Blazorは、ServerとWasmの二系統が有るので1つとは言いがたい。
2021/05/23(日) 14:21:34.54ID:9N1S7Trd0
https://www.nda.co.jp/memo/codesigning/index.html
無料ってのはちょっと違ったかも知れんが、破格なのは間違いない
ここのリストじゃ1年間で最低99ドルだからな

Storeは年数制限もないしアプリの数の制限もない
2021/05/23(日) 15:06:51.00ID:M252CwrI0
>>626
あーあー、620とか何を指して水増しと言ってたのか分からんかったが、
仕様がMicrosoft以外なのに他の技術と同列に列挙してたことを指してたのか

OpenGLの仕様は別組織なんだからメンテしてる実装のことだと勝手に理解してくれると無意識に考えてた

確かに開発した技術という一覧で並べたらおかしいな
「OpenGL(opengl32.dllの実装)」と書いとけばよかった
2021/05/23(日) 16:03:29.58ID:FKa4nVIA0
どんなに言い訳してもおかしいのは変わらん
2021/05/23(日) 16:10:06.35ID:JOTdPSSV0
他に ASP.NET や Azureもある。
ややこしいこととして、ASP.NET MVC と MVC が付かないものが有ったと思う。
AzureとASP.NETの関係性も複雑に感じる。
また、Blazorは、、ASP.NETやMSクラウド(Azure)を使わせる
ために作られたものだという説がある。
2021/05/23(日) 16:11:14.80ID:p7xhfnCF0
こう書いとけば良かった、じゃなく完全に場違いのものを列挙してるって理解しなさいw
2021/05/23(日) 16:11:39.50ID:JOTdPSSV0
「ASP.NET Core」なるものもある。
色々なフレーム枠たちの全体把握がとても難しい。
2021/05/23(日) 16:12:48.58ID:JOTdPSSV0
Razorもある。
2021/05/23(日) 16:14:45.77ID:JOTdPSSV0
ASP.NET MVC
ASP.NET WebForms
ASP.NET Core
Razor
Blazor Server/Wasm ---> 2種類ある。
はどれも異なる。
AzureとASP.NETの関連性も難しい。
2021/05/23(日) 16:18:34.37ID:JOTdPSSV0
WTLのほかにATLもあり、
OLE, OLE Automation,
COM, COM+, DCOM, AcitveX
UMDF
などもあったが、難しすぎて全体を理解できている人は少ない。
2021/05/23(日) 16:24:40.96ID:M252CwrI0
>>630
おかしかったと言葉の綾を認めてるのにしつこいな

そんなにネチネチくるなら言わせてもらうが、
>>615
> あの頃はWindowsデスクトップのマーケティングなんか考えてなかった
とか、Microsoftが最重要要素のマーケティング考えてないと想像するのも十分おかしい
638デフォルトの名無しさん (ワッチョイ 9a6a-5zR4)
垢版 |
2021/05/23(日) 16:26:04.62ID:FKa4nVIA0
>>637
> 確かに開発した技術という一覧で並べたらおかしいな
> 「OpenGL(opengl32.dllの実装)」と書いとけばよかった

認めてないだろ
しつこいとか書いて自分は悪くないような印象操作するなクズ
2021/05/23(日) 16:30:43.27ID:M252CwrI0
>>632
すまん
一覧のタイトルを訂正させてくれ

?GUIまわりでMicrosoftが開発した技術一覧
○GUIまわりでMicrosoftが開発または実装した技術一覧
2021/05/23(日) 16:32:47.03ID:M252CwrI0
>>638
よく読めこのカス
2021/05/23(日) 16:40:46.69ID:p7xhfnCF0
>>639
他所の仕様を動かすためのMS実装なんて含めたら
ただでさえ意図の不明なリストの趣旨がさらに胡乱なものになるぞw
修正するならタイトルを変えるんじゃなくて指摘されたものを消すだけでいいんだよw
2021/05/23(日) 17:02:43.99ID:M252CwrI0
>>641
了解
OpenGL と OpenGL ESは取り消す
2021/05/23(日) 17:22:45.60ID:k+eQXbDU0
ごめんなさいを忘れてるぞ
2021/05/23(日) 18:41:30.27ID:sgOQ9USX0
>>628
僕に毎年99ドル振り込んでくだちい
2021/05/23(日) 18:42:38.27ID:nRfM0z7i0
令和納豆みたいな話しだな。
2021/05/23(日) 18:52:14.80ID:gK9hCp4N0
Prismはオワコンだな。
Regionのデザイン時表示に制限があることがわかって
こんな欠陥ライブラリ使い物にならんなぁと思ってたところに
MS印の軽量なの見つけたんでこれにするわ。
2021/05/23(日) 19:49:03.35ID:gwonYU4k0
MVVM Toolkit

こういうの標準ライブラリに入れないからイマイチ浸透しないんだよな。
2021/05/23(日) 21:26:26.65ID:FKa4nVIA0
>>646
prismはprismで便利なんだけど、MVVMコーディングの肩代わりさせたいだけなら重すぎるな
2021/05/23(日) 22:18:18.22ID:TX/DprfC0
>>647
MVVM?いらんね。
2021/05/24(月) 00:07:33.95ID:OdiwER750
>>618 いろいろなものを作って混乱させ、あとはどうやって収集させるのだろうか?無理だろうが
2021/05/24(月) 04:18:33.32ID:B7Hr8UAb0
C++の場合、MFCとWin32はよく使われているが(特にMFCが)、ATL, WTLなどは余り使われてないと聞いている。
同様に C#においては WinFormsとWPF以外はほぼ使われてないらしい。
UWP, WinUI, WinRT などもほとんど使われてないが。
理由は初期のものとの差が分かりにくいから。
MAUIは、マルチプラットフォームなのでちょっと違ってくるかも知れないが、やっぱり使われないかもな。
2021/05/24(月) 19:16:00.41ID:cQc1lF9J0
WinUIはまだスタートラインに着いたところでしょ、普及する気がしないけど
MAUIはXamarinの後継だから主流にはならないっすね
2021/05/24(月) 20:40:38.06ID:lZZrXw7K0
ATLとWTLを新規開発に使うなんてことある?
昔のコードであって、機能は全部MFCに入ってると思ってたけど。
無料環境でやるんだったら仕方ないけど、もう更新されてないでしょ?

あとC#のフレームワークの話してるけど、プラットフォームが違うでしょ
WinUIは上の通りだが。
言語云々よりもアプリの数見れば選択に上がらないのは想像つくかと。
>>651はWindowsでソフト作ったことあるの?
2021/05/24(月) 20:42:29.92ID:i2eTwvSN0
forthとmindなら
2021/05/24(月) 21:26:11.04ID:c7j1Cmuo0
ATLとWTLとMFCが何か知らないのは構わないが
調べもしないで妄想を垂れ流すのは止めてくれ。
2021/05/24(月) 23:05:52.21ID:4tCCrl8PM
MSは現場の技術力が低下している

VS2019で新規プロジェクト制作でプロジェクト種類一覧を出すだけでクルクルして待たされる
江戸時代かよ…
2021/05/25(火) 04:02:08.51ID:wv0vSqE+0
>>652
XamarinはWinForms風やXAML風が使えたようだけど、MAUIはMVC風に
するらしいから本当は後継とは言えず、受け継ぐのはマルチプラットフォーム性
だけかも知れない。
つまり、MAUIはXamarinとはプログラミング作法的には全く違ってくるかも知れない。
しかも、MVC風はWeb系の人には馴染みがあるがデスクトップアプリ系の人には
抵抗がある書き方。
2021/05/25(火) 04:09:49.84ID:wv0vSqE+0
勘違いしてたわ。Xamarin自体がXAMLを使っているがMVVMだったそうだな。
MAUIでは、アプリケーションモデルとして MVVM, RxUI, MVU, Blazor の
4種類も用意されるそうだが、となると、MAUIでggっても自分が使ってる
アプリケーションモデルと異なる説明が出てきたり、不具合を直すための
バッドノウハウ系の情報も出てこないだろうな。
あと、MVVMやBlazorはWinFormsの代わりにはならないだろうな。
2021/05/25(火) 04:12:53.72ID:wv0vSqE+0
また勘違いしてたわ。WPFはXAMLを使っているがMVVMが推奨され
てるんだってな。
そうか、だから普及しないんだな。
MVVMは伝統的なデスクトップアプリの作法とは違うからな。
HTMLとJSを組み合わせるWeb系プログラムに似た作法だから。
2021/05/25(火) 04:23:35.51ID:wv0vSqE+0
MVC/MVVM 系の代表格は、Ruby On Rails, Vue.js, Angular で、Web系に多い作法。
WPFもそれを推奨とすると聞いた。
ASP.NET には、WebFormsとMVC の二系統ありに系統有り、前者は
デスクトップアプリプログラマ向け、後者がWebプログラマ向けだと聞いた。
前者は名前からも分かるようにWinFomsに似た作法らしい。

・WinFormsは、C++のWin32やMFCと似た伝統的なデスクトップGUIアプリの作法に似る。
 ASP.NET WebFormsがこちら。
・WPFは、WebプログラムのHTMLとJSを組み合わせた作法に似るのでWebプログラマ向け。
 ASP.NET MVCがこちら。

ということらしい。
2021/05/25(火) 05:40:36.07ID:9OtJ0sMt0
WebFormsは廃止されたよ
2021/05/25(火) 13:02:40.82ID:l9badWvWa
伝統的というかもはやレガシーだな
2021/05/25(火) 15:06:45.66ID:wv0vSqE+0
>>662
でも現実には一番人気なんだがな。
2021/05/25(火) 15:13:05.14ID:e3vhmkG80
NGばっかり
665デフォルトの名無しさん (アウウィフ FFc7-4Cki)
垢版 |
2021/05/25(火) 15:17:44.44ID:9esnpvbXF
>>656
技術力が高かったことはない
元々低かったのがさらに低くなった
2021/05/25(火) 15:41:47.78ID:wv0vSqE+0
>>656
俺ははっきり言ってローエンドのCPUを使っているが、
もしも、コア数の多い最新版の Core i7 や i9 などを最新の M/Bと
共に使ったら、速いのかね?
それが分からんし、どれくらいのCPUにすれば速くなるのかも分からんし、
貧乏だし、ローエンドCPUを使ってる。
2021/05/25(火) 16:52:39.15ID:A+W5LYj10
そんな事言ったら、androidの新UIフレームワークjetpack composeの重さに発狂するわ
まだベータだが
2021/05/25(火) 18:42:25.09ID:9OtJ0sMt0
あとEclipseも
2021/05/25(火) 21:32:49.98ID:M8xlM0ftM
新規プロジェクトのテンプレ一覧なんて表示にそんなに時間のかかる者なのか?
かかるとしてキャッシュするぐらいの知能がないのか?
2021/05/25(火) 21:44:25.98ID:M8xlM0ftM
nugetの表示が遅いのも謎なんだな
2021/05/25(火) 21:47:45.58ID:9OtJ0sMt0
VSCode使えよ
2021/05/25(火) 21:48:46.03ID:6fkDazFe0
WPFは遅くないとか言ってる馬鹿が開発してるのだろう。
2021/05/25(火) 22:05:45.12ID:9OtJ0sMt0
dotnet new
2021/05/26(水) 05:49:33.92ID:PcPDHPmW0
「Microsoft Build of OpenJDK」が一般公開
2021/05/26(水) 07:16:45.72ID:WMlsggHNM
WMIも遅いしな
2021/05/26(水) 07:44:21.96ID:rX+9HUcZ0
>>674
死ね
2021/05/26(水) 12:31:40.10ID:Qr9i9spQ0
WPFは、RIA(Rich Internet Application)と関連深かったらしく、
Silverlight は、WPF/E と呼ばれていたらしい。
この意味で WPFが、MVVMを推奨したり、Web系の HTML+JSでプログラミング
する作法に似るのは当然かも知れない。
また、XAMLは、画面をデザインするデザイナーとプログラミングをする
プログラマーが共同作業を行うときに有利だとされていたらしい。
2021/05/26(水) 17:59:23.57ID:4HxghkQ50
備忘録?
メモ帳と間違えたのかな?
2021/05/26(水) 18:04:22.56ID:AGoVKm480
リッチなWPFだけど、内部でWebの様なレンダリングをしてるのだろうか
2021/05/26(水) 18:26:26.83ID:PcPDHPmW0
XAMLを解するデザイナーなんて存在しない。
XAMLはプログラマーが手打ちで作るもの。
2021/05/26(水) 18:36:05.26ID:VkYgpXSN0
https://forest.watch.impress.co.jp/docs/news/1327091.html
mauiもまぁ失敗するだろう
2021/05/26(水) 19:33:48.31ID:HCaE60wZ0
XAMLでなんでもやろうとするよりレイアウトだけやって他はコメントいっぱい書かかせておくのが一番
でもコメントも書きずらいからやっぱり糞
2021/05/26(水) 21:44:17.87ID:TbIpIxpy0
>>678
ここはもうその人のチラ裏なんだよ
2021/05/26(水) 22:01:01.85ID:SHVtCdRV0
長文の人ずっといるのにまだ理解してないんだな。
2021/05/26(水) 23:41:00.89ID:bVUt983d0
NG推奨
2021/05/27(木) 14:28:39.62ID:XhKnovwX0
ずっといるというか、糖質は適切に治療しないとずっと寛解しないからな
2021/05/27(木) 17:16:23.55ID:2hZg3wd40
16.10.0のプロパティ簡単設定機能はXAML直書きの苦行から少しは解放されるん?
2021/05/28(金) 12:15:53.81ID:ycE8fU310
むしろXAML直書きを支援する機能を充実させてほしい
2021/05/28(金) 12:45:21.22ID:0xnsda4N0
bindにインテリセンス効かせて欲しい
2021/05/28(金) 13:46:22.80ID:YP1Y+7z60
UWPとWInUI3のx:Bindはインテリセンスが効く

別件だがVSのオプションで
>テキストエディタ>C#>IntelliSenseで「インポートされていない名前空間の項目を表示する」を設定すると
using していないクラスもインテリセンスの候補で出てくるようになっています
2021/05/28(金) 20:51:48.31ID:SIN+4Aj/0
>>688
コードビハインド書けるだろーが。
2021/05/28(金) 21:28:27.68ID:ycE8fU310
コードビハインドでUI記述したらWPF使う意味がない。
XAMLは画面プレビュー見なくてもそれだけで画面の構造・イメージが把握できるのがメリット。
2021/05/29(土) 03:05:07.31ID:9KU4ooqJ0
>>692
XAML直書きってそういう意味の事か。
勘違いした。
2021/05/29(土) 22:34:26.11ID:CsBdGtLtM
xamlってstyleやtrigger使うとかなり階層が深くなりがちなんですけどよい解消法はありますか?

あとは深いところでちょっとだけ違うものを短く書けないかなと

似たような山が3つとか並ぶと不快です
2021/05/29(土) 23:57:41.52ID:LoL0k2Zo0
そういうのはできない
XAMLの致命的とも言える大弱点
2021/05/30(日) 04:23:54.80ID:U4AyDVvm0
それはXAMLの問題ではない。
お前の問題。
普通にコードビハインドで書けばいい。
2021/05/30(日) 05:22:02.09ID:opoaIBKj0
だよねぇ。
ペアレントを数段階遡ってサーチしDatacontext設定やってんじゃねぇ、、、 と言いたい。
ビハインド一発。
2021/05/30(日) 08:09:01.61ID:ge/ihLGc0
Styleはコードビハインド無理だろ
ResouceDictionaryで分離するくらいしか手がない
2021/05/30(日) 09:59:36.82ID:B0xK2QHY0
Resourceに切り出せば階層の深さも限定的だと思うけどね。
特定のコントロールにベタ書きしているんであればそのコントロール自体をUserControlに切り出すとか。
2021/05/30(日) 11:23:06.69ID:Yu1UbmIo0
お前らもgridの設計書はexcelで作ってるの?
2021/05/30(日) 11:44:04.57ID:ge/ihLGc0
そういう後日全く役に立たない成果物という代物は整理できないものなんだろうか
この仕事が生まれてからの永遠の課題だが
2021/05/30(日) 12:58:29.27ID:9qhZnm4fM
人足仕事で案件取ってくる営業からしたら一粒で二度おいしいだろ
2021/05/30(日) 16:12:30.07ID:xX6k4N6w0
>>700
そんな資料が必要な時点で作りが悪い可能性。
普通は上手に部品化してGridとStackPanelを使っていけば
見りゃわかるレベルで構造が綺麗になるもんだけどな。
2021/05/30(日) 17:22:11.21ID:U4AyDVvm0
>>698
コントロール自作するレベルは
最初からmvvmとかつかってない。
まず遅すぎて使えない。
XAMLの美味しいとこTemplateやStyle使っても
コードビハインドから十分かける。
2021/05/30(日) 19:00:27.12ID:xX6k4N6w0
作り方が下手くそなだけなんじゃ・・・
2021/05/30(日) 19:24:27.06ID:U4AyDVvm0
>>705
誰にいってんのかな?

ちなみに複合コントロール(データグリッドとかガントチャート)とかの内部実装はそんなもんです。

それに、WPFのコントロールの開発者のほとんどは、
WinFormsのコントロールの開発者でもありますよ。
2021/05/30(日) 19:31:51.55ID:xX6k4N6w0
>誰にいってんのかな?

一人しかいないでしょう。

ちなみにプロジェクトの規則でWinForms禁止や、
発注側が(質の低い技術者を振るい落すために)WinForms禁止を指定してくることもあるよ。
2021/05/30(日) 19:34:46.09ID:6PzLf/hnd
見た目こだわらないならWinFormsでいいんじゃないの?
2021/05/30(日) 19:36:22.03ID:U4AyDVvm0
>>707
意味も理解できてないようだね。
710デフォルトの名無しさん (ワッチョイ 936a-4Wjq)
垢版 |
2021/05/30(日) 21:24:30.95ID:Qv5hMNzG0
見た目のカスタマイズに限った話だけど、
コードビハインドだと標準の挙動で上書きされて思い通りに動かないことがある
じゃあXAMLスタイルを部分的に入れ替えて作ろう、てやってると
段々>>694の状態になっていく
コードビハインドだけで解決できる世界じゃ無いんだよ
2021/05/30(日) 21:27:39.68ID:xX6k4N6w0
>>708
見た目こだわらなくても開発生産性や品質上げたいならWPF使うでしょ。
2021/05/30(日) 22:36:18.55ID:GQzTsaB30
なるほど
世間では生産性や品質はMSが考えるほど重視されなかったのか
参考になる
2021/05/31(月) 05:56:53.59ID:EnIBUBvH0
>>711
ウケるww キミ笑いの天才だよw
2021/05/31(月) 06:40:11.53ID:gx49gNht0
>>713
ああ、働いたことないのね
2021/05/31(月) 06:50:12.73ID:EnIBUBvH0
>>714
技術者です。MSのサポートを何度も利用してますがいつもインシデントを消費できません!!!

wwwww
2021/05/31(月) 09:51:36.96ID:Tm9sROGBF
>MSが考えるほど重視されない

むしろ「MSに期待してない」

本気で考えたらMSの製品なんて採用しない
2021/05/31(月) 19:44:30.23ID:bqT3Z3azM
横からだけど

生産性を高めるには標準コンポーネントをさらっと使えたほうが楽だからwinformの勝ちだと思うけど
2021/06/01(火) 00:27:28.76ID:ivHisrQo0
仕様によるわな
レイアウトは崩れてもいい、という仕様ならwinformの方が工数は少ない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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