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

■ このスレッドは過去ログ倉庫に格納されています
2021/09/19(日) 18:43:39.82ID:9XIs1/Nq
WPF(Windows Presentation Framework)について語るスレ。

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
2デフォルトの名無しさん
垢版 |
2021/09/19(日) 19:45:47.60ID:ox+lFfTn
O2
3デフォルトの名無しさん
垢版 |
2021/09/21(火) 04:00:42.69ID:8J4bCxP9
Rust で開発した勇者いる?
2021/09/21(火) 10:13:30.05ID:arVa5r/H
今の所Windows App SDKに画面デザイナーは無いみたいだね。
Xamlライブプレビューのみ。
まあプレビューあれば十分か。
2021/09/21(火) 13:03:31.18ID:Z616Kpx3
Ctrl+Sしなくても即反映されるし、マルチディスプレイなら特に困らないよね
2021/09/22(水) 15:31:06.25ID:bsvAq6LP
WPFで動画のプレイヤにするのにシークバーなど使いやすいものありますか?
2021/09/22(水) 16:55:36.65ID:17vnvb0Y
MediaElement
2021/09/24(金) 08:42:21.67ID:QDMTWgEV
デフォルトで入ってるやつか…

WPFMediaKitのMediaUriElementを使っていたのだが急に動かなくなったのよね
2021/09/24(金) 08:52:21.18ID:lm8/dmzt
WebViewだろうね
WPFを使う意味があるかはともかく
2021/09/24(金) 09:53:30.84ID:QrKyvyMU
WebView2?
2021/09/24(金) 10:49:48.03ID:GTi1Ed7C
>>8
https://qiita.com/marksard/items/24163ca605dc95556016
VLCのコントロールが使える模様
俺は試していないが頑張れ
2021/09/24(金) 12:38:31.07ID:+RVxkNW4
>>11
結局VLCにしたんだけどMediaUriElementで出来ていたパラメータのbindingが出来なくて結構変更することになった
なんで使いやすいプレイヤ知ってたら教えて貰おうかと
2021/09/25(土) 00:57:31.87ID:/EdXTBH/
WPF-MediaKitもVlc.DotNetも古くてLibVLCSharpが推奨なのでは、知らんけど
https://code.videolan.org/mfkl/libvlcsharp-samples
2021/09/25(土) 12:26:26.31ID:88LJBDq+
>>13
ほー使ったことないな
今度なんかあったら試してみる
2021/09/26(日) 00:59:05.90ID:hnLj2RjB
WinUI3まだー?
16デフォルトの名無しさん
垢版 |
2021/09/27(月) 12:55:19.28ID:NYWmPD2Y
drawingContext.DrawLine(new Pen(Brushes.Black), 1), new Point(0, 0), new Point(0, 100));
drawingContext.DrawRectangleBrushes.Blacknull, new Rect(0, 0, 1, 100));

この二つって全く同じ個所に縦線引かれると思ったらDrawLineの方が左に1づれるんだけど仕様?
2021/09/27(月) 14:17:54.92ID:NYWmPD2Y
DrawLineとDrawRectangleの差じゃなくてBrushとPenの差か
DrawLineのBrush版があればなぁ
2021/09/27(月) 16:08:58.41ID:xaSuQemP
それはwindows系であるRectangleの仕様
Rectangleの場合、下、右は含まれない
19デフォルトの名無しさん
垢版 |
2021/09/27(月) 16:13:11.14ID:xaSuQemP
厳密には知らんがそんな感じだと思った*
2021/09/27(月) 16:21:02.35ID:NYWmPD2Y
>>18
いや、DrawRectangle同士でも

DrawRectangle(Brushes.Black, null, new Rect(0, 0, 1, 100));
DrawRectangle(null, new Pen(Brushes.Red, 1), new Rect(0, 0, 0, 100));

こうするとそもそもxの起点位置が違うんよ
下の赤線の方が1つ左にズレて-1位置に描かれる
2021/09/27(月) 17:35:29.70ID:kU8huA04
今のwinui、バインド関連のバグ多くない?
せっかくなら新しいの覚えながらやりたいと思ってwinuiで作ってたけど、使用に耐えるものを作れそうにない
UI部分wpfに差し替えようかな

