X



WPF(.NET, WinUI) GUIプログラミング Part32

■ このスレッドは過去ログ倉庫に格納されています
2023/09/09(土) 07:02:56.33ID:xfSBfAyx
WPF(Windows Presentation Foundation)について語るスレ。

前スレ
WPF(.NET, WinUI) GUIプログラミング Part31
https://mevius.5ch.net/test/read.cgi/tech/1674334396/

関連スレ
Windows 10 UWPアプリ開発Part 3
https://mevius.5ch.net/test/read.cgi/tech/1627556967/

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
2023/11/06(月) 15:35:05.30ID:4ZLHxlIu
ModelがViewModelに直接依存してるから分離できてない
2023/11/06(月) 15:57:28.04ID:BEbbBug9
IProgressインターフェースってのが用意されているので
ググって使い方を調べてくださいね
2023/11/06(月) 19:45:45.19ID:GhSFe25X
IProgressインターフェースは皆に覚えてもらいたい便利なつかい方です
2023/11/06(月) 21:42:27.20ID:B8lBV6Je
>>132
reactとか学ぶと
フログレスとか実装も糞簡単なんで
しっこ漏らすと思いますよ

それでいて実装理論も進んでますからね
137デフォルトの名無しさん
垢版 |
2023/11/07(火) 12:00:08.76ID:28poJFAU
>>133
やっぱそうですよね
>>134-135
IProgress勉強してみます
ありがとうございます
>>136
ReactはJavaScriptですよね?
これ学んでも意味ないのでは?
2023/11/07(火) 14:51:07.83ID:aS0xC54I
おいおい(・ω・#)ノノ
139デフォルトの名無しさん
垢版 |
2023/11/10(金) 18:52:13.36ID:tJ5MUAs2
MaterialDesignThemesを.NET Framework4.6(Window10初期)で使いたいのですが、どのバージョンから何だろう?
2023/11/10(金) 23:30:29.55ID:GlPClrHj
VSのNuGet画面で確認取れるよ
最新バージョンは4.6.2ってことだ
2023/11/10(金) 23:48:04.06ID:l2fcJXGn
>>139
MaterialDesignThemes v4.6.0以降は.NET Framework4.6.2以降が必要なようだ
しかし、何でまたそんなに古くてレアな環境を
142デフォルトの名無しさん
垢版 |
2023/11/11(土) 06:39:34.17ID:gR4slrDn
>>140
>>141
書き方わかりにくくてごめんなさい。
.NetFramework4.6で(最初のWindows10 1507は4.6)動作するMaterialDesignThemesを希望です。
どんなWindows10でもインストール出来ることが条件なんです。
クライアントのPCはアップデートが出来ないだめです。
143デフォルトの名無しさん
垢版 |
2023/11/11(土) 06:42:13.25ID:gR4slrDn
>>140
NuGet画面で以前のバージョンを取得出来ますか?
初心者なんでよろしくお願いいたします。
2023/11/11(土) 07:44:22.71ID:c6vGERnh
ランタイムサポートにそんな空隙があったとは...
2023/11/11(土) 10:13:58.41ID:S3nNBSn8
>>142
そもそもそんな縛りのかかっている案件にオープンソースのもの入れて大丈夫なのかが気になるわ
2023/11/11(土) 11:30:35.16ID:vbI3i7Vz
>>143
VS少し触ったら分かることなので、それくらい自力で頑張ろうや
2023/11/11(土) 11:35:20.41ID:02ULjQqy
ワシNuGetのことずっとナゲットだと思ってたわ
2023/11/11(土) 11:36:02.80ID:Kt4K6QRG
>>142
そもそもサポート切れOSなんか使うなとしか言えん。
2023/11/11(土) 12:12:10.89ID:wxiCP7Qj
>>142
MaterialDesignThemes v4.6.0以降はNG
→MaterialDesignThemes v4.5.0なら使える

そんな保守的な会社が最初期のOSを使うとは思えないけどなぁ
Anniversary Update (1607)以降なら.NET Framework 4.6.2以降が入ってるのに
150デフォルトの名無しさん
垢版 |
2023/11/11(土) 15:03:26.33ID:gR4slrDn
>>146
触ったらわかりました。
バージョン変えて依存関係も確認出来ることを知りました。
151デフォルトの名無しさん
垢版 |
2023/11/11(土) 15:35:27.33ID:gR4slrDn
>>149
ありがとうございます。
MaterialDesignThemesを4.5.0で
MaterialDesignColorsを2.0.6もインストールされました。
ビルドするとApp.xamlが4.9.0のままにしてるのが駄目なようでMaterialDesignColorsのところでエラーになります。
その行を外すと実行出来るのですがモノクロになります。
152デフォルトの名無しさん
垢版 |
2023/11/11(土) 16:34:50.99ID:gR4slrDn
>>151
App.xamlのエラーですが、
System.Windows.Markup.XamlParseException: ''プロパティ 'System.Windows.ResourceDictionary.Source' の Set で例外がスローされました。' 行番号 '11'、行位置 '18'。'
と出て11行は<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.DeepPurple.xaml" />です。
例外の詳細は
FileLoadException: ファイルまたはアセンブリ 'MaterialDesignColors, Culture=neutral'、またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ参照に一致しません。 (HRESULT からの例外:0x80131040)
となっています。
どうしたらよいのでしょうか?
153デフォルトの名無しさん
垢版 |
2023/11/11(土) 16:50:57.08ID:p/EVZGa2
古い環境の話聞いてるとデジタル後進国を実感する
154デフォルトの名無しさん
垢版 |
2023/11/11(土) 18:29:58.45ID:gR4slrDn
>>149の通り、1607の2016年以前のPCは恐らく社内に無いはずと情シスに確認して、.NetFramewokは4.6.2で行きます!
155デフォルトの名無しさん
垢版 |
2023/11/11(土) 19:05:33.35ID:gR4slrDn
MaterialDesignとは別の質問です。
WPFのデザインをGridを多用しています。各区画はStackPanelで縦か横の配置となるのですが混在は出来ないのでしょうか?
例えば
[Label1] [TextBox1]
☑[Label2]
の様な配置です。

WPFやる前はAndroidアプリをやっていてconstraintlayoutを使ってWidget(コントロール)を相対的に配置していました。

上の例であれば[Label2]の開始横位置は[Label1]の右端から、開始縦位置は[TextBox1]の下と言う感じです。

AndroidでもLinearLayoutがStackPanelと同じ機能ですが、constraintlayoutが流行っているようです。
2023/11/11(土) 22:06:05.74ID:wxiCP7Qj
DockPanelは上下左右を指定して順番に配置していける
constraintlayout程細かなことは出来ないけど
157デフォルトの名無しさん
垢版 |
2023/11/12(日) 06:42:23.23ID:GLzdbSyD
>>156
DockPanelで列の初めを揃えるとか出切ればと思ったけど、そういう時は枠を非表示にしたDataGridを埋め込めば良いのかなぁ?
でも、Labelだけなら良いけどコントロールを貼り付けるのは面倒な気がする。
TabControlもTab毎にGrid設定出来るし、
GridSplitterは魅力的です。
あれこれ考えても進まないから、勉強しながらWinformからWPFへ移行します。画面デザインだけでMVVMには関係ない使い方で趣旨には合わないですが。
2023/11/12(日) 17:58:17.91ID:07KbSmZg
Avalonia11、マルチプラットフォームで
デスクトップアプリ作るならもうこれで良いやんって感じなんだけど
ブラウザコントロールがネックだ。
msは以前WebView2はマルチプラットフォーム対応にするとか言ってなかったっけ?
あれどうなったんだろ。
2023/11/12(日) 18:51:40.90ID:W7tYjIbb
>>158
ちょうどMAUI以外のフレームワーク覚えたいなって悩んでるとこだったから、俺もAvalonia触ってみようかな
MAUIと比べてどういうとこがいい?
160デフォルトの名無しさん
垢版 |
2023/11/12(日) 19:34:33.91ID:fuW7AM5d
枠がなくて背景が透明でマウスホバーで色が変わるボタンはどのように作れますでしょうか
ラベルなしのAppBarButtonのようなイメージです(AppBarButtonのラベルなしにしてもラベルのスペースが残ってしまいます)
Buttonの背景をTransparentにしてもできませんでした
HyperLinkButtonで色を黒にするとイメージ通りのものができていそうなのですが他に正攻法のようなものはありませんでしょうか
2023/11/12(日) 21:45:18.39ID:Sq4B63JT
>>155
WrapPanelで自作改行コントロールを使うのが楽
2023/11/12(日) 22:25:29.48ID:XKLRuMqt
>>155
StackPanelの代わりにGrid入れ子にすればできそうだけど、面倒そう
163デフォルトの名無しさん
垢版 |
2023/11/13(月) 00:21:40.83ID:tUJ1LeIT
>>159
標準でDataGridがある、MacOS対応がCatalystじゃない(mono)、そこそこよく出来たMaterialDesign/FruentUIのポートライブラリがある(個人的オススメはFruentAvalonia)
MAUIよりはWPFに近いXAMLとか
最近VSCodeの拡張が出たので一気に生産性上がった
164デフォルトの名無しさん
垢版 |
2023/11/13(月) 02:44:13.10ID:yuNPEPms
AutoSuggestBoxの高さなんですが、高さを指定しないと上段1個目のように親要素の高さになりますが、数値を指定する以外にフリーの状態の高さ(下側のもの)にする方法はありますか?
https://i.imgur.com/XRguc77.png
https://i.imgur.com/eWwHNx3.png
```
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<Border Height="80" Width="100" Background="Blue"/>
<AutoSuggestBox Width="300" PlaceholderText="Test" Background="Red"/>
<AutoSuggestBox Width="300" Height="50" PlaceholderText="Test" Background="Red"/>
<AutoSuggestBox Width="300" Height="20" PlaceholderText="Test" Background="Red"/>
</StackPanel>
<AutoSuggestBox Width="300" PlaceholderText="Test" Background="Red"/>
</StackPanel>
```
165あぼーん
垢版 |
NGNG
あぼーん
2023/11/13(月) 13:00:30.09ID:WkpmYU1E
>>165
友人にも教えてくるわ
2023/11/13(月) 13:33:46.02ID:l/Hz0p/t
WPFでリアルタイムの折れ線グラフを長時間更新し続ける場合、どのグラフライブラリがいいのかな?
ScottPlotでSignalPlotを使ってみたけど、時間が経つと重くなってしまいました。
更新方法は画面端で一度クリアでも、疑似スクロール(画面端で新しいポイント追加+画面外になるポイント削除)のどちらでもいいです。
2023/11/13(月) 13:43:48.91ID:WnK0a2pl
そういえば昔レートをリアルタイム表示するグラフをWPFで作ってたな
懐かし
2023/11/13(月) 14:30:29.70ID:Qzbz63RT
issue見るとWinUI 3のx:Bindって前からメモリリークしまくってんだな
2023/11/13(月) 16:14:37.83ID:Mm6vXXAa
>>165
わざわざありがとう
171デフォルトの名無しさん
垢版 |
2023/11/13(月) 17:41:13.20ID:TQTY2tsD
WinFormsで特定のセルにボタンとかコンボボックスを設定していました。
DataGridView.Rows[row].Cells["special"] = new DataGridViewButtonCell();
行毎に特定セルの設定は異なります。
WPFではどうするのでしょうか?
2023/11/14(火) 12:06:48.66ID:cwfumugc
セルテンプレートに変化する分のアイテムを全部入りにしておいてビジビリティで見せる見せないとか?
まあきちんとしたカスタムコントロールを書いた方がいい気もする
173デフォルトの名無しさん
垢版 |
2023/11/14(火) 17:08:02.40ID:X9fXJOLH
>>172
ありがとう。
セルテンプレートで出来ました。
174デフォルトの名無しさん
垢版 |
2023/11/14(火) 19:30:43.26ID:kJzUoBem
>>164のほうもお願いします!
2023/11/14(火) 22:20:54.39ID:UKbUiEuP
最近、JavaでWEBアプリばっかやらされてたから浦島太郎何だが、.netってか、visual studioで業務アプリ作るなら何がオススメ?
売上の入力とかやるから明細入力が必須何だが
2023/11/15(水) 14:52:39.81ID:qWxRilfp
>>175
業務ならそれWebアプリじゃね?
2023/11/15(水) 19:23:06.47ID:pm0GDOPI
今は.net6がブレイクして猫も杓子もBlazorな感じだね、8でどうなるか知らんけど
donetコマンドあればVSCodeで開発できるVisualStudio要らない、という風潮はしばらく続くかな
2023/11/16(木) 05:57:44.75ID:bqy6OpqC
どうせWebで動かすならフロントエンドもTypescriptでええやんってなっちゃうんだわ。わしゃもう帰ってこれなくなっちゃった
179デフォルトの名無しさん
垢版 |
2023/11/16(木) 08:12:47.93ID:I9G/jlW7
WinUI3ってWPFにくらべてスカスカデザインすぎね?
従来通り高密度のデザインにしたかったら使えないのか
2023/11/16(木) 10:42:49.77ID:CWZfpvny
Appleの丸パクりだからね
181デフォルトの名無しさん
垢版 |
2023/11/16(木) 12:08:19.45ID:4eRNc+vF
高密度に変えるのはある
182デフォルトの名無しさん
垢版 |
2023/11/16(木) 18:38:44.66ID:I9G/jlW7
そうなん?
2023/11/16(木) 18:42:08.96ID:bpOf/S1f
コンパクトモードってやつでしょ
ただ一部のコントロールしかコンパクトにならず
いまいち
2023/11/16(木) 21:04:09.85ID:bpOf/S1f
3.16キター
https://medium.com/flutter/whats-new-in-flutter-3-16-dba6cb1015d1

でも、しょぼ
185デフォルトの名無しさん
垢版 |
2023/11/17(金) 20:18:58.55ID:5R3/SvH4
.NET 8でWPFにOpenFolderDialogが追加されたらしい
2023/11/17(金) 20:26:03.00ID:xkeq+/qK
今更かよw
しゃーないからずっとFormsのフォルダダイアログ使ってたわ
2023/11/17(金) 20:36:50.36ID:dfpiw+/X
1.43らしきものが来たけど、ドキュメント更新されないから詳細不明だ
2023/11/17(金) 21:08:55.30ID:4r+WO3JC
キターしようと思ったら先こされた

Release notesは1日ぐらいまたないと
いつもnugetが先
2023/11/17(金) 21:13:33.99ID:xSwBggZf
今時分ネイティブでUIとか作らんでしょ
2023/11/17(金) 21:13:51.67ID:4r+WO3JC
つか、WPFのWindows 11テーマ全然情報出てこねぇ
2年かかるのかよ
MSクソ
191デフォルトの名無しさん
垢版 |
2023/11/17(金) 21:54:30.58ID:5R3/SvH4
お客様はOSに合ったUIを求めてるからな
例えば、Mac操作しててWindowsアプリの画面出てきたら発狂するわけです
192デフォルトの名無しさん
垢版 |
2023/11/17(金) 22:11:09.53ID:gn4gOY1V
WPFのWin11テーマってそれWinUI3でわ?
しらけんど
2023/11/17(金) 22:32:43.16ID:4r+WO3JC
https://github.com/dotnet/wpf/discussions/7555

WPFのモダン化ということでここでみんなで投票したやん
で、Windows 11スタイルと>>185のFoldetDialogが決まったやん
194デフォルトの名無しさん
垢版 |
2023/11/17(金) 23:53:20.78ID:AMrcaR8O
WPFのテーマは散々やらないやらないしてたのにやるのか
2023/11/18(土) 00:52:20.22ID:R5ZfmNal
どうせすぐに放棄される
MSのUIフレームワークは短命
2023/11/18(土) 13:51:50.63ID:5MckQHFy
短命だったUIフレームワークってSilverlightとWTLのこと?
2023/11/18(土) 19:16:10.55ID:jgo60L6B
SilverlightはWPFのサブセット/軽量版だね
2023/11/18(土) 19:17:14.67ID:jgo60L6B
WPFもまたブラウザー内で動作できたぞ
今は出きるのか知らんけど
2023/11/18(土) 19:49:41.65ID:M+7/B7Dn
藍澤光ちゃん…
2023/11/20(月) 11:14:05.40ID:2iUnvZzG
>>191
お客様「アプリのフォントをMacと同じヒラギノフォントにしてくれ」
俺「◯◯万円かかりますので、お見積りを出しますね」
お客様「ならいいです」
2023/11/20(月) 18:53:32.57ID:wA9B/In5
javafxってのがあったな
2023/11/20(月) 19:27:17.84ID:bz3bh9Up
javafxちょっとだけ入門したわ
2023/11/21(火) 20:30:24.03ID:cTWE425G
.NET8になってフォルダダイアログが追加された
要望が増えるとカラーダイアログとか増えていくのだろうか?
2023/11/22(水) 12:13:20.58ID:gLKXc4SI
https://forest.watch.impress.co.jp/docs/news/1548798.html
Visual Studioって何でつくられれるん?
2023/11/22(水) 13:11:19.35ID:o55c46nB
ほんとFluentは無駄スペース多すぎのゴミ
2023/11/22(水) 18:25:39.26ID:byVwE4oE
17.8でビルド時間が伸びた
207デフォルトの名無しさん
垢版 |
2023/11/22(水) 22:26:42.92ID:+Q9HiF39
WinSCPのGUIってなんのフレームワークですか?
2023/11/22(水) 22:31:48.76ID:ZUIGvND3
>>204
良くあるFluentと見た感じが違うのは独自コントロールなのかな
209デフォルトの名無しさん
垢版 |
2023/11/23(木) 02:47:54.08ID:SjpgrI+d
Template Studioが.NET 8に対応してくれるのってかなり先になるのかな
2023/11/23(木) 15:57:11.76ID:Vk8rVqtX
どうでもいいけどUIデザインころころ流行らされても開発者的には迷惑でしかないよな
FlatだのMaterialだのFluentだのどうでもええんじゃ
211デフォルトの名無しさん
垢版 |
2023/11/23(木) 18:08:48.24ID:SjpgrI+d
でもそれ10年間隔くらいじゃね
2023/11/23(木) 19:02:48.84ID:5vbK66gT
でも使った瞬間に古さを感じるようなGUIがある
今の見にくくて使いにくいGUIの流行りが無くなればいいのにと思うけど
2023/11/23(木) 19:11:03.74ID:djXM7jeT
>>212
そう?FluentUIは(慣れたので)割と直感的だけど
VSが採用したので長期政権(今から最低10年)になると期待しているよ
2023/11/23(木) 19:20:01.23ID:5vbK66gT
見た目リンクなのかタダの文字装飾なのかわからんGUIはダメだと思う
リンクにしても外部のwebへ誘導されるのかアプリ内なのかも遷移するまでわからない
2023/11/23(木) 19:23:32.42ID:kHw4Tjrt
それってWinUI 3 Galleryアプリだと何処の事?
2023/11/23(木) 19:30:35.95ID:5vbK66gT
クリック遷移する前に外部リンクか内部なのかわかるパターンを最近多分見たことがない
困ったときにアプリで何らかの対応をしてくれるのか
それとも一般的なヘルプに飛ばされるのか

オンラインヘルプは大体ヘルプになってないから死ねって思う
2023/11/23(木) 19:40:14.01ID:kHw4Tjrt
具体例がないと何とも
Filesアプリだとわかりやすい
https://i.imgur.com/d9xTj5k.png
2023/11/23(木) 19:41:45.64ID:5vbK66gT
windows10の設定だと上の方に普通の項目があって下の方にwebのヘルプ項目がある

ディスプレイだと上部に
ディスプレイの詳細
グラフィックの設定
と言うただの文字

下の方にwebのヘルプと言うタイトルの下に
プロジェクターまたはPCに接続する
複数のモニターをセットアップする
フォントサイズの調整
画面のちらつきを修正する
こちらもただの文字

にしてもこれ典型的なダメGUIだよな
オンラインヘルプと実際のやりたいことへ誘導は逆であって欲しい
ヘルプへは抽象的に、機能へは具体的に
2023/11/23(木) 19:52:14.80ID:5vbK66gT
全てのPCが常にwebに接続できると言う固定概念がアホすぎる
2023/11/23(木) 19:52:25.48ID:kHw4Tjrt
へーwindows10とwindows11はかなり違うんだ
windows11は区別つくわ
2023/11/23(木) 19:54:31.22ID:5vbK66gT
たしかwin7辺りまで区別はついたと思う
win8の辺りからメトロとか入りだしてゴミ化した
2023/11/23(木) 19:55:03.13ID:kHw4Tjrt
設定アプリでは外部リンククリックで
既定のブラウザじゃなくてEdgeに飛ばされるのが不満ではあるけど
2023/11/23(木) 20:01:36.43ID:kHw4Tjrt
まあ今後はwindows10でのFluentと言ってもらえると誤解が少ない
2023/11/23(木) 20:16:00.62ID:5vbK66gT
Fluentデザインでリンクする場合の推奨事項はいくつか書いてあるけどそれはだいたい守られていない
実装者の裁量に任されている

外部にナビゲーションする場合にどうしろとも言及されていない

リンクとボタンと機能があいまいになっていて
更に機能的に内部のナビゲーションでも文字だけになってる

設計の思想が曖昧過ぎる
ダメGUIができる
2023/11/23(木) 22:03:16.08ID:St9sc7zX
>>224
つべこべ言わずにwin11使えよ全ては直感が導くから
2023/11/23(木) 22:55:34.42ID:5vbK66gT
>>225
自分のメインマシンはwin11
一部移行できないノートがwin10

win11の設定でもクリックするまで外部のナビゲーションなのかツールなのかどうかわからない項目がある

青文字だと外部へのリンクかと思わせといて
サウンドのトラブルシューティングは内部のツールを呼ぶ
ボタンにしとけと思うが…

MSは意図的なのかどうかわからないけどそこの所のポリシーが一貫してない
Fluentデザインでも規定されていない
2023/11/23(木) 23:41:39.35ID:iyAeR1yU
横から脱線ですが
>>226
>サウンドのトラブルシューティングは内部のツールを呼ぶ
これが前々から設定アプリの一部で使われていると言われているReact Native画面ですか?
228デフォルトの名無しさん
垢版 |
2023/11/24(金) 00:47:50.20ID:cTioNKTp
ボタンの右側に外部へ飛ばすアイコンみたいなの付けたらいいと思う
2023/11/24(金) 08:43:01.17ID:qSlslXmJ
論点ずらししかして来ない奴らばかりw
2023/11/24(金) 12:17:54.05ID:4R9pyOqc
勝手に一人でみんが脇見もせずに一つ論点を議論する場だと思う馬鹿もいるしw
231デフォルトの名無しさん
垢版 |
2023/11/24(金) 12:31:14.58ID:rg6IFp4w
DataGridでヘッダー行だけスクロールしない方法ありますか?
2023/11/27(月) 23:44:29.53ID:3HD6n80I
久しぶりに触ったけど
ListBoxの右クリメニューからの追加テンプレートの編集>生成されたアイテムの編集>現在のアイテムを編集が選択できなくなってるのはなぜ???
他は編集できるのに…
■ このスレッドは過去ログ倉庫に格納されています