WPF(Windows Presentation Foundation)について語るスレ。
前スレ
WPF(.NET, WinUI) GUIプログラミング Part30
https://mevius.5ch.net/test/read.cgi/tech/1667010874/
関連スレ
Windows 10 UWPアプリ開発Part 3
https://mevius.5ch.net/test/read.cgi/tech/1627556967/
コードを貼る場合は以下のサイトの利用をお勧め。
https://ideone.com/
WPF(.NET, WinUI) GUIプログラミング Part31
■ このスレッドは過去ログ倉庫に格納されています
2023/01/22(日) 05:53:16.97ID:oY263ilm
561デフォルトの名無しさん
2023/06/25(日) 09:24:47.83ID:RV4PZadR SkiaSharp DrawingVisual あまり資料がないな〜
562デフォルトの名無しさん
2023/06/25(日) 12:00:19.37ID:bsDOU/Dc あまり情報がないものでも、ChatGPTが組み合わせて教えてくれる場合がある。
その場合、複数言語のページの内容を混ぜて回答してくれるのかな?
その場合、複数言語のページの内容を混ぜて回答してくれるのかな?
563デフォルトの名無しさん
2023/06/25(日) 16:20:15.73ID:Avq8WYKk DrawingVisualはWPFの機能でMSのサイトに解説とコードサンプルがあり、リファレンスがあるのだから資料がないということはないだろう
DrawingVisual オブジェクトの使用 - WPF .NET Framework | Microsoft Learn
https://learn.microsoft.com/ja-jp/dotnet/desktop/wpf/graphics-multimedia/using-drawingvisual-objects
DrawingVisual オブジェクトの使用 - WPF .NET Framework | Microsoft Learn
https://learn.microsoft.com/ja-jp/dotnet/desktop/wpf/graphics-multimedia/using-drawingvisual-objects
564デフォルトの名無しさん
2023/06/26(月) 20:38:37.00ID:/ad+dyyW565デフォルトの名無しさん
2023/06/26(月) 21:30:09.55ID:/ad+dyyW でもSkiaSharp + OpenGL はハードル高そうだな。
だったらSystem.Drawingの方がいいじゃん。
だったらSystem.Drawingの方がいいじゃん。
566デフォルトの名無しさん
2023/06/26(月) 22:37:30.04ID:Jb1NpiVn >>564の比較はWinFormsで
OpenGLで動かしたい場合はSKControlクラスの代わりにSKGLControlクラスを使うだけで良いみたい
WPFの場合はSKElementクラスだけど、これの性能には触れてないな
OpenGLで動かしたい場合はSKControlクラスの代わりにSKGLControlクラスを使うだけで良いみたい
WPFの場合はSKElementクラスだけど、これの性能には触れてないな
567デフォルトの名無しさん
2023/06/26(月) 22:47:47.73ID:Jb1NpiVn 比較対象が多いページ見つけた
https://swharden.com/csdv/platforms/compare/
https://swharden.com/csdv/platforms/compare/
568デフォルトの名無しさん
2023/06/27(火) 19:40:57.53ID:ZU8ILpLR https://blog.emoji-gen.ninja/posts/20190204/skia.html
>日本語のドキュメントに至っては、ほぼ皆無です。そのため、Skia を使って本格的に開発する場合は、ある程度の覚悟が必要です。
なんだと!!ww
ヤフー知恵袋も質問0 だった。。
>日本語のドキュメントに至っては、ほぼ皆無です。そのため、Skia を使って本格的に開発する場合は、ある程度の覚悟が必要です。
なんだと!!ww
ヤフー知恵袋も質問0 だった。。
569デフォルトの名無しさん
2023/06/27(火) 21:04:13.08ID:ZU8ILpLR 一応、線は引けるけど、非同期コードいれるとcanvasが壊れてるといって落ちる。
あと、XAMLで指定したメソッド以外でどうやって描画するのか不明。
あと、XAMLで指定したメソッド以外でどうやって描画するのか不明。
570デフォルトの名無しさん
2023/06/28(水) 02:24:02.68ID:HaY2f2W2 >>569
SKElementはメソッドやイベントが少なくて超シンプル
https://learn.microsoft.com/en-us/dotnet/api/skiasharp.views.wpf.skelement?view=skiasharp-views-2.88
基本的に、SKElement.PaintSurfaceイベントで描画するだけ
再描画したい場合、InvalidateVisual()を実行すると上記イベントが発生する
SKElementはメソッドやイベントが少なくて超シンプル
https://learn.microsoft.com/en-us/dotnet/api/skiasharp.views.wpf.skelement?view=skiasharp-views-2.88
基本的に、SKElement.PaintSurfaceイベントで描画するだけ
再描画したい場合、InvalidateVisual()を実行すると上記イベントが発生する
571デフォルトの名無しさん
2023/06/28(水) 06:39:28.56ID:+Blkfaog じゃボタンを押したときに線を引かせたいときはそのボタンのイベントハンドラで
InvalidateVisual()実行させて線を引くコードはPaintSurface 内に記述するのか。
なんか面倒だし、PaintSurfaceが巨大化しそう。まぁPaintSurface内で自作関数呼べ
ば良いんだろうけど。
InvalidateVisual()実行させて線を引くコードはPaintSurface 内に記述するのか。
なんか面倒だし、PaintSurfaceが巨大化しそう。まぁPaintSurface内で自作関数呼べ
ば良いんだろうけど。
572デフォルトの名無しさん
2023/06/28(水) 08:32:25.75ID:ngy9I2lE WM_PAINTでの経験が活かされますね
573デフォルトの名無しさん
2023/06/28(水) 09:38:16.64ID:NAypQ388 描画とかボタン処理は同じコンテクストで実行されるから
何も考えずに処理書けばいい
タイマーや通信など他の契機で描画したいなら工夫がいるだけ
何も考えずに処理書けばいい
タイマーや通信など他の契機で描画したいなら工夫がいるだけ
574デフォルトの名無しさん
2023/06/28(水) 14:41:27.72ID:BVdlIcNn 漠∞!!!!
列∞!!!!!
后∞!!!!!!
機∞!!!!!!!
枚∞!!!!!!!!
図∞!!!!!!!!!
寿∞!!!!!!!!!!
非∞!!!!!!!!!!!
駅∞!!!!!!!!!!!!
頓∞!!!!!!!!!!!!!
官∞!!!!!!!!!!!!!!
司∞!!!!!!!!!!!!!!!
戸∞!!!!!!!!!!!!!!!!
城∞!!!!!!!!!!!!!!!!!
堺∞!!!!!!!!!!!!!!!!!!
列∞!!!!!
后∞!!!!!!
機∞!!!!!!!
枚∞!!!!!!!!
図∞!!!!!!!!!
寿∞!!!!!!!!!!
非∞!!!!!!!!!!!
駅∞!!!!!!!!!!!!
頓∞!!!!!!!!!!!!!
官∞!!!!!!!!!!!!!!
司∞!!!!!!!!!!!!!!!
戸∞!!!!!!!!!!!!!!!!
城∞!!!!!!!!!!!!!!!!!
堺∞!!!!!!!!!!!!!!!!!!
575デフォルトの名無しさん
2023/06/28(水) 19:47:18.96ID:HaY2f2W2 >>573
PaintSurfaceイベント毎に(SKSurfaceクラスやSKCanvasクラスの)オブジェクトが変わるから(変わらないこともある)
ボタンのクリックイベント等で描画するのは無理じゃないかな
PaintSurfaceイベント毎に(SKSurfaceクラスやSKCanvasクラスの)オブジェクトが変わるから(変わらないこともある)
ボタンのクリックイベント等で描画するのは無理じゃないかな
576デフォルトの名無しさん
2023/06/28(水) 19:54:32.34ID:+Blkfaog 求めていたものやっと見つけた。中国サイト。
良くできてるな〜。
await Task.Delayではなく、
SpinWait.SpinUntil(() => false, 1000 / 60); //每秒60帧
だそうだ。こんなの知らんわ。
https://www.dongchuanmin.com/net/3188.html
https://zhuanlan.zhihu.com/p/567618102
良くできてるな〜。
await Task.Delayではなく、
SpinWait.SpinUntil(() => false, 1000 / 60); //每秒60帧
だそうだ。こんなの知らんわ。
https://www.dongchuanmin.com/net/3188.html
https://zhuanlan.zhihu.com/p/567618102
577デフォルトの名無しさん
2023/06/28(水) 20:35:15.51ID:OvMs43YX 中華リンク貼られても見ねーよ
578デフォルトの名無しさん
2023/06/28(水) 23:57:16.98ID:i6K+M06u 中国語、韓国語、ロシア語等、いろいろなページを見てるわ。
579デフォルトの名無しさん
2023/06/29(木) 00:40:34.34ID:Wk17Qk7t DOBON.NET
Thread.SpinWaitメソッドはスレッドの同期のために内部で使用されているようですが、通常は私たちが使用する機会はないでしょう。
Thread.SpinWaitメソッドはスレッドの同期のために内部で使用されているようですが、通常は私たちが使用する機会はないでしょう。
580デフォルトの名無しさん
2023/06/29(木) 00:47:40.82ID:puM++CKl >>576
ビジーウェイト状態になりそうなコードだから試してみたけど、予想に反してCPU時間の消費がそんなでもないな
ただ、環境によってループの頻度が違うみたいだ
.NET7: 毎秒約500回
.NET Framework 4.7.2: 毎秒約1万回
ビジーウェイト状態になりそうなコードだから試してみたけど、予想に反してCPU時間の消費がそんなでもないな
ただ、環境によってループの頻度が違うみたいだ
.NET7: 毎秒約500回
.NET Framework 4.7.2: 毎秒約1万回
581デフォルトの名無しさん
2023/06/29(木) 01:11:48.23ID:0ql7o6ud Win32APIのInitializeCriticalSectionAndSpinCount()みたいな実装をするためのものか。
ほんのちょっと待てばロックを取得できる場合に数千回ループで待って、
できるだけスレッド切り替えにかかる無駄な時間を避ける。
InitializeCriticalSectionAndSpinCount 関数 (synchapi.h) - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/api/synchapi/nf-synchapi-initializecriticalsectionandspincount
ほんのちょっと待てばロックを取得できる場合に数千回ループで待って、
できるだけスレッド切り替えにかかる無駄な時間を避ける。
InitializeCriticalSectionAndSpinCount 関数 (synchapi.h) - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/api/synchapi/nf-synchapi-initializecriticalsectionandspincount
582デフォルトの名無しさん
2023/06/29(木) 06:25:02.66ID:ejYRoEqU >>578
他国でもソースは同じだもんな。
他国でもソースは同じだもんな。
583デフォルトの名無しさん
2023/06/29(木) 07:36:02.98ID:G16HAkDq 匿名掲示板に貼られた中華リンクのソースが必ず正しいと思ってるやつがいるのはおめでてーな
584デフォルトの名無しさん
2023/06/29(木) 10:00:47.73ID:df8BmqTV MSの翻訳は糞だから日本語のMS公式観るより
英語のMS公式観た方が良いのは事実
英語のMS公式観た方が良いのは事実
585デフォルトの名無しさん
2023/06/29(木) 10:16:30.19ID:e/2/rrz3 匿名掲示板の中華リンクと公式の英語を同一視してるやつやべーな
586デフォルトの名無しさん
2023/06/29(木) 11:10:54.33ID:df8BmqTV そんなやついたか?
587デフォルトの名無しさん
2023/06/29(木) 11:44:14.93ID:ejYRoEqU 碌に読んでないの多いよな。
>中華リンクのソースが必ず正しいと思ってるやつがいる
リンク張っただけなのにコレだもん。
>中華リンクのソースが必ず正しいと思ってるやつがいる
リンク張っただけなのにコレだもん。
588デフォルトの名無しさん
2023/06/29(木) 11:56:50.12ID:IrCo4C0s ページ自体はまともでも、そこに貼られてる広告がヤバそう(偏見
589デフォルトの名無しさん
2023/06/29(木) 11:59:03.18ID:3KkF7hHh 悔しそうで草
590デフォルトの名無しさん
2023/06/29(木) 18:30:52.58ID:puM++CKl >>576
このコードでSpinWait.SpinUntil()で待機させるメリットって何だろう
Dispatcher.Invoke()してるから1ループの実行時間は結構ばらつくし、Thread.Sleep()で十分な気がするのだけど
精度を出すなら、System.Timers.Timer使った方が良いし
このコードでSpinWait.SpinUntil()で待機させるメリットって何だろう
Dispatcher.Invoke()してるから1ループの実行時間は結構ばらつくし、Thread.Sleep()で十分な気がするのだけど
精度を出すなら、System.Timers.Timer使った方が良いし
591デフォルトの名無しさん
2023/06/29(木) 18:58:35.73ID:AdXw454n 60フレームだそうとしてるのになんともいえん感じにはなる
592デフォルトの名無しさん
2023/06/29(木) 20:40:19.95ID:puM++CKl >>590
Thread.Sleep()で十分な気がするって書いたけど、
実際に試すとSpinWait.SpinUntil()のままよりThread.Sleep()に置き換えた方が明らかにFPS向上するなw
PCに負荷をかけたらまた違うのかねぇ
Thread.Sleep()で十分な気がするって書いたけど、
実際に試すとSpinWait.SpinUntil()のままよりThread.Sleep()に置き換えた方が明らかにFPS向上するなw
PCに負荷をかけたらまた違うのかねぇ
593デフォルトの名無しさん
2023/06/29(木) 21:07:27.01ID:ejYRoEqU await task.delay ()だと例外で落ちるから。
594デフォルトの名無しさん
2023/06/30(金) 03:50:01.15ID:G8RX/6Lm >>593
InvalidateVisual()呼ぶだけならUIスレッドで実行されるように気を付ければawait Task.Delay()で問題無いよ。
InvalidateVisual()呼ぶだけならUIスレッドで実行されるように気を付ければawait Task.Delay()で問題無いよ。
595デフォルトの名無しさん
2023/06/30(金) 07:00:48.53ID:ClIVzebM よーし何か作ってみよう〜
596デフォルトの名無しさん
2023/06/30(金) 19:36:32.72ID:ClIVzebM ここ という所で1sec wait掛けたい。どうすんだ?
public MainWindow(){
Task.Run(() =>{
try{
while (true){
Dispatcher.Invoke(() => {
canvas.InvalidateVisual(); });
_ = SpinWait.SpinUntil(() => false, 10); //每秒60帧
}
}
catch (Exception e){
}
});
}
void OnPaintSample(object sender, SKPaintSurfaceEventArgs e){
Render (e.Surface.Canvas );
}
public void Render (SKCanvas canvas){
SKPaint thickLinePaint = new SKPaint{
Style = SKPaintStyle.Stroke,
Color = SKColors.Orange,
StrokeWidth = 1
};
for (int x=0;x<=600;x++){
canvas.DrawLine(x, 0, x,100, thickLinePaint);
// ここ
}
}
public MainWindow(){
Task.Run(() =>{
try{
while (true){
Dispatcher.Invoke(() => {
canvas.InvalidateVisual(); });
_ = SpinWait.SpinUntil(() => false, 10); //每秒60帧
}
}
catch (Exception e){
}
});
}
void OnPaintSample(object sender, SKPaintSurfaceEventArgs e){
Render (e.Surface.Canvas );
}
public void Render (SKCanvas canvas){
SKPaint thickLinePaint = new SKPaint{
Style = SKPaintStyle.Stroke,
Color = SKColors.Orange,
StrokeWidth = 1
};
for (int x=0;x<=600;x++){
canvas.DrawLine(x, 0, x,100, thickLinePaint);
// ここ
}
}
597デフォルトの名無しさん
2023/06/30(金) 19:37:34.75ID:ClIVzebM 書き忘れ
skiasharp .netframework.
skiasharp .netframework.
598デフォルトの名無しさん
2023/06/30(金) 21:02:19.59ID:k2cLJ2r8 フレームごとに呼ばれるシステムはフレームイベント内部でwaitさせるんじゃなくて
何フレーム目かとかの時間情報を持たせてその時間基準で全部描画するもの
何フレーム目かとかの時間情報を持たせてその時間基準で全部描画するもの
599デフォルトの名無しさん
2023/06/30(金) 21:18:03.73ID:ClIVzebM へー。今まで(?)の手法とは違うんですね。
難しい〜。
難しい〜。
600デフォルトの名無しさん
2023/06/30(金) 21:40:58.12ID:G8RX/6Lm601デフォルトの名無しさん
2023/06/30(金) 21:46:05.66ID:ClIVzebM ほう。ご丁寧にソースまで。ありがとう!!
602デフォルトの名無しさん
2023/06/30(金) 21:51:04.15ID:k2cLJ2r8603デフォルトの名無しさん
2023/07/02(日) 07:22:17.31ID:NrLD8OfZ https://ideone.com/SdsWsv
フラグが多くなりそうだな。
フラグが多くなりそうだな。
604デフォルトの名無しさん
2023/07/02(日) 07:28:34.32ID:NrLD8OfZ canvas.childlen.add()の場合はaddし過ぎる(500超えるとヤバい)と
酷いときは止まるけど
skiasharpは描画を続けても平気なのかね。
酷いときは止まるけど
skiasharpは描画を続けても平気なのかね。
605デフォルトの名無しさん
2023/07/05(水) 21:26:03.46ID:iW/VMTsC 心電図、SkinaSharp版を作って試したけどCPU使用率は canvas.chilren.add版が
24%、Skina版が2.5%、他の項目は殆ど差なしだった。
限度はあるだろうが、Skinaはcanvas.clearしなくても軽いな。
24%、Skina版が2.5%、他の項目は殆ど差なしだった。
限度はあるだろうが、Skinaはcanvas.clearしなくても軽いな。
606デフォルトの名無しさん
2023/07/08(土) 06:53:37.52ID:9pZJE7Lr 画面遷移のやり方わかんなくて調べてるけど
MVVM使わない方法しか出てこないよ...😢
MVVM使わない方法しか出てこないよ...😢
607デフォルトの名無しさん
2023/07/08(土) 09:31:12.51ID:rhn5/plT どういう調べ方をしたんだ
メッセンジャーを使ったりサービスを使ったりすればいいだろ
今の主流はサービスかな
メッセンジャーを使ったりサービスを使ったりすればいいだろ
今の主流はサービスかな
608デフォルトの名無しさん
2023/07/08(土) 11:04:12.71ID:gObB59CG Template Studioという拡張機能をVSにインストールしてアプリの雛形を作ると画面遷移のコードまでジェネレートしてくれる
WinUI版しか使ったこと無いが、恐らくWPF版も同様と思われる
WinUI版しか使ったこと無いが、恐らくWPF版も同様と思われる
609デフォルトの名無しさん
2023/07/08(土) 15:06:36.80ID:EY12ydBx ホント、MVVMって手間ですね!
610デフォルトの名無しさん
2023/07/08(土) 15:26:11.20ID:p+sO9/0D 画面遷移は遷移サービスに依頼
サービスは作られるときにGUIのフレームの参照をもらってる
フレームをくれるのはメインウィンドウ(MetroWindow継承)のコードビハインド
メインwindowsを作るのはホストサービス
ホストサー・・・
本当に意味不明だわ
サービスは作られるときにGUIのフレームの参照をもらってる
フレームをくれるのはメインウィンドウ(MetroWindow継承)のコードビハインド
メインwindowsを作るのはホストサービス
ホストサー・・・
本当に意味不明だわ
611デフォルトの名無しさん
2023/07/08(土) 15:42:14.13ID:p+sO9/0D サービス作る
VM作る
画面など作る
だとサービス作る時に画面がないのでアウトだけど
先に画面作るのも気持ち悪いし画面でサービスを使わないと限らない
普通はどうしてるんだろ
MVVM原理主義者たちは?
VM作る
画面など作る
だとサービス作る時に画面がないのでアウトだけど
先に画面作るのも気持ち悪いし画面でサービスを使わないと限らない
普通はどうしてるんだろ
MVVM原理主義者たちは?
612デフォルトの名無しさん
2023/07/08(土) 15:48:28.55ID:Ug32iaVM613デフォルトの名無しさん
2023/07/08(土) 15:52:16.34ID:p+sO9/0D サービスはinterface越しで操作してたような気がするけどそもそもGUIに依存してもいいだろ
なんだか知らないことに口出しをするのもめんどくさいな
なんだか知らないことに口出しをするのもめんどくさいな
614デフォルトの名無しさん
2023/07/08(土) 15:57:28.09ID:L9qo6Y2h GUIに依存するとデバッグが大変になるんだよ
615デフォルトの名無しさん
2023/07/08(土) 16:09:37.95ID:0FxLf7Ij >サービスはinterface越しで操作してたような気がするけどそもそもGUIに依存してもいいだろ
それを直接依存させないのがMVVMやクリーンアーキテクチャの考え方。
それを直接依存させないのがMVVMやクリーンアーキテクチャの考え方。
616デフォルトの名無しさん
2023/07/08(土) 17:01:16.26ID:p+sO9/0D 考えるだけ時間の無駄だけど自作クラスNaviService(INaviService継承)がコンストラクタでGUIフレームをもらってるとして
それの何がいけないのか
デバッグやテスト用にはDummyNaviService(INaviService継承)を作るだけだろと思うが
フレームをわざわざラップさせる意味は多分ない
class NaviServiceに
MyFrame _frame;
bool GoBack()
{
return _frame.GoBack();
}
とおいて自作MyFrameに更に同じようなものを書くのはただの無駄
それの何がいけないのか
デバッグやテスト用にはDummyNaviService(INaviService継承)を作るだけだろと思うが
フレームをわざわざラップさせる意味は多分ない
class NaviServiceに
MyFrame _frame;
bool GoBack()
{
return _frame.GoBack();
}
とおいて自作MyFrameに更に同じようなものを書くのはただの無駄
617デフォルトの名無しさん
2023/07/09(日) 08:22:10.73ID:F2jcE+HG 凄いよな。
で、難解なMVVM駆使して何作ってんだ?
で、難解なMVVM駆使して何作ってんだ?
618デフォルトの名無しさん
2023/07/09(日) 09:18:14.11ID:bY6lUE+2 誤)難解なMVVM
正)お馬鹿なMVVM
正)お馬鹿なMVVM
619デフォルトの名無しさん
2023/07/09(日) 10:36:40.65ID:F2jcE+HG MVVMより、SkiaSharpなど2Dグラフィック系の勉強してる。MVVMは自分には無理や。。
620デフォルトの名無しさん
2023/07/09(日) 12:47:45.01ID:/vDoZjEa 一応WPFの思想はMVVMなんじゃないか
621デフォルトの名無しさん
2023/07/09(日) 15:57:12.07ID:F2jcE+HG それはない。MS自体、使い分けと言ってる。
622デフォルトの名無しさん
2023/07/09(日) 17:55:53.87ID:dWXLeXtb 別に同じ物を書いても目的が達成すればいいのでは?
DIはDIP規則をやるための機構だが、マルチインジェクションはISP原則から必須になる。
Microsoft.Extentionを使うとシェルもナビゲーションも簡単でマルチDIは簡単だが、PrismはViewModelLocatorがマルチインジェクションに対応していないのが残念だ。
ViewModeにこそマルチインジェクションが必要と思うのだか・・・
Prismでは、追加インジェクション関数をViewModelに入れている。
MVVM否定? 今時MVVM否定論なんて流行るのか?
DIはDIP規則をやるための機構だが、マルチインジェクションはISP原則から必須になる。
Microsoft.Extentionを使うとシェルもナビゲーションも簡単でマルチDIは簡単だが、PrismはViewModelLocatorがマルチインジェクションに対応していないのが残念だ。
ViewModeにこそマルチインジェクションが必要と思うのだか・・・
Prismでは、追加インジェクション関数をViewModelに入れている。
MVVM否定? 今時MVVM否定論なんて流行るのか?
623デフォルトの名無しさん
2023/07/09(日) 20:36:20.21ID:LqamH1A3 マルチインジェクションてなんですか?
624デフォルトの名無しさん
2023/07/10(月) 06:31:31.15ID:nluT7sbQ 燃料噴射装置。ある意味正解。
625デフォルトの名無しさん
2023/07/10(月) 09:42:06.59ID:+87QqsLJ そもそもPrismは開発終了で今から使っちゃいけないものだよな
それとも新しいのが出たんだろうか
それとも新しいのが出たんだろうか
626デフォルトの名無しさん
2023/07/10(月) 14:14:23.34ID:h4a2e+7i 開発終了したっけ?
627デフォルトの名無しさん
2023/07/10(月) 14:48:31.42ID:6m3EwvsS この辺の話かな
https://github.com/PrismLibrary/Prism/releases/tag/DNF
>Prism is leaving the .NET Foundation. Before making any changes to the Prism repo, we are archiving the current source code which is under the .NET Foundation.
https://github.com/PrismLibrary/Prism/releases/tag/DNF
>Prism is leaving the .NET Foundation. Before making any changes to the Prism repo, we are archiving the current source code which is under the .NET Foundation.
628デフォルトの名無しさん
2023/07/10(月) 15:40:16.84ID:yIoSKETV629デフォルトの名無しさん
2023/07/10(月) 16:13:40.89ID:xp+Y6DUu Prismはちょっと重厚すぎてオブジェクト志向で言うところの単一責任原則から離れすぎてて使いにくい
630デフォルトの名無しさん
2023/07/10(月) 19:35:36.03ID:nluT7sbQ で、マルチインジェクションって何だろ。
631デフォルトの名無しさん
2023/07/10(月) 20:01:58.73ID:7HtUCVrE .NET FoundationはMVVM Toolkit推しみたいだね
Community.Toolkit(旧Microsoft.Toolkit)に含まれてるやつ
Community.Toolkit(旧Microsoft.Toolkit)に含まれてるやつ
632デフォルトの名無しさん
2023/07/10(月) 23:29:38.85ID:c1hj3m9Z 自分もマルチインジェクションがわからん
633デフォルトの名無しさん
2023/07/11(火) 06:15:49.09ID:tEhhj7Dg >>628
しかしそれから一年行方不明
しかしそれから一年行方不明
634デフォルトの名無しさん
2023/07/14(金) 07:31:28.85ID:uNvEuXay 止めたんじゃね。殆どMVVM使われてないし作るメリットが見いだせない。
635デフォルトの名無しさん
2023/07/15(土) 16:17:56.97ID:xVqfKfwW >>629
Prismは最初のDIコンテナのUnityがくっそ重かったけど、DryIocが事実上の標準になって軽くなったんだけどね
Prismは最初のDIコンテナのUnityがくっそ重かったけど、DryIocが事実上の標準になって軽くなったんだけどね
636デフォルトの名無しさん
2023/07/15(土) 20:40:31.18ID:UiYhW/dJ Prismは実践的なmvvmの使い方とそれ用の軽いライブラリ提供しようとしてたら
ドンドン仕組みが大きくなって実践的と言うより宗教的になって来たので辞めたんだろ
MVVMのvm自動生成機能のためにフォルダ構造やファイル名まで指定してくるようになったらもう完全な宗教だろ
ドンドン仕組みが大きくなって実践的と言うより宗教的になって来たので辞めたんだろ
MVVMのvm自動生成機能のためにフォルダ構造やファイル名まで指定してくるようになったらもう完全な宗教だろ
637デフォルトの名無しさん
2023/07/15(土) 22:13:09.54ID:qTZx5K+e android studioでjavaでやっていますが、WPFの仕事が入りそうなんで質問です。
ViewModelと言うことで同じ様な組み方と思ったのですが、UIのデザイナーは無いのですか?
androidはポトベタ風(相対関係)にデザインして、xmlで若干補ったけど、こっちは全部xmlで記述するんですか?
ViewModelと言うことで同じ様な組み方と思ったのですが、UIのデザイナーは無いのですか?
androidはポトベタ風(相対関係)にデザインして、xmlで若干補ったけど、こっちは全部xmlで記述するんですか?
638デフォルトの名無しさん
2023/07/15(土) 22:17:18.73ID:UiYhW/dJ WinGUI3はそうだよ
開発が間に合ってない
WPFとかUWPとかwinformsはデザイナがある
開発が間に合ってない
WPFとかUWPとかwinformsはデザイナがある
639デフォルトの名無しさん
2023/07/15(土) 22:21:32.04ID:IAi8wYQ9 WPF〜UWPで首切りまくったせいで絶賛劣化中
640デフォルトの名無しさん
2023/07/15(土) 22:29:58.82ID:WTK8CS0X641デフォルトの名無しさん
2023/07/15(土) 22:41:20.26ID:qTZx5K+e >>640
それmsdn3年付きで導入しました。
それmsdn3年付きで導入しました。
642デフォルトの名無しさん
2023/07/15(土) 23:04:31.50ID:F8pGys1G >>641
C# で WPF を使った Hello World アプリ - Visual Studio (Windows) | Microsoft Learn
https://learn.microsoft.com/ja-jp/visualstudio/get-started/csharp/tutorial-wpf?view=vs-2022
C# で WPF を使った Hello World アプリ - Visual Studio (Windows) | Microsoft Learn
https://learn.microsoft.com/ja-jp/visualstudio/get-started/csharp/tutorial-wpf?view=vs-2022
643デフォルトの名無しさん
2023/07/16(日) 08:53:57.15ID:kPWMqAlO644デフォルトの名無しさん
2023/07/16(日) 11:43:41.21ID:Zkk0ia7G android studioのデザイナのGuidelineみたいな補助線と横幅の割合設定などありますか?
645デフォルトの名無しさん
2023/07/16(日) 15:04:36.79ID:kPWMqAlO 知らんけど、XAML習得を勧める。難しそうだが何とかなる。
646デフォルトの名無しさん
2023/07/16(日) 15:41:11.43ID:Kbd6AKbP もういい加減機能追加が止まったwpfで新規アプリを作りたくないんだが
出来ないことの回避策を探す事に時間取られるWinUI3で作るのも地獄だし
もうずーっとWindowsのGUIアプリは今は作るな時が悪いで停滞してんじゃねーか
出来ないことの回避策を探す事に時間取られるWinUI3で作るのも地獄だし
もうずーっとWindowsのGUIアプリは今は作るな時が悪いで停滞してんじゃねーか
647デフォルトの名無しさん
2023/07/16(日) 15:48:37.64ID:oB6p9OVz それを「枯れた」という。
648デフォルトの名無しさん
2023/07/16(日) 17:11:14.42ID:Zkk0ia7G >>645
了解、android studioのデザイナ位で良いのでMSもやって欲しいな。
了解、android studioのデザイナ位で良いのでMSもやって欲しいな。
649デフォルトの名無しさん
2023/07/16(日) 17:26:09.46ID:kPWMqAlO 機能追加って何が欲しいんだ?
一通りあると思うけど。あとは工夫次第だろ。
一通りあると思うけど。あとは工夫次第だろ。
650デフォルトの名無しさん
2023/07/16(日) 17:48:27.06ID:NIqQTkMR 最低限色付きのemojiは対応して欲しいな
今は自分で作るかnugetでいいのを探して使ってる
今は自分で作るかnugetでいいのを探して使ってる
651デフォルトの名無しさん
2023/07/18(火) 15:46:29.61ID:uuDyB+uu WinUI3公式のサンプル試そうと思ったら依存関係ないとかいう例外出て情報も少なくて早々に投げちゃった
652デフォルトの名無しさん
2023/07/18(火) 16:55:57.68ID:0hGflB6j 絵文字よりSVGだろぉ
はよせい
はよせい
653デフォルトの名無しさん
2023/07/18(火) 19:29:02.67ID:5UWIDgaz webのUI使ってるとWPFの表現力の限界が見える
654デフォルトの名無しさん
2023/07/18(火) 20:27:45.99ID:mNXjpdDn デスクトップアプリなんてそんなもんだよ。
事実上、WIN32APIの画面でも問題ない。
事実上、WIN32APIの画面でも問題ない。
655デフォルトの名無しさん
2023/07/18(火) 20:56:20.17ID:AK2q1/EQ 事実上?
656デフォルトの名無しさん
2023/07/18(火) 22:21:23.88ID:SyIOChPo GUIはあらかじめ決められたUI/UXガイドラインに沿っていればよくて
あまり奇をてらう必要はないよな。というかかえって害悪だよな。
あまり奇をてらう必要はないよな。というかかえって害悪だよな。
657デフォルトの名無しさん
2023/07/18(火) 22:27:51.77ID:5UWIDgaz 基本的なリングプログレスも用意されていないのでUI/UXデザインがどうとかいう話でもない
658デフォルトの名無しさん
2023/07/18(火) 23:05:33.75ID:Isn7rP+W プログレスバーならあるし
ウエイトカーソルでいいだろ
ウエイトカーソルでいいだろ
659デフォルトの名無しさん
2023/07/19(水) 11:41:28.51ID:x9es5cRL Webは退化
660デフォルトの名無しさん
2023/07/19(水) 12:35:30.77ID:A8CV4uql WPFも外部のライブラリにはMSが出してないUI部品がいろいろとあるじゃん
>>657 のいうwebには外部のライブラリを使わずにhtml,cssの機能ですぐに使えるクルクルってあるのかい?
>>657 のいうwebには外部のライブラリを使わずにhtml,cssの機能ですぐに使えるクルクルってあるのかい?
661デフォルトの名無しさん
2023/07/19(水) 12:47:37.05ID:iEaOd/wb .gif
■ このスレッドは過去ログ倉庫に格納されています