素人がプレビュー版なんて使うんじゃなかったわ 自分じゃどうにも改善できねえ
2021/09/27(月) 18:37:11.61ID:xaSuQemP
>>20
そうなんだごめんよ
>>21
でも、WPFにすると見た目がダサくならんか??
WPFにすると見た目がダサくなるが安定
WinUI3にすると見た目がおしゃれだが、ちょっと不安定
23デフォルトの名無しさん
垢版 |
2021/09/27(月) 18:39:27.60ID:xaSuQemP
まぁ、WinUIとか定期的に更新してくれるからバグ報告すりゃそのうち直る可能性高いけど、ユーザー少ないからバグを自分で踏んで報告する羽目になる..
2021/09/27(月) 19:12:05.92ID:Aa8uOS44
>>22
modernWpfUI使えば大体似た見た目にはできるから、もういいかなって
2021/09/27(月) 19:25:35.38ID:Aa8uOS44
21です(23も俺)

過去にWinFormで作ったソフトをWinUIで再構築しようとしてたんだけど、新しいことやってみたい気持ちだけでWinUI使ってた
正直今背伸びしてまで使うメリットが自分には見えないんだよなー

WinForm→WinUIも
WinForm→WPFも
ユーザー目線だとそんな変わんないんじゃねって思う(WPFはUIのライブラリ使って現代風の見た目にすれば)
2021/09/27(月) 19:26:44.43ID:Aa8uOS44
ごめん21,24,25が俺ね
どうでもいいことで連投すまん
2021/09/27(月) 20:38:54.92ID:xaSuQemP
>>24
俺もmodernwpf 使ってたけど、win11スタイルはまだだし
NavigationViewとか階層メニューまだっぽいし
やっぱ、個人じゃきついよなーとか
28デフォルトの名無しさん
垢版 |
2021/09/27(月) 20:42:51.67ID:xaSuQemP
WPF+ModernWPF

WinUI
で似たアプリ2つ同時に作りながらやってるわ
最終的にWinUI一本に絞ると思うけど
29デフォルトの名無しさん
垢版 |
2021/09/27(月) 20:54:34.65ID:xaSuQemP
> ユーザー目線だとそんな変わんないんじゃねって思う(WPFはUIのライブラリ使って現代風の見た目にすれば)

たぶん、そうだと思うけど(とりあえず、ライトとダークあれば)

俺はそこだけは変にこだわってるから

ちょうど数時間前もWPF+ModernWPFで、CommandBarじゃなくてWPFのToolbar使いたくてでもModernWPFでToolbarはスタイリングされないから頭抱えてた

まぁ、自分でスタイリングする能力ないんで..
2021/09/27(月) 22:47:47.96ID:LVIsrHah
>>26
1.0 Preview1も駄目?
2021/09/28(火) 06:42:23.50ID:7CUpdHu/
>>30
あー、もうそんなの出てたんだね
そういえばgithubのバグ報告のページで「1.0.0でも起こるけどまだ直ってないんか?」みたいなコメントしてた人いたわ 見たときはなんのことだと思ったけど

だめっぽいけど一応試してみるかー
2021/09/28(火) 12:37:34.11ID:jju60wXc
>>25

>WinForm→WPFも
>ユーザー目線だとそんな変わんないんじゃ

開発者目線だとWPFのが作るのが楽(MVVM、非MVVM関係なく)だからWPF使ってる。
受け入れられやすいようにWinFormっぽい見た目に変えてる。
2021/09/29(水) 08:28:02.15ID:GOP9Dp1g
悲報、WinUI3、ウィンドウのHeight, Widthプロパティ無し

ウィンドウサイズに依存したWinFormみたいな糞アプリを作れなくなるからこれはこれでいいのかも。
いやでも初期サイズぐらいは設定したい。ウィンドウサイズ固定はできなくていいけど。
2021/09/29(水) 08:54:21.60ID:O+WbcMkB
MinWidthとかもないのかな?
2021/09/29(水) 09:38:32.22ID:hXKTXicB
前回のウィンドウ位置・サイズ・位置を記憶しておいてほしいって要望は結構あるからなー。
PInvokeでなんとかなるんだろうか。
2021/09/29(水) 09:44:24.58ID:hXKTXicB
ライブラリはあるからそれで我慢するしかなさそう
https://github.com/dotMorten/WinUIEx/
2021/09/29(水) 10:33:25.99ID:hdmEo5v3
>>33
いちおうサイズや最大最小ボタンの無効化とかを設定できるAPIがある
実際俺が作りかけてるソフトでも初期ウインドウサイズだけ変えてるけど問題なく使えてる
今ちょっと名前は忘れたんだけど、API紹介してるマイクロソフトのページを見ながら実装したと記憶してるので、探せばでてくると思うよ

正直標準でついててほしいけどなあ
2021/09/29(水) 10:34:57.02ID:hdmEo5v3
俺が使ったのは>>36のと違うやつだけど、36のほうが使いやすそう
2021/09/29(水) 13:31:20.42ID:SjiJdI8Y
winui 0.8で作ったやつそういやはじめてnull許容参照型有効にしてみたんだけど、コンパイルエラーでなく警告しかでないの?

null非許容参照型にnullf代入できちまうわ
2021/09/29(水) 13:50:46.96ID:+vfkIeDq
これかな
https://github.com/dotnet/msbuild/issues/6088
2021/09/29(水) 14:34:19.08ID:+vfkIeDq
違うかも、元々警告だった気がする。
エラーだと影響でかすぎるから。
42デフォルトの名無しさん
垢版 |
2021/09/29(水) 17:03:33.12ID:pb5Ym/dQ
初期サイズこそOSに任せたほうがよくないか
2021/09/29(水) 18:59:25.74ID:VwMtEVzw
警告をエラーにするオプションは?
2021/09/29(水) 20:58:16.79ID:DtpEbdQZ
winuiいまいちだな・・・
2021/09/29(水) 22:03:25.40ID:pdK7LZ21
>>44
3世代目で使い物になるのがMSのお約束
2021/09/30(木) 00:17:53.55ID:3U3ppoE9
使えるようになる頃にオワコンと言われるMS……
47デフォルトの名無しさん
垢版 |
2021/09/30(木) 00:25:47.23ID:YPQ+W3Ke
WinUIは3やで
2021/09/30(木) 06:03:19.53ID:5Bjzv+OV
実質WinUI 3(Windiows App SDK 1.0)がバージョン1だから。
まだストアアプリ臭が抜けてなくて、デスクトップアプリとして見ると
「は?こんなこともできないの?」ってレベル。
2021/09/30(木) 07:55:01.00ID:V9jR/S3x
使えるうんぬんより、マイクロソフトがストアで商売したがってるイメージ
また変なの考案するより鍵屋した方が手っ取り早いのに
2021/09/30(木) 14:07:51.32ID:l65pxKZX
ストアはもう諦めてるだろ
諦めてるから開放した
2021/09/30(木) 19:46:10.00ID:Ug+arU8W
てかもうMS自身が自社フレームワーク諦めてElectronとか利用してんじゃん
2021/09/30(木) 20:07:27.48ID:zVzNCdtO
新Teamsからはelectron脱却してWebView2行くんでは?
2021/09/30(木) 20:21:22.07ID:l65pxKZX
でも、一部のクロスプラットホームアプリだけだろ??
電卓に始まってペイントやらフォトビューワとかもろもろはelectronとか使ってないだろ??
2021/09/30(木) 20:26:42.56ID:URu2/Q9n
もうos周りのアプリだけだろうね
一般のアプリは、
Webかスマホかに二分される時代だし
55デフォルトの名無しさん
垢版 |
2021/09/30(木) 20:28:19.61ID:l65pxKZX
まぁ、xamarin(maui)はMicrosoftも諦めてて、microsoftの他の部門であえてこれらを使わないと思うが
2021/10/01(金) 10:43:29.25ID:iSJ4hQHP
MAUI(=Xamarin)使うぐらいなら普通はFlutter使うわな
2021/10/01(金) 15:27:55.77ID:gzQL+yLO
そうなの?
2021/10/01(金) 15:58:19.68ID:3yqFz9yL
VisualTreeHelperというのがありますが、
勉強する価値があるかないか、そしてその理由を教えて下さい。

Visual StudioのXAMLエディターでツリーが見れるようになったので、
今は無用の長物でしょうか?
2021/10/01(金) 16:27:12.58ID:b8RMXs3B
アプリって言うと
昔はデスクトップアプリを指してたんだけど、
今じゃスマホのアプリの事だもんな

さらにwindows11で
アンドロイドアプリがPCで動くようになると、
もう価値がなくなるんでは無かろうか?
2021/10/01(金) 17:03:56.46ID:hHr0ZnR0
Microsoftがスマホでも勝者になってる世界線にいたら、今はみんなxaml使ってたのだろうか ガクブル
2021/10/01(金) 17:08:46.75ID:D1J8zmF5
>>60
Androidも画面定義はXMLだから似たようなもんだよ
2021/10/01(金) 17:18:42.15ID:3yqFz9yL
>>59
自分へのレスですか?
2021/10/01(金) 17:19:52.97ID:hHr0ZnR0
android系では去年からもうflutterでコードベースの宣言的UIやってるし、android/kotlinでもjetpack compose使い始めたし、今年に入ってからxml一切触ってねぇわ
2021/10/01(金) 17:31:51.92ID:hHr0ZnR0
他は進化してるのに、今年正式にリリースされるUIフレームワークでもまだxaml??
絶望だろ
cometは実用になってるのか知らんが

つか、avalonia UIとUnoPlatformとか、Microsoftがしっかり方向性示さなかったからみんなで戦力分散してみんなで自滅してるよな..
2021/10/01(金) 19:19:18.74ID:moK98JZN
UIをXMLで記述するのは筋は良いよ。
ただツール側が大変。
だからXML止めたところは単なる妥協。
2021/10/01(金) 19:24:01.74ID:Utvf4DLW
逆だよ。XMLの方がツールは作りやすい。
でも頑張って高機能なツールを用意するより、手書きの負荷を下げてツールは最低限プレビューするだけの方が、
開発者にとってもツール側にとっても楽であることに業界が気付き始めた
2021/10/01(金) 20:09:22.18ID:b8RMXs3B
CSSのほうが次元が違うぐらい凄いぞ
XAMLじゃマシなUIは作れん
画像はるしか方法がない
そするとアニメーション出来ないけど...
2021/10/01(金) 20:23:02.15ID:x1xpreRL
もうFlutterでよくね?
2021/10/01(金) 20:28:56.74ID:Utvf4DLW
XAMLはWYSIWYGなツールで編集することを大前提として設計されている上、GUIフレームワークのオブジェクトモデルの設計にも引っ張られるから、
処理系として出力だけしか考慮しなくていいCSSと比較するとどうしても記述性や表現力の面では劣る
2021/10/01(金) 20:36:30.93ID:hHr0ZnR0
コードで書く宣言的UI方が100倍楽
普通にコードを書く延長線上でいけるし、if文使って切り替えたり、for文でループ回したり簡単に自由自在

xamlでやろうとするとコードビハインドもできるがMVVMぎちぎちに要求されるからうざいわ
ValueConverterやらTriggerやらVisualStateManagerやら色んな概念でてきていったりきたり
2021/10/01(金) 21:02:00.88ID:Utvf4DLW
MSがツール作るの得意すぎたせいで、みんなWYSIWYGなツールを使ってUIを作ることが当然で開発効率も良いと思い込まされてきたんだよ
ここにいるのはその最後の残党で、彼らは既にXAMLを手書きした方が早いと気付いているにも関わらず、
未だにツールの都合に合わせて面倒なXMLを記述しなければならないという矛盾には気付いていないんだ
もうちょっとだから優しい目で見守ってやってくれ
2021/10/01(金) 21:15:45.36ID:VrVVYUYc
可変レイアウトを前提とするかが分かれ道な気がする
2021/10/01(金) 21:21:42.73ID:E9WNTUHI
WinFormはポトペタに頼るけどWPFはWISYWIGといっても確認用くらいしか使わんなあ
慣れればXAMLべた書きでほぼ思い通りのレイアウトできるし
2021/10/01(金) 23:09:37.93ID:C/dNFuqv
>if文使って切り替えたり、for文でループ回したり簡単に自由自在

それ宣言的って言わんw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況