パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

.NET 20周年」記事へのコメント

  • by Anonymous Coward on 2022年02月17日 23時20分 (#4202148)

    ダイアログ一個みたいなのはWPFでもWinFormでもそれなりのやつが
    わりとすぐ作れるのはわかってる。それはそれでいいんだけど、
    もうちょい複雑な奴がつくりにくい。

    DocumentがひとつでViewに相当するウインドウが複数になるような
    やつがWPFで作れない。(Win32/MFC/WinFormならできますよ)

    たとえばVisual StudioはどうもWinFormの上にWPFを領空侵犯して
    作っているような気がしているのだけど[要出典]
    実際のところどうやってつくってるんだろう?

    • MDIはあらゆる方面からの攻撃によって死んだよ。そういうのはタブでやってください。
      VisualStudioみたいのはAvalonDockってやつでやったことはあるけど、結局一般人には不評なんだよね。

      親コメント
      • by Anonymous Coward

        あれはMacのまねっこだったし…(Macのウィンドウ管理はMDIフレームを常に最大化して背景を透明にした感じ)

      • by Anonymous Coward

        MDIじゃないんだよ

        Visual Studioみたいにdocument相当がひとつでView相当が複数のパターン
        ブラウザみたいなSDIのほうがモダンなのはわかている

        • by Anonymous Coward

          だからそれが典型的なWPFアプリの作りだろ?
          document-viewモデルだと、documentはViewModelとModelに分離されるが、MVVMで一つのViewModelに対して、Viewを切替えるとか同時に複数のViewで見れるって、MVVMだとそういう物がシンプルに実装できる、ViewとViewの間も、ViewModelとの間も、プログラマは一切意識することなく協調同期できるというMVVMモデルの利点としてサンプルコードで紹介されるようなケースだぞ。

          • by Anonymous Coward
            WPFのMVVMにおいて一つのViewModelに対して、複数のViewというのはありえません。
            ViewModelはViewのModelだから。そういうのがシンプルに実装できないのがWPFの欠陥。
            • by Anonymous Coward

              >WPFのMVVMにおいて一つのViewModelに対して、複数のViewというのはありえません

              ありえなくない。
              むしろWPFでMVVMを採用する大きな理由の一つ。

              こういう誰それが言った「〇〇は〇〇しなければならない」を鵜呑みにしちゃう頭の悪い人いるよねー。

    • by Anonymous Coward

      ウィンドウの内側に動かせるウィンドウがある、MDIみたいなやつ?
      作れんことはないと思うよ。
      MFCみたいに標準で用意はされてないから、面倒は面倒だけど。
      (以前、そんな感じのものを作ったことがある)
      一対多のデータの流れは、MVVMの方がむしろ得意とするところだし。

    • by Anonymous Coward

      >DocumentがひとつでViewに相当するウインドウが複数になるようなやつがWPFで作れない

      んなわけないじゃん。そういうのはWPFが最も得意とするところ。

    • by Anonymous Coward

      > DocumentがひとつでViewに相当するウインドウが複数になるような
      > やつがWPFで作れない。(Win32/MFC/WinFormならできますよ)

      それ、WinFormsやMFCで無理矢理やったことを、WPFではシンプルに整理しなおしましたってもので、WPFへ移行して簡単になるものの典型例だろ。
      WPFの本見たら、2章目ぐらいに出てくるやつ(1章目がHelloWorldレベル)

    • by Anonymous Coward

      なんとWinUI 3.0も複数ウィンドウ対応は来年以降だそうですよ。普及させるきいあるのだろうか。それとも今どきウィンドウを複数パカパカ開くようなアプリは作るなということなのだろうか。Windowsとは一体

      • by Anonymous Coward

        しかもデザイナーもまだないんだぜ?
        さんざんユーザーからつつかれて渋々対応予定に入れた。
        実装予定時期は複数ウィンドウ対応よりも更に先の話。
        2023年とか2024年あたりになるんじゃないか。

    • by Anonymous Coward

      > たとえばVisual StudioはどうもWinFormの上にWPFを領空侵犯して
      > 作っているような気がしているのだけど[要出典]
      > 実際のところどうやってつくってるんだろう?

      Inspectorとかで調べられるよ。
      VisualStudioのGUI関連は、普通にWPFだね。
      WPF自身、Visual StudioのGUIを簡単に実装できるものとしてデザインされたわけだから、そこで使ってるのは当然だろう。

      2017のあたりでWPFメインになったが、ダイアログとかコントロールの一部にMFCかWin32が埋込まれてた。おそらくは過去のVSコードの残りなんだろうな。
      2022では、ざっと見る限り、ほぼ全てWPFになってるな。
      完全に調べたわけじゃないけど、普通に使ってる範囲だとWPF以外の部品要素がみあたらない。

    • by Anonymous Coward

      たとえばVisual StudioはどうもWinFormの上にWPFを領空侵犯して
      作っているような気がしているのだけど[要出典]
      実際のところどうやってつくってるんだろう?

      Win32 APIやWinFromsの中にWPFを使う手段は用意されている。

      Windows フォームで WPF 複合コントロールをホストする [microsoft.com]、ElementHostクラス

アレゲは一日にしてならず -- アレゲ見習い

処理中...