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

Visual Studio 2022が正式にリリース」記事へのコメント

  • 許してください、まだまだ案件でWindows Formが多いんです…(過去アプリのUIそのままで機能追加・改修しろとか)

    • by Anonymous Coward on 2021年11月10日 15時06分 (#4149341)

      せめてWPF Canvasにアンカー相当があれば、段階的にというかいったんガラだけ移行して
      浸透させていくとかもできたかもしれないけど、

      (MVVMとかは置いといて)WPFでサクッとツール作れず、
      デザイン移植しづらくて、アニメーションとか別に求めてないし、結果触れてる人も増えてこないので
      選択肢として出しにくいんだよな。

      OSSとか世界向けだと見栄えも綺麗にしたくもなるけど、即日欲しいツールとか作るために
      Gridレイアウトとか調整してると時間がもったいなくなっちゃったりも。
      (変に凝るための)選択肢が少ないというのがむしろWinFormsのメリットになってしまっている気がする。

      # それにしてもVS2019が.NET6サポートしないとは思わなかった。

      親コメント
      • by Anonymous Coward

        「MVVMとか別にして」ならば、それは慣れの問題なだけです。

        • by Anonymous Coward

          新規ならそうなんだけど、既存のものを持っていくときめんどくさいのは画面なので。

      • by Anonymous Coward

        WPFのレイアウタは、なにも考えなくても適当に配置して動くのが良いんでは?
        GridやCanvasなんぞ使わず、作るだけなら StackPanelだけでやればよろしい。

        • by Anonymous Coward

          StackPanelはマージン切っていくのが大変。
          WinFormsもStackPanelだったやつならいいけど。

          Canvasがある程度適当に配置して動くが、マージン固定ができない。

          一応Gridで分割せずに1セルでやるのが一番近いんだが、
          それならCanvasにマージン固定する機能つけてくれればいいのにと思う。
          うーん、Gridで 1セルでとりあえず導入してしまうかなぁ。

          • by Anonymous Coward

            マージンはスタイルで一括指定してイレギュラーなのは個別指定すればデザイナでチマチマ配置するよりもずっと楽でしょ

            • by Anonymous Coward

              新規ならそれでいいけどね。
              いや、それでもWindowがStackPanelなのはあんまり想像できないんだけど。
              縦のスタックパネルで行ごとに横のスタックパネル積むとかか?

              元コメのように、「過去アプリのUIそのままで」みたいな状況においての話なので、
              スタイル定義し始めると時間かかる(というか、そんな綺麗にスタイルで一括指定できる様になってないな)

              とにかく開発のベースをWPFとかに持っていき、そこからWPFらしい形に直していくって感じで段階移行するのが狙いなので。
              習熟したメンバーが移行するわけではない。

              それにWPFのスタイル…というよりはリソース定義が最初がめんどくさいしなぁ。
              リソースをもうちょい簡潔に描かせてくれりゃいいんだけど。

              • by Anonymous Coward

                StackPanelは一番多用するだろ
                https://qiita.com/Kosen-amai/i... [qiita.com]

              • by Anonymous Coward

                なので リソースやらスタイルやら考えずに、StackPanelで並べればOKって話だよ。
                StackPanelの一番シンプルな(何も面倒なことせず部品並べるだけ)って構成にすれば、いわゆる箇条書き状態になる。
                ゲーム画面とか、凝った物はもちろん無理だが、世の中の入力画面やら結果画面とかは、だいたいStackPanelだけでいい。

                既存画面と同じレイアウトでという話ならCanvasで座標固定で配置すればいい。
                スタイルやリソース定義は楽をするために使うものであって、書かなきゃ出来ないようなものは何一つないぞ。

              • by Anonymous Coward

                特にStackPanelが一番っていう説得力はない。
                一番でもないし、Gridで覆われてる(WindowがStackPanelではない)、StackPanelつかったがために余白作ってる。

                StackPanelがうまく使えば便利なものだというのは知っているが、リンク先の最初のウィンドウは今ひとつ。
                二つ目は部分的なので効果的と言えなくもないけど。
                StackPanelは横に広がってしまうからね。最初のVisualStudioのプロジェクト作成ダイアログとかと比べればいい。

                「過去アプリのUIそのままで」っていう元々の話にも合わない。

                これは昔見か

              • by Anonymous Coward

                言ってることはわかる。ありがとう。
                でもその辺はもう通ったの。

                > スタイルやリソース定義は楽をするために使うものであって
                はわかるんだけど、その前でスタイルについて愚痴ってたのは、そのもう一個前で
                >>マージンはスタイルで一括指定して
                って言われたから。
                さらに、StackPanelを推されたけど、StackPanel使ってしまうとスタイルでマージンつけていくのが結構めんどくさい(左上位置もマージン入力したりしないといかんし、自由に動かないからね)様に思うっていうのが発端。

                > Canvasで座標固定で配置すればいい。
                Canvasだと左上は固定できる。Anchor相当があればこれでいいと思った。でもないという話をしていた。
                「それならCanvasにマージン固定する機能つけてくれればいいのにと思う。うーん、Gridで 1セルでとりあえず導入してしまうかなぁ。」

                Canvasで右下のマージンを簡単に固定できるならば教えて欲しい。

              • by Anonymous Coward

                GridはStackPanelを置くエリアを分けるために使うもの。
                Gridに通常のコントロール直置きはあまりやらない。

                その動画のやつはWPFで作れば楽だったろうに。無駄な労力使ってんなー。

              • by Anonymous Coward

                > Canvasで右下のマージンを簡単に固定できるならば教えて欲しい。

                えっと……。
                もしかして、Canvas.Right / Canvas.Bottomをご存じないのでしょうか?

                # Canvasなんて滅多に使うものじゃないと思う。StackPanelとかで詰め直した方が、後々楽。

              • by Anonymous Coward

                > えっと……。
                > もしかして、Canvas.Right / Canvas.Bottomをご存じないのでしょうか?

                えっと……。
                もしかしてCanvas.LeftとCanvas.Rightを同時に使えないのをご存知ないか、
                Gridセルなどでの右下マージン固定とかWinnFormsのAnchorの機能をご存知ないのでしょうか。

                > # Canvasなんて滅多に使うものじゃないと思う。StackPanelとかで詰め直した方が、後々楽。

                ・・・さすがにもう最初から読んでとしか言えん。

              • by Anonymous Coward

                あらあら、Anchorの話もでてるのにStackPanelしかでてこないとか、固定サイズのウィンドウしか作ったことないんだろうな。
                DockPanelすらでてこないとはね…。

                動画のやつはWPFじゃないのかよって思うのは確かだが、WPFだと楽ってことはないだろう。
                開閉のアニメーションとかの表現力が豊かなだけだからな。

                でなければどのサンプルはもっとリッチになるだろうよ。

          • by Anonymous Coward
            Anchor{Top|Bottom|Left|Right}プロパティを持ったPanelのサブクラスか添付プロパティか何かを自作してWindowのResizedイベントあたり拾って自分でMarginを設定し直す、というのが正攻法かなぁ・・・?
            • by Anonymous Coward

              そこまでするコストに見合ったメリットがないんだよなぁ

            • by Anonymous Coward

              そうねぇ、ただ別の回答もついているようにコストがね。

              一度作ってしまえばいいのだけど、
              (Gridを真似てMerginの固定で済ますにせよ)デザイナ周りとかどうなるのか見てみないとなんとも言えない。
              探せばありそうだし、どこで妥協するか次第ではあるけど。

              そんなこんなも含めて、CanvasはなんでMergin固定できるようにしてくれなかったのかと。

      • by Anonymous Coward

        MVVMだとバインディング先はドコ?を探すのにgrepに行き着く。
        CでWindow作ってた頃に退化してる💢

        整合性とか排他とか参照関係を厳密に管理するなら使わんほうがいいかも?

        #見た目だけ全力注がれてデータ整合性とか同期とか排他とか破綻してるやつ再設計ちゅー

Stableって古いって意味だっけ? -- Debian初級

処理中...