アカウント名:
パスワード:
許してください、まだまだ案件でWindows Formが多いんです…(過去アプリのUIそのままで機能追加・改修しろとか)
せめてWPF Canvasにアンカー相当があれば、段階的にというかいったんガラだけ移行して浸透させていくとかもできたかもしれないけど、
(MVVMとかは置いといて)WPFでサクッとツール作れず、デザイン移植しづらくて、アニメーションとか別に求めてないし、結果触れてる人も増えてこないので選択肢として出しにくいんだよな。
OSSとか世界向けだと見栄えも綺麗にしたくもなるけど、即日欲しいツールとか作るためにGridレイアウトとか調整してると時間がもったいなくなっちゃったりも。(変に凝るための)選択肢が少ないというのがむしろWinFormsのメリットになってしまっている気がする。
# それにしてもVS2019が.NET6サポートしないとは思わなかった。
WPFのレイアウタは、なにも考えなくても適当に配置して動くのが良いんでは?GridやCanvasなんぞ使わず、作るだけなら StackPanelだけでやればよろしい。
StackPanelはマージン切っていくのが大変。WinFormsもStackPanelだったやつならいいけど。
Canvasがある程度適当に配置して動くが、マージン固定ができない。
一応Gridで分割せずに1セルでやるのが一番近いんだが、それならCanvasにマージン固定する機能つけてくれればいいのにと思う。うーん、Gridで 1セルでとりあえず導入してしまうかなぁ。
マージンはスタイルで一括指定してイレギュラーなのは個別指定すればデザイナでチマチマ配置するよりもずっと楽でしょ
新規ならそれでいいけどね。いや、それでもWindowがStackPanelなのはあんまり想像できないんだけど。縦のスタックパネルで行ごとに横のスタックパネル積むとかか?
元コメのように、「過去アプリのUIそのままで」みたいな状況においての話なので、スタイル定義し始めると時間かかる(というか、そんな綺麗にスタイルで一括指定できる様になってないな)
とにかく開発のベースをWPFとかに持っていき、そこからWPFらしい形に直していくって感じで段階移行するのが狙いなので。習熟したメンバーが移行するわけではない。
それにWPFのスタイル…というよりはリソース定義が最初がめんどくさいしなぁ。リソースをもうちょい簡潔に描かせてくれりゃいいんだけど。
StackPanelは一番多用するだろhttps://qiita.com/Kosen-amai/i... [qiita.com]
なので リソースやらスタイルやら考えずに、StackPanelで並べればOKって話だよ。StackPanelの一番シンプルな(何も面倒なことせず部品並べるだけ)って構成にすれば、いわゆる箇条書き状態になる。ゲーム画面とか、凝った物はもちろん無理だが、世の中の入力画面やら結果画面とかは、だいたいStackPanelだけでいい。
既存画面と同じレイアウトでという話ならCanvasで座標固定で配置すればいい。スタイルやリソース定義は楽をするために使うものであって、書かなきゃ出来ないようなものは何一つないぞ。
特にStackPanelが一番っていう説得力はない。一番でもないし、Gridで覆われてる(WindowがStackPanelではない)、StackPanelつかったがために余白作ってる。
StackPanelがうまく使えば便利なものだというのは知っているが、リンク先の最初のウィンドウは今ひとつ。二つ目は部分的なので効果的と言えなくもないけど。StackPanelは横に広がってしまうからね。最初のVisualStudioのプロジェクト作成ダイアログとかと比べればいい。
「過去アプリのUIそのままで」っていう元々の話にも合わない。
これは昔見か
言ってることはわかる。ありがとう。でもその辺はもう通ったの。
> スタイルやリソース定義は楽をするために使うものであってはわかるんだけど、その前でスタイルについて愚痴ってたのは、そのもう一個前で>>マージンはスタイルで一括指定してって言われたから。さらに、StackPanelを推されたけど、StackPanel使ってしまうとスタイルでマージンつけていくのが結構めんどくさい(左上位置もマージン入力したりしないといかんし、自由に動かないからね)様に思うっていうのが発端。
> Canvasで座標固定で配置すればいい。Canvasだと左上は固定できる。Anchor相当があればこれでいいと思った。でもないという話をしていた。「それならCanvasにマージン固定する機能つけてくれればいいのにと思う。うーん、Gridで 1セルでとりあえず導入してしまうかなぁ。」
Canvasで右下のマージンを簡単に固定できるならば教えて欲しい。
GridはStackPanelを置くエリアを分けるために使うもの。Gridに通常のコントロール直置きはあまりやらない。
その動画のやつはWPFで作れば楽だったろうに。無駄な労力使ってんなー。
> Canvasで右下のマージンを簡単に固定できるならば教えて欲しい。
えっと……。もしかして、Canvas.Right / Canvas.Bottomをご存じないのでしょうか?
# Canvasなんて滅多に使うものじゃないと思う。StackPanelとかで詰め直した方が、後々楽。
> えっと……。> もしかして、Canvas.Right / Canvas.Bottomをご存じないのでしょうか?
えっと……。もしかしてCanvas.LeftとCanvas.Rightを同時に使えないのをご存知ないか、Gridセルなどでの右下マージン固定とかWinnFormsのAnchorの機能をご存知ないのでしょうか。
> # Canvasなんて滅多に使うものじゃないと思う。StackPanelとかで詰め直した方が、後々楽。
・・・さすがにもう最初から読んでとしか言えん。
あらあら、Anchorの話もでてるのにStackPanelしかでてこないとか、固定サイズのウィンドウしか作ったことないんだろうな。DockPanelすらでてこないとはね…。
動画のやつはWPFじゃないのかよって思うのは確かだが、WPFだと楽ってことはないだろう。開閉のアニメーションとかの表現力が豊かなだけだからな。
でなければどのサンプルはもっとリッチになるだろうよ。
そこまでするコストに見合ったメリットがないんだよなぁ
そうねぇ、ただ別の回答もついているようにコストがね。
一度作ってしまえばいいのだけど、(Gridを真似てMerginの固定で済ますにせよ)デザイナ周りとかどうなるのか見てみないとなんとも言えない。探せばありそうだし、どこで妥協するか次第ではあるけど。
そんなこんなも含めて、CanvasはなんでMergin固定できるようにしてくれなかったのかと。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー
よーしパパ、.NET 6 で Windows Formしちゃうぞー (スコア:0)
許してください、まだまだ案件でWindows Formが多いんです…(過去アプリのUIそのままで機能追加・改修しろとか)
Re: (スコア:0)
せめてWPF Canvasにアンカー相当があれば、段階的にというかいったんガラだけ移行して
浸透させていくとかもできたかもしれないけど、
(MVVMとかは置いといて)WPFでサクッとツール作れず、
デザイン移植しづらくて、アニメーションとか別に求めてないし、結果触れてる人も増えてこないので
選択肢として出しにくいんだよな。
OSSとか世界向けだと見栄えも綺麗にしたくもなるけど、即日欲しいツールとか作るために
Gridレイアウトとか調整してると時間がもったいなくなっちゃったりも。
(変に凝るための)選択肢が少ないというのがむしろWinFormsのメリットになってしまっている気がする。
# それにしてもVS2019が.NET6サポートしないとは思わなかった。
Re:よーしパパ、.NET 6 で Windows Formしちゃうぞー (スコア:0)
WPFのレイアウタは、なにも考えなくても適当に配置して動くのが良いんでは?
GridやCanvasなんぞ使わず、作るだけなら StackPanelだけでやればよろしい。
Re: (スコア:0)
StackPanelはマージン切っていくのが大変。
WinFormsもStackPanelだったやつならいいけど。
Canvasがある程度適当に配置して動くが、マージン固定ができない。
一応Gridで分割せずに1セルでやるのが一番近いんだが、
それならCanvasにマージン固定する機能つけてくれればいいのにと思う。
うーん、Gridで 1セルでとりあえず導入してしまうかなぁ。
Re: (スコア:0)
マージンはスタイルで一括指定してイレギュラーなのは個別指定すればデザイナでチマチマ配置するよりもずっと楽でしょ
Re: (スコア:0)
新規ならそれでいいけどね。
いや、それでもWindowがStackPanelなのはあんまり想像できないんだけど。
縦のスタックパネルで行ごとに横のスタックパネル積むとかか?
元コメのように、「過去アプリのUIそのままで」みたいな状況においての話なので、
スタイル定義し始めると時間かかる(というか、そんな綺麗にスタイルで一括指定できる様になってないな)
とにかく開発のベースをWPFとかに持っていき、そこからWPFらしい形に直していくって感じで段階移行するのが狙いなので。
習熟したメンバーが移行するわけではない。
それにWPFのスタイル…というよりはリソース定義が最初がめんどくさいしなぁ。
リソースをもうちょい簡潔に描かせてくれりゃいいんだけど。
Re: (スコア:0)
StackPanelは一番多用するだろ
https://qiita.com/Kosen-amai/i... [qiita.com]
Re: (スコア:0)
なので リソースやらスタイルやら考えずに、StackPanelで並べればOKって話だよ。
StackPanelの一番シンプルな(何も面倒なことせず部品並べるだけ)って構成にすれば、いわゆる箇条書き状態になる。
ゲーム画面とか、凝った物はもちろん無理だが、世の中の入力画面やら結果画面とかは、だいたいStackPanelだけでいい。
既存画面と同じレイアウトでという話ならCanvasで座標固定で配置すればいい。
スタイルやリソース定義は楽をするために使うものであって、書かなきゃ出来ないようなものは何一つないぞ。
Re: (スコア:0)
特にStackPanelが一番っていう説得力はない。
一番でもないし、Gridで覆われてる(WindowがStackPanelではない)、StackPanelつかったがために余白作ってる。
StackPanelがうまく使えば便利なものだというのは知っているが、リンク先の最初のウィンドウは今ひとつ。
二つ目は部分的なので効果的と言えなくもないけど。
StackPanelは横に広がってしまうからね。最初のVisualStudioのプロジェクト作成ダイアログとかと比べればいい。
「過去アプリのUIそのままで」っていう元々の話にも合わない。
これは昔見か
Re: (スコア:0)
言ってることはわかる。ありがとう。
でもその辺はもう通ったの。
> スタイルやリソース定義は楽をするために使うものであって
はわかるんだけど、その前でスタイルについて愚痴ってたのは、そのもう一個前で
>>マージンはスタイルで一括指定して
って言われたから。
さらに、StackPanelを推されたけど、StackPanel使ってしまうとスタイルでマージンつけていくのが結構めんどくさい(左上位置もマージン入力したりしないといかんし、自由に動かないからね)様に思うっていうのが発端。
> Canvasで座標固定で配置すればいい。
Canvasだと左上は固定できる。Anchor相当があればこれでいいと思った。でもないという話をしていた。
「それならCanvasにマージン固定する機能つけてくれればいいのにと思う。うーん、Gridで 1セルでとりあえず導入してしまうかなぁ。」
Canvasで右下のマージンを簡単に固定できるならば教えて欲しい。
Re: (スコア:0)
GridはStackPanelを置くエリアを分けるために使うもの。
Gridに通常のコントロール直置きはあまりやらない。
その動画のやつはWPFで作れば楽だったろうに。無駄な労力使ってんなー。
Re: (スコア:0)
> Canvasで右下のマージンを簡単に固定できるならば教えて欲しい。
えっと……。
もしかして、Canvas.Right / Canvas.Bottomをご存じないのでしょうか?
# Canvasなんて滅多に使うものじゃないと思う。StackPanelとかで詰め直した方が、後々楽。
Re: (スコア:0)
> えっと……。
> もしかして、Canvas.Right / Canvas.Bottomをご存じないのでしょうか?
えっと……。
もしかしてCanvas.LeftとCanvas.Rightを同時に使えないのをご存知ないか、
Gridセルなどでの右下マージン固定とかWinnFormsのAnchorの機能をご存知ないのでしょうか。
> # Canvasなんて滅多に使うものじゃないと思う。StackPanelとかで詰め直した方が、後々楽。
・・・さすがにもう最初から読んでとしか言えん。
Re: (スコア:0)
あらあら、Anchorの話もでてるのにStackPanelしかでてこないとか、固定サイズのウィンドウしか作ったことないんだろうな。
DockPanelすらでてこないとはね…。
動画のやつはWPFじゃないのかよって思うのは確かだが、WPFだと楽ってことはないだろう。
開閉のアニメーションとかの表現力が豊かなだけだからな。
でなければどのサンプルはもっとリッチになるだろうよ。
Re: (スコア:0)
Re: (スコア:0)
そこまでするコストに見合ったメリットがないんだよなぁ
Re: (スコア:0)
そうねぇ、ただ別の回答もついているようにコストがね。
一度作ってしまえばいいのだけど、
(Gridを真似てMerginの固定で済ますにせよ)デザイナ周りとかどうなるのか見てみないとなんとも言えない。
探せばありそうだし、どこで妥協するか次第ではあるけど。
そんなこんなも含めて、CanvasはなんでMergin固定できるようにしてくれなかったのかと。