アカウント名:
パスワード:
ダイアログ一個みたいなのはWPFでもWinFormでもそれなりのやつがわりとすぐ作れるのはわかってる。それはそれでいいんだけど、もうちょい複雑な奴がつくりにくい。
DocumentがひとつでViewに相当するウインドウが複数になるようなやつがWPFで作れない。(Win32/MFC/WinFormならできますよ)
たとえばVisual StudioはどうもWinFormの上にWPFを領空侵犯して作っているような気がしているのだけど[要出典]実際のところどうやってつくってるんだろう?
MDIはあらゆる方面からの攻撃によって死んだよ。そういうのはタブでやってください。VisualStudioみたいのはAvalonDockってやつでやったことはあるけど、結局一般人には不評なんだよね。
あれはMacのまねっこだったし…(Macのウィンドウ管理はMDIフレームを常に最大化して背景を透明にした感じ)
MDIじゃないんだよ
Visual Studioみたいにdocument相当がひとつでView相当が複数のパターンブラウザみたいなSDIのほうがモダンなのはわかている
だからそれが典型的なWPFアプリの作りだろ?document-viewモデルだと、documentはViewModelとModelに分離されるが、MVVMで一つのViewModelに対して、Viewを切替えるとか同時に複数のViewで見れるって、MVVMだとそういう物がシンプルに実装できる、ViewとViewの間も、ViewModelとの間も、プログラマは一切意識することなく協調同期できるというMVVMモデルの利点としてサンプルコードで紹介されるようなケースだぞ。
>WPFのMVVMにおいて一つのViewModelに対して、複数のViewというのはありえません
ありえなくない。むしろWPFでMVVMを採用する大きな理由の一つ。
こういう誰それが言った「〇〇は〇〇しなければならない」を鵜呑みにしちゃう頭の悪い人いるよねー。
ウィンドウの内側に動かせるウィンドウがある、MDIみたいなやつ?作れんことはないと思うよ。MFCみたいに標準で用意はされてないから、面倒は面倒だけど。(以前、そんな感じのものを作ったことがある)一対多のデータの流れは、MVVMの方がむしろ得意とするところだし。
>DocumentがひとつでViewに相当するウインドウが複数になるようなやつがWPFで作れない
んなわけないじゃん。そういうのはWPFが最も得意とするところ。
> DocumentがひとつでViewに相当するウインドウが複数になるような> やつがWPFで作れない。(Win32/MFC/WinFormならできますよ)
それ、WinFormsやMFCで無理矢理やったことを、WPFではシンプルに整理しなおしましたってもので、WPFへ移行して簡単になるものの典型例だろ。WPFの本見たら、2章目ぐらいに出てくるやつ(1章目がHelloWorldレベル)
なんとWinUI 3.0も複数ウィンドウ対応は来年以降だそうですよ。普及させるきいあるのだろうか。それとも今どきウィンドウを複数パカパカ開くようなアプリは作るなということなのだろうか。Windowsとは一体
しかもデザイナーもまだないんだぜ?さんざんユーザーからつつかれて渋々対応予定に入れた。実装予定時期は複数ウィンドウ対応よりも更に先の話。2023年とか2024年あたりになるんじゃないか。
> たとえばVisual StudioはどうもWinFormの上にWPFを領空侵犯して> 作っているような気がしているのだけど[要出典]> 実際のところどうやってつくってるんだろう?
Inspectorとかで調べられるよ。VisualStudioのGUI関連は、普通にWPFだね。WPF自身、Visual StudioのGUIを簡単に実装できるものとしてデザインされたわけだから、そこで使ってるのは当然だろう。
2017のあたりでWPFメインになったが、ダイアログとかコントロールの一部にMFCかWin32が埋込まれてた。おそらくは過去のVSコードの残りなんだろうな。2022では、ざっと見る限り、ほぼ全てWPFになってるな。完全に調べたわけじゃないけど、普通に使ってる範囲だとWPF以外の部品要素がみあたらない。
Win32 APIやWinFromsの中にWPFを使う手段は用意されている。
Windows フォームで WPF 複合コントロールをホストする [microsoft.com]、ElementHostクラス
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ見習い
ダイアログ一個みたいなのは (スコア:0)
ダイアログ一個みたいなのはWPFでもWinFormでもそれなりのやつが
わりとすぐ作れるのはわかってる。それはそれでいいんだけど、
もうちょい複雑な奴がつくりにくい。
DocumentがひとつでViewに相当するウインドウが複数になるような
やつがWPFで作れない。(Win32/MFC/WinFormならできますよ)
たとえばVisual StudioはどうもWinFormの上にWPFを領空侵犯して
作っているような気がしているのだけど[要出典]
実際のところどうやってつくってるんだろう?
Re:ダイアログ一個みたいなのは (スコア:2)
MDIはあらゆる方面からの攻撃によって死んだよ。そういうのはタブでやってください。
VisualStudioみたいのはAvalonDockってやつでやったことはあるけど、結局一般人には不評なんだよね。
Re: (スコア:0)
あれはMacのまねっこだったし…(Macのウィンドウ管理はMDIフレームを常に最大化して背景を透明にした感じ)
Re: (スコア:0)
MDIじゃないんだよ
Visual Studioみたいにdocument相当がひとつでView相当が複数のパターン
ブラウザみたいなSDIのほうがモダンなのはわかている
Re: (スコア:0)
だからそれが典型的なWPFアプリの作りだろ?
document-viewモデルだと、documentはViewModelとModelに分離されるが、MVVMで一つのViewModelに対して、Viewを切替えるとか同時に複数のViewで見れるって、MVVMだとそういう物がシンプルに実装できる、ViewとViewの間も、ViewModelとの間も、プログラマは一切意識することなく協調同期できるというMVVMモデルの利点としてサンプルコードで紹介されるようなケースだぞ。
Re: (スコア:0)
ViewModelはViewのModelだから。そういうのがシンプルに実装できないのがWPFの欠陥。
Re: (スコア:0)
>WPFのMVVMにおいて一つのViewModelに対して、複数のViewというのはありえません
ありえなくない。
むしろWPFでMVVMを採用する大きな理由の一つ。
こういう誰それが言った「〇〇は〇〇しなければならない」を鵜呑みにしちゃう頭の悪い人いるよねー。
Re: (スコア:0)
ウィンドウの内側に動かせるウィンドウがある、MDIみたいなやつ?
作れんことはないと思うよ。
MFCみたいに標準で用意はされてないから、面倒は面倒だけど。
(以前、そんな感じのものを作ったことがある)
一対多のデータの流れは、MVVMの方がむしろ得意とするところだし。
Re: (スコア:0)
>DocumentがひとつでViewに相当するウインドウが複数になるようなやつがWPFで作れない
んなわけないじゃん。そういうのはWPFが最も得意とするところ。
Re: (スコア:0)
> DocumentがひとつでViewに相当するウインドウが複数になるような
> やつがWPFで作れない。(Win32/MFC/WinFormならできますよ)
それ、WinFormsやMFCで無理矢理やったことを、WPFではシンプルに整理しなおしましたってもので、WPFへ移行して簡単になるものの典型例だろ。
WPFの本見たら、2章目ぐらいに出てくるやつ(1章目がHelloWorldレベル)
Re: (スコア:0)
なんとWinUI 3.0も複数ウィンドウ対応は来年以降だそうですよ。普及させるきいあるのだろうか。それとも今どきウィンドウを複数パカパカ開くようなアプリは作るなということなのだろうか。Windowsとは一体
Re: (スコア:0)
しかもデザイナーもまだないんだぜ?
さんざんユーザーからつつかれて渋々対応予定に入れた。
実装予定時期は複数ウィンドウ対応よりも更に先の話。
2023年とか2024年あたりになるんじゃないか。
Re: (スコア:0)
> たとえばVisual StudioはどうもWinFormの上にWPFを領空侵犯して
> 作っているような気がしているのだけど[要出典]
> 実際のところどうやってつくってるんだろう?
Inspectorとかで調べられるよ。
VisualStudioのGUI関連は、普通にWPFだね。
WPF自身、Visual StudioのGUIを簡単に実装できるものとしてデザインされたわけだから、そこで使ってるのは当然だろう。
2017のあたりでWPFメインになったが、ダイアログとかコントロールの一部にMFCかWin32が埋込まれてた。おそらくは過去のVSコードの残りなんだろうな。
2022では、ざっと見る限り、ほぼ全てWPFになってるな。
完全に調べたわけじゃないけど、普通に使ってる範囲だとWPF以外の部品要素がみあたらない。
Re: (スコア:0)
たとえばVisual StudioはどうもWinFormの上にWPFを領空侵犯して
作っているような気がしているのだけど[要出典]
実際のところどうやってつくってるんだろう?
Win32 APIやWinFromsの中にWPFを使う手段は用意されている。
Windows フォームで WPF 複合コントロールをホストする [microsoft.com]、ElementHostクラス