X



WPF(.NET, WinUI) GUIプログラミング Part31
レス数が1000を超えています。これ以上書き込みはできません。
0002デフォルトの名無しさん
垢版 |
2023/01/22(日) 08:33:38.55ID:S27U9TnJ
51 それでも動く名無し 2023/01/07(土) 22:30:50.31 ID:lFyqvDkS0
お姉さんのとんでもないどスケベおっぱい
階段の揺れがエロすぎる
https://i.imgur.com/OuSEYSW.jpg
https://i.imgur.com/a6mirN4.jpg
https://i.imgur.com/aphvweq.jpg
https://gcol;le.net/product_info.php/products_id/855392/ref/15062/affiliate_banner_id/1

地味巨乳というか地味爆乳だなこれは
JKっぽいし同級生に毎日おかずにされまくってそう
https://i.imgur.com/5No7mr1.jpg
https://gcol;le.net/product_info.php/products_id/862884/ref/15062/affiliate_banner_id/1

89 それでも動く名無し 2023/01/07(土) 22:51:44.20 ID:pA5+SQtP0
周囲の男をおかしくしてしまうほどのおっぱい
https://i.imgur.com/zuu7SzF.jpg
https://i.imgur.com/7hikR0y.jpg
https://i.imgur.com/rbV5N7y.jpg
https://gcol;le.net/product_info.php/products_id/873815/ref/15062/affiliate_banner_id/1
0005デフォルトの名無しさん
垢版 |
2023/01/22(日) 16:30:31.58ID:HYU/DVaQ
誤爆を装ったアフィカスによる宣伝が横行してるので見かけたら通報推奨
0006デフォルトの名無しさん
垢版 |
2023/01/23(月) 15:22:33.84ID:yzbVlsZ5
>>2
はいAV
0009.NET MAUI HighSchool
垢版 |
2023/01/25(水) 19:22:56.63ID:I78/+Jqu
>>8
xaml2009っていいもんなの?
0012デフォルトの名無しさん
垢版 |
2023/01/26(木) 22:08:36.52ID:xlPUDsu5
Observerパターンを取り入れ始めたんだけど、ちょっと凝ったことすると一気に難易度上がって崩壊するわ
0013.NET MAUI HighSchool
垢版 |
2023/01/27(金) 07:22:35.95ID:j9f73zRK
>>12
Rx使え
0014.NET MAUI HighSchool
垢版 |
2023/01/27(金) 08:05:12.54ID:j9f73zRK
どうでもいいかもしれんけどMVVMって
VM↔Mは1対多だけどV↔VMは1対1が基本だよね?
0016デフォルトの名無しさん
垢版 |
2023/01/27(金) 10:51:04.71ID:JmJb63qg
>>13
それ使ってもちょっと難しいことしたらキツかったわ
デバッグもしにくいしメンテ大変よ
0017デフォルトの名無しさん
垢版 |
2023/01/27(金) 12:15:42.07ID:WdKOXuPi
1.2.3で、やっとtoolkitのImplicit Animationがマトモに動くようになった模様
1.0から15ヶ月は長かったな
0018.NET MAUI HighSchool
垢版 |
2023/01/27(金) 12:20:38.12ID:V5rrNNYD
>>17
需要ないからしゃーない
今5chブラウザ作ってるからそれで認知度上がってくれればよいが…
0020.NET MAUI HighSchool
垢版 |
2023/01/27(金) 16:28:25.55ID:YXqDPp2F
>>18
そう
上げた
0022デフォルトの名無しさん
垢版 |
2023/01/27(金) 23:19:02.38ID:Ze4DWSK5
ああ基本か

基本と言えば基本だけどそうでもないと言えばそうでもない
ページの画面遷移
タブページ
何をどう捉えるかでどうとでも取れる
0023.NET MAUI HighSchool
垢版 |
2023/01/28(土) 07:48:21.08ID:Akv+btg4
>>22
ページが複数あってもページ分1対1対応のV↔VMが作られてるイメージ
0024デフォルトの名無しさん
垢版 |
2023/01/28(土) 10:04:10.54ID:zBTU9IJ/
Vをどう捉えるか次第だけど、一般にはクラス、あるいはインスタンス単位じゃね?
そういう意味では、Vに対してVMは基本1つだけど親のVに割り当てられたVMを子のVが参照することがあるから
V:VM は 1:N かねぇ。
0027デフォルトの名無しさん
垢版 |
2023/01/28(土) 12:34:11.44ID:zBTU9IJ/
親兄弟それぞれにbindするプロパティをひとまとめにしたVMはふつうに作るが。
0029デフォルトの名無しさん
垢版 |
2023/01/28(土) 18:38:02.10ID:2fN4XNNZ
ViewModelからViewエレメントにアクセスするのはタブーじゃねぇの?
UIエレメントアクセスするなら、Viewにトリガープロバイダーをインジェクションして、ビハインドでやれよ。
0031デフォルトの名無しさん
垢版 |
2023/02/02(木) 14:29:10.09ID:3jZbdKoK
WPFでUSBの抜き差しを監視するのにスムーズな方法はありませんか?
WndProcはWinFormsみたいな使い方は出来ないし、
DeviceWatcherは抜き差しでどちらも同じdeviceInfoUpdateになってしまい、どちらか判別出来なくて微妙です。
よろしくお願いします。
0033デフォルトの名無しさん
垢版 |
2023/02/02(木) 17:33:55.37ID:3jZbdKoK
>>32
ありがとうございます
読んで試してみましたが「Added」と「Removed」のイベントは文字通りデバイスが新規追加か削除された時に発生し、
抜き差しは両方「Updated」イベントが発生しました
0034デフォルトの名無しさん
垢版 |
2023/02/02(木) 19:09:22.21ID:EfPxyF1X
ttps://nagare-it.com/274/
ここを見る限りUpdatedと一緒にAdded/Deletedも発生するらしいけどデバイスによって挙動が変わるのかね

DeviceInformationUpdate.PropertiesにIsEnabledがあるか探して
その値をチェックして接続/切断を判定するとかどうだろうか

ttps://learn.microsoft.com/ja-jp/windows/uwp/devices-sensors/enumerate-devices#enumerate-and-watch-devices
ここの「デバイスの列挙と監視」も参考になるかも

実際に使ったことなくて気になって軽くググっただけだから的外れなこと言ってたらごめんね
0035デフォルトの名無しさん
垢版 |
2023/02/03(金) 09:30:54.14ID:4nD12Hjs
>>34
はい、その記事を見てシンプルにイベント発生が出来ると思ったのですが、Added/Deletedは発生しませんでした
DeviceInformationUpdate.PropertiesやDeviceInformationUpdate.IdにIsEnabledはありませんでした

一定間隔でデバイス情報をポーリングすれば出来なくも無いですが、それだとスマートじゃないかなと
0038デフォルトの名無しさん
垢版 |
2023/02/03(金) 18:09:14.44ID:wOrSY9je
https://imgur.com/DU5dhjy

この画像のようなデジタル時計をWPFで再現したいのですが
意図したように表示できません。

具体的には以下のようにさせたいです。
・ウィンドウ中央に時分を表示
・半分のフォントサイズで時分の右側に文字の下位置をそろえるように秒を表示
・ウィンドウサイズが変更されると、追従して表示レイアウトとフォントサイズを自動調整

時分だけならViewboxを使って意図したとおりにできたのですが
秒が絡むとどうにもうまくできないのです。

WinFormsで同じようなのを作ったときは自力で計算して描画させていたのですが
WPFでも自力で描画させるしかないのでしょうか?
0039デフォルトの名無しさん
垢版 |
2023/02/03(金) 19:23:52.97ID:7HGpQsNb
>>38
手もとにPCないのでなんとも言えないけど

<VIEWBOX verticalalignment=buttom>
<textblock font-size=A>時間 分</textblock>
<textblock font-size=B>秒</textblock>
</viewbox>
みたいな感じでいかないかな?
0040デフォルトの名無しさん
垢版 |
2023/02/03(金) 19:31:42.53ID:QNSGgP05
>>38
秒の高さを時、分の高さ(ActualHeight)をバインドして設定するが、
その時にコンバーターを噛ませて高さを半分とか2/3にすればいけるんじゃね?
0041デフォルトの名無しさん
垢版 |
2023/02/03(金) 19:58:18.94ID:QNSGgP05
<Viewbox Stretch="Uniform" VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel Orientation="Horizontal">
<TextBlock Text="12:00" FontSize="48"/>
<TextBlock Text="59" FontSize="24" VerticalAlignment="Bottom" Margin="0,0,0,6" />
</StackPanel>
</Viewbox>

フォント自体にマージンがあるからマージンを目視で調整するしか無いようだな
0043デフォルトの名無しさん
垢版 |
2023/02/03(金) 20:23:19.25ID:QNSGgP05
実験結果から推測
ジフンの高488のフォントの上12と2下12が空白で、高さ24の秒の上6と下6が空白
だから下に合わせると秒が6だけ下に表示される
これを補正するためにマージンを6取れば並ぶってことじゃないかな
0051デフォルトの名無しさん
垢版 |
2023/02/04(土) 21:41:43.50ID:4XV72bGn
Webのフロントエンドは自分の仕事を産み出して金を稼ぐために不必要に次から次から次へとおれおれブームを作り出すという
0052デフォルトの名無しさん
垢版 |
2023/02/04(土) 21:57:06.11ID:Y6T/cmcC
殆どが技術が進化方向にあるから
踏み台として次に移れるんだよね

XAMLからvue.jsに移行したときは
かなりの資産を失ったけど
その後vue.jsからreactへは数日もあれば移行できた
失う物は僅かな感じ
0053デフォルトの名無しさん
垢版 |
2023/02/04(土) 23:27:03.53ID:yPc0HPvW
webだけに限らず仕組みが軽いほうがいいと思うわ
あれもこれも全部できるけど独自の仕組みがあって学習時間がかかるものはどんどん淘汰されていくと思う
0054デフォルトの名無しさん
垢版 |
2023/02/04(土) 23:31:51.64ID:W3FVNzdt
React出てからもう10年経つのに一寸ってアホか
単に自分がついていけてないだけだろ
0055デフォルトの名無しさん
垢版 |
2023/02/04(土) 23:42:49.68ID:Y6T/cmcC
まあ普通の感覚だと
jQueryはjsの機能に置き換わってより普遍的なものになってるわけだし
それにSPAやるのにjQueryとかだけではキツいのでreactとかが生まれたわけだからね
ステップアップとしては楽な道だったのを踏み外したのかもね
0062デフォルトの名無しさん
垢版 |
2023/02/10(金) 18:41:53.09ID:vs4Q5dAA
多分複合コントロールの中でイベントが発生しないとかだろw
ルーティングイベントを調べろ
0063デフォルトの名無しさん
垢版 |
2023/02/11(土) 12:10:48.85ID:ELrsF36t
Webのスケルトンスクリーンってダサくね?
昔のPCで描画が間に合ってないみたいな、見せちゃいけない汚い裏舞台を見せちゃっているような。
シマー効果もただちらついてるだけというか、昔のテレビの砂嵐を彷彿して格好悪いというか。
0064デフォルトの名無しさん
垢版 |
2023/02/11(土) 12:40:20.80ID:tGyiyo9Q
意図されてないものが表示されるのと意図してそれを表示するのは全く違うと感じるが
まあ情報量の多いスケルトンスクリーンは無駄ではあると思うけどね
微妙に本当のレイアウトにマッチしてなかったり
0066デフォルトの名無しさん
垢版 |
2023/02/11(土) 17:48:11.11ID:ELrsF36t
開発者が実際に意図してやってるかどうかはどうでもよくて、
意図してやっているとユーザーに思わせられれば成功、ひでー作りだなと思われたら失敗。
0068デフォルトの名無しさん
垢版 |
2023/02/12(日) 16:06:46.22ID:O9dtb47z
webサイトにつないだらほぼ全画面占領して動画読み込み初めてスキップも出来ずにnowloadingとだけ出たら殺意沸くわ
0069デフォルトの名無しさん
垢版 |
2023/02/12(日) 17:09:35.54ID:N20Cmn/5
.Net6でプラグイン形式のプログラム作ってるんだけどAssemblyLoadContextってもしかしてWPFじゃ使っちゃだめなやつ?
0076デフォルトの名無しさん
垢版 |
2023/02/22(水) 18:17:03.58ID:uetx62cD
WPFでアプリのアイコンを動的に選択する方法はありますでしょうか?
WinFormならSystem.Drawing.Iconで呼び出せば良さそうなのですが、
WPFだとSystem.Drawing.Iconは無いってVS2022に言われるのでお願いします。
0078デフォルトの名無しさん
垢版 |
2023/02/23(木) 09:15:32.83ID:1tjEzFEU
コントロールって全てDirect3Dで描画?
グラフ描画系だけ?
0083デフォルトの名無しさん
垢版 |
2023/02/24(金) 10:13:33.17ID:qC9AVot7
>>79
ありがとうございます
アプリ左上とタスクバーのアイコンは変える事が出来ました
ただ、実行ファイルとショートカットのアイコンは変わらないので、別設定が必要なのでしょうか?

・実行ファイルのアイコン変更でやってみた事
×:AppData/Localにあるアイコンファイルを手動で削除してWindowsの再起動
○:別のPCで起動
0085デフォルトの名無しさん
垢版 |
2023/02/24(金) 14:41:34.30ID:qC9AVot7
>>84
インストーラのプロジェクトを2つ作成して、
ショートカットとプログラムファイルでそれぞれ別のアイコンファイルを指定する事で何とか変えられました

インストーラじゃなく実行ファイルの方で、アイコンの指定をスマートに行う方法は無いのかな?
0087デフォルトの名無しさん
垢版 |
2023/02/24(金) 22:04:35.42ID:KCjnBZl8
実行ファイル自体のアイコンを動的にスマートに変える方法?
意味あるのかそれ?
何のためにとしか…

昔はwindowsにアイコンキャッシュがあってアイコン変えてもすぐに反映されなかったりしたけど
0088デフォルトの名無しさん
垢版 |
2023/02/24(金) 23:37:21.09ID:He/Mrrce
みんなはフォルダ構成どんな感じにしてる?
共通で使うようなクラスとか、適当なクラスってどんなフォルダに入れてるか気になる
0089デフォルトの名無しさん
垢版 |
2023/02/25(土) 00:01:59.17ID:5xbVML89
githubで見るのはcoreみたいなフォルダに基本モデル突っ込んであるのは見るけど

そもそもがModelみたいなフォルダは推奨されないんだよね
機能単位で普通はまとめて共通はcommanやcoreとかってイメージ
0093デフォルトの名無しさん
垢版 |
2023/03/01(水) 06:35:24.40ID:i7L8EuSu
いや、標準テーマが古臭いから仕方なく嫌々バグだらけのUWPやWinUI使ってる人が多いだろうから
テーマの問題が解決すればWPFが最善の選択
0094デフォルトの名無しさん
垢版 |
2023/03/01(水) 12:16:16.07ID:a+p+VK9T
>>93
UWPがバグだらけって聞かないけど、何処情報?
それとWinUIも流石に1年半だからバグも減っているように見えるが
0096デフォルトの名無しさん
垢版 |
2023/03/01(水) 14:21:19.72ID:qZJesg35
>>94
GitHubでのバグレポートが700個、Openが2800個
バグじゃなくてQ&Aがいっぱい混じっていて本当のバグを追跡できない
0101デフォルトの名無しさん
垢版 |
2023/03/02(木) 09:22:58.33ID:pwr4e0eZ
857デフォルトの名無しさん (ワッチョイ aa9f-ZYAP)2023/03/02(木) 01:06:05.40ID:pwr4e0eZ0>>858
ModernWPF UIのコンテントダイアログでプログレスダイアログをいい感じにMVVMで実装する方法ないかな?

やりたいこと:
したのコンポーネントをProgressDialog.xamlで定義して、ProgressDialogModelView.cs内でEventAggregatorでイベントを受け取ってプログレスバーとテキストを更新
https://github.com/Kinnara/ModernWpf/wiki/ContentDialog

なんだか、UIが更新されない。(Vueで言うところのnextTick()みたいな処理がいる?)
0102デフォルトの名無しさん
垢版 |
2023/03/02(木) 22:37:03.49ID:eF43jwvI
>>100
有償のコンポーネントやデファクトスタンダードではないライブラリを使うのは論外
ReactivePropertyも当然NG
0104デフォルトの名無しさん
垢版 |
2023/03/02(木) 23:06:32.04ID:uNNfNIJk
WPFでモダンなUIをということでModernWPFそしてwpfuiが生まれ
そしたら突然Win11テーマ対応やるかもと
xamarinの方もやる気なさそうだからとUnoPlatformを生み出したら突然のmauiで梯子を外される

ろくな事にならん
0106デフォルトの名無しさん
垢版 |
2023/03/02(木) 23:11:13.45ID:uNNfNIJk
maui,unoplatform,avalonia まじで開発リソース分散しまくりで、どれもユーザーが少ないからバグだらけのゴミ製品
0107デフォルトの名無しさん
垢版 |
2023/03/03(金) 01:43:34.53ID:3lr6AMu6
質問です!
WPFのListBoxで要素数に応じて高さを変えたいのですがどうすればいいでしょうか?
1要素の高さが分かれば計算出来るのですが取る方法が分かりません。
ご教示下さいませ。
0109デフォルトの名無しさん
垢版 |
2023/03/04(土) 16:03:39.59ID:iCcXQ8Nl
>108
有難う!ググってそこも見てたんだけど取得時にnullになるので諦めてました。
根本的な事が理解出来てなかったようで、コンストラクターでActiveにしたら取得できると思ってたんだけど、これが駄目だったようです。
コンストラクター以外では正常に取得できました!
勉強になりました、有難う!
0114デフォルトの名無しさん
垢版 |
2023/03/07(火) 19:26:50.19ID:awlf9dGM
さすがに公式はもう対応はしないでしょ
C#界の著名人???たちがなんちゃってアクリルとか作ってたけどそこから進展はないし使われてる感もない

以前アクリル使うとパフォーマンスが落ちて消費電力が上がりますってMSが注意してたんだけど一体なんなのか
何がしたいのか?
0115デフォルトの名無しさん
垢版 |
2023/03/07(火) 20:54:38.37ID:oCilbHp7
>>114
>>77で今さらWindows 11テーマ対応を投票してやるかもしれないからびっくりなのよ
WinUI 3がグダグダになってるから今さらやろうとしてるんじゃねぇかな
0116デフォルトの名無しさん
垢版 |
2023/03/07(火) 21:14:57.23ID:jgeYqRwK
マウイの方で聞くべきか迷うんだけどマウイじゃなくてわざわざWinUI3選ぶメリットって何?
バグだらけなの抜きにしても理由思い浮かばん
0117デフォルトの名無しさん
垢版 |
2023/03/07(火) 21:53:56.24ID:oCilbHp7
MAUI使った事ないけど
MAUIは基本クロスプラットフォームでコントロールはネイティブのラッパーだから、標準で用意されてるUIが各OSの最大公約数的なものになるからUI自由度低いと思う(自分で頑張らない限り)

WinUIとMAUIの標準のコントロール数比較
0118デフォルトの名無しさん
垢版 |
2023/03/08(水) 18:32:14.17ID:mcdKv02z
>>116
多分誤解があるんだろうけど

Mauiはクロスプラットフォームの仕組みでxamarinの後継
WinUI3は単なるwindowsのUIライブラリで比べるのは変だよ

xamarinとWPFを比べてxamarinじゃなくてWPFを選ぶメリットって何と言うのと同じレベル

windowsでしかUI必要としないならxamarinやMauiを選ぶメリットは多分ない
0119デフォルトの名無しさん
垢版 |
2023/03/08(水) 18:42:09.48ID:mcdKv02z
Mauiに興味を持つ人間は確実に何かを勘違いしてる
どのレベルでも確実に勘違いがある
使ってみて気が付くまで勘違いしたまま
0120デフォルトの名無しさん
垢版 |
2023/03/08(水) 19:39:39.70ID:wXZtzhRA
テキストボックス、コンボボックス、チェックボックス、ラジオボタンにグリッドが使えればそれだけでいいんだけどそれでもMAUIってダメなん?
0121デフォルトの名無しさん
垢版 |
2023/03/08(水) 20:15:21.62ID:mcdKv02z
さっきも書いたけどwindowsでしか使わないのにMAUIを選ぶ理由は基本的にない

個人個人が好きに使えばいいよ
0122デフォルトの名無しさん
垢版 |
2023/03/08(水) 21:26:16.11ID:xUp/Im5G
>>118
んな当たり前のことが聞きたいんじゃなくてね
最初からMAUIにしとけばどんなアホでもプラットフォーム固有処理と共通処理を分けて設計することになるから少なくとも移植性と将来性の面で有利じゃん
勝手にWindows限定で話されても困るんだけど
>>121
現状xamlの機能はMAUIの方が進んでる訳だがメリット無いとか本気で言ってんならお前の知識の浅さが知れるわ…w
具体的にWinUI3にだけ出来ることとか性能面での優位性とかを書けよ
0124デフォルトの名無しさん
垢版 |
2023/03/08(水) 21:41:01.82ID:UYleOs8I
マウイ君は相変わらずアホだな
一つ教えてやると今度はその付け焼き刃の知識でマウント取ろうと暴れたからめんどいわ
0125デフォルトの名無しさん
垢版 |
2023/03/08(水) 21:51:03.42ID:0kF8prTi
マウイ君は心折れたっぽいね
知識多少はあったからもうちょとできるのかと思ったが5chBrowserの進捗見てたけどあんなにコード書けないのにびっくりしたわ
0128デフォルトの名無しさん
垢版 |
2023/03/08(水) 23:51:38.20ID:mcdKv02z
>>122
一番目の主張と二番目の主張が矛盾してる

1番目は汎用性を持たせろ!
2番目は進んでるほうを使え!

君は何が言いたいんだ
ただ単に馬鹿をさらして終わるのか?
0129デフォルトの名無しさん
垢版 |
2023/03/08(水) 23:57:16.67ID:mcdKv02z
>>122
プラットフォーム固有処理と共通処理を分けて設計したくないからだろう
わざわざそんなことをしたくない
過去にPLC(ポータブル クラス ライブラリ)とか使って地獄を見てたから汎用性なんてなくていいと思うわ

単一のGUIフレームワークを選択して書いて終わりじゃないか
なんで必要もないのに苦行をするんだか
0131デフォルトの名無しさん
垢版 |
2023/03/09(木) 00:24:27.52ID:5mRrsMYs
>>129
顔真っ赤で草
重箱の隅つつくのに必死で質問にはまともに答えられません…とw
お前がクロスプラットフォーム設計も議論もろくに出来ない初心者なのはわかったからもういいよ
マウント取りたいなら>>117 みたいに推測でもいいから有用なレスを書こうな
0132デフォルトの名無しさん
垢版 |
2023/03/09(木) 01:11:09.89ID:vhjcvbSa
>>131
こいつMauiがWinUI3に乗っかってるのも知らなそうだな…

バグだらけのWinUI3使うよりMaui使えっていうけどwindowsではWinUI3の上に載ってるんだから矛盾してる
0133デフォルトの名無しさん
垢版 |
2023/03/09(木) 01:39:11.93ID:H1QN25OQ
>>132
知ってるわんなこと
WinUI3で出来ることがMAUIでも出来るんだったらわざわざWinUI3単体で開発するメリット無くねってことを言ってんの
いつまで論点ずらしてんだよ
0134デフォルトの名無しさん
垢版 |
2023/03/09(木) 04:49:42.57ID:NtaOoLzk
>>133
MAUIだと他のプラットフォームとの兼ね合いからWinUiで使えるコントロールはデフォルトで用意されてないから、当然Windows限定ならWinUIで作ったほうが楽
カスタムコントロール作ればまあできるけど結構めんどくさいよ
0135デフォルトの名無しさん
垢版 |
2023/03/09(木) 04:51:21.62ID:NtaOoLzk
あとMAUIもバグだらけだからWinUIのバグに加えてMAUIのバグにも悩まされるってのもあるねw
0137デフォルトの名無しさん
垢版 |
2023/03/09(木) 13:14:29.62ID:SOUYY3o2
xamlが中途半端でクソなのは全面同意
MAUI開発のネックは標準コントロールの少なさぐらいかね
DataGridとかデフォで機能もりもりなコントロールすぐ使いたくて尚且つWindows限定でいいならWinUI3かWPFって感じか
0140デフォルトの名無しさん
垢版 |
2023/03/09(木) 21:15:38.70ID:wIQvQwlN
>>126
ちょっと慣れると楽だよな〜。
始めは敷居高いな。
0141デフォルトの名無しさん
垢版 |
2023/03/10(金) 00:17:30.09ID:bsHWuvF6
winformsは楽
だらだらとテキストログを吐くアプリで使える

使い捨ては大体これ
0146デフォルトの名無しさん
垢版 |
2023/03/11(土) 01:33:46.36ID:hGgfyS5a
>>143
もう完成してる
0147デフォルトの名無しさん
垢版 |
2023/03/11(土) 01:36:39.66ID:hGgfyS5a
Silk.NETっていうOpenGLライブラリでWinUIとかで使えるようにControlとして描画したいのにそういった資料が全然なくてムカつく
公式ドキュメントも全くできてないからそういうコントロールがすでに用意されてるのかもわからん
OpenTKにはそういうのあるようだがせっかくだからSilk.NETで作りたい
https://dotnet.github.io/Silk.NET/
0148デフォルトの名無しさん
垢版 |
2023/03/11(土) 01:39:14.02ID:hGgfyS5a
>>125
パーサー簡単に作れる人?
0150デフォルトの名無しさん
垢版 |
2023/03/11(土) 13:18:52.20ID:V6KAuR8t
>>130
Excelは呪いを残すことがあるから、VBAを書き始めたら気を付けないと
0151デフォルトの名無しさん
垢版 |
2023/03/11(土) 13:35:47.88ID:hGgfyS5a
>>149
たしかにそうか…
0154デフォルトの名無しさん
垢版 |
2023/03/20(月) 21:15:56.81ID:uNO1Q/Lg
task.run() で非同期で動かしているんだが、VSでF5押して起動した場合は
UIも固まらずうまく動くけど、EXEたたいて実行するとUIが固まる。
なにこれ。
0157デフォルトの名無しさん
垢版 |
2023/03/21(火) 17:32:45.31ID:YHDXYuuI
await 付けてたような。
await あるなし は環境で動作違うのか?
0159デフォルトの名無しさん
垢版 |
2023/03/21(火) 18:17:55.80ID:YHDXYuuI
VS上で動作変でEXE版は正常ならまだわかるんだが。
0161デフォルトの名無しさん
垢版 |
2023/03/21(火) 19:25:53.19ID:bmg/fMak
exe叩いてVSでアタッチしても再現するか?
VSでデバッグせずに起動でも再現するか?
exe作成時とVSで起動時でビルドの設定を変えてないか?
0162デフォルトの名無しさん
垢版 |
2023/03/21(火) 21:26:35.93ID:YHDXYuuI
>exe叩いてVSでアタッチしても再現するか?
これやったことないな。

>VSでデバッグせずに起動でも再現するか?
知らんけどリリース でメークしてる。

>exe作成時とVSで起動時でビルドの設定を変えてないか?
同じ。F5でEXE作ってエクスプローラからEXEをWクリックで起動。

やってることはCSV読み出し。
今度ソースアップするわ。
0163デフォルトの名無しさん
垢版 |
2023/03/21(火) 21:44:54.71ID:w9OlRdDI
多分Taskとawaitの挙動を理解してないだけだから
メソッドの作成ミス

awaitは実質returnなんだ
そこに至ると一旦上位層にもどる

await await await とasyncメソッドが連鎖的にGUIレベルまでreturnで落ちるように書かかないとビジーになる
途中で止めてはいけない
多分ボタンクリックイベントから実行してるんだろ
そこのbuttun_clickもasync書け
0165デフォルトの名無しさん
垢版 |
2023/03/21(火) 21:49:09.50ID:w9OlRdDI
普通の重い処理はbutton_click内で重い処理してそこから出てこないからGUIがビジーになる
GUIに処理をもどしてないからGUIは何もできない

async awaitはそこでreturnしてるのと変わらないので一番最後まで返してやれば
GUIは処理ができるのでビジーにならない
0167デフォルトの名無しさん
垢版 |
2023/03/22(水) 06:06:04.57ID://ZBVQ4n
>>163
だからVSでF5押して起動かけた場合と作られたEXEを実行したときに
違いが起きるという事だけど。
VS上では正しく動く。
0168デフォルトの名無しさん
垢版 |
2023/03/22(水) 06:31:08.51ID://ZBVQ4n
>>156
ここ前見たな。
マルチスレッドの勉強はいろいろとサンブル
動かして挙動を確認するのが一番だな。
パターンが多いよな。
0169デフォルトの名無しさん
垢版 |
2023/03/22(水) 09:42:09.18ID:Nclm91Ij
test
0170デフォルトの名無しさん
垢版 |
2023/03/22(水) 17:42:45.34ID:xzHaZjM+
>>167
コード見てないからなんとも言えないけど初心者感丸出しだなあと言う感想しかない
> VS上では正しく動く。
これを見ると特にそう感じる
ある程度コードを書いてるとこんな表現まずしないから

ここからは一般論として

大体コードは書いた通りに動くと言うけどそうじゃないこともある
debugとrelaseでは動作が違う
relaseビルドで最適化で必要な部分が消されておかしくなったりフレームワークのバグが顕在化することもあるけど実際は1%もない
debugビルドは補助輪が付いた状態で間違ってても動いたりする

基本的にrelaseビルドの動作が正解でそれが書いたコードの本来の正しい動き
debugで誰かの言う "正しく動く" と言うの自分の想定した動作をしているだけで正しく動くのとは違う
今回のはどうか知らんけど大体は自分のコードのバグが原因
0172デフォルトの名無しさん
垢版 |
2023/03/22(水) 18:11:15.32ID:xzHaZjM+
Maui君なのか
相手して損した

debugはdisposeしたはずのリソースにアクセス出来たりヒープ物故割れてるのに何事もなく使えたりする
0173デフォルトの名無しさん
垢版 |
2023/03/22(水) 22:23:36.35ID:+GzFm+gl
>>166
WinUIは今のところ様子見(開発要員少なそうだから半年に1回ぐらい状況チェックで十分)。
バグとかパフォーマンスとかファイルサイズとか酷すぎてとてもじゃないけど使いたいと思わない。
UWPも出始めの頃ちょっと触ってみてその後使う機会なかったけど深入りしなくてよかった。時間を無駄に捨てないで済んだ。
0174デフォルトの名無しさん
垢版 |
2023/03/22(水) 23:07:16.35ID:xzHaZjM+
正直なところどちらも将来性はないとおもうわ

WinUI3はwinUI4が出たころに考えればいいよ
WPFは17年近く経ちやっとMVVMの本命が出てきたから枯れたベースに接ぎ木して使う分にはいい
0175デフォルトの名無しさん
垢版 |
2023/03/22(水) 23:22:26.34ID:KifTk0Kr
UWPは品質はよかったよ
何度かバグふみぬいたけど、短期間にあれだけのものを仕上げたのは素晴らしい
Windowsスマホとか全力だったからなMicrosoft
それに対してWinUIのやる気のなさは
0176デフォルトの名無しさん
垢版 |
2023/03/22(水) 23:27:22.18ID:KifTk0Kr
まぁ、深入りもなに幸いWPFにしろUWPにしろMAUIにしろどれか一つできればxamlに方言はあるにせよ知識無駄にならないのが救い
0178デフォルトの名無しさん
垢版 |
2023/03/23(木) 00:03:18.46ID:m8shBfmm
MSの中の人からすればWindowsAPIを使いこなせない連中はこれでも使ってろって感じなんだろ
0183デフォルトの名無しさん
垢版 |
2023/03/25(土) 22:18:41.24ID:FyyDShDG
>>173
流石に1年半も経っているからパフォーマンスは十分な速度が出るようになっているし
トリミングでサイズの問題も解決している
0184デフォルトの名無しさん
垢版 |
2023/03/25(土) 22:19:35.22ID:wgIKN+ci
5chは専用ブラウザは許可が必要なんじゃなかったか?
個人で常識の範囲内の負荷で使うなら文句言われないだろうけど
0185デフォルトの名無しさん
垢版 |
2023/03/25(土) 22:53:09.45ID:b5Zftm/K
WinUI 3は未だにオープンソース化されてないからWPFと違ってコミュニティがプルリクエストもできないし、サービスパックと称したアップデートは2,3のやべえバグだけ潰しておしまいだし、それ以外のアップデートでもちょこっとバグ潰しておしまいだし
バグ報告しても1ヶ月は全く反応がないのがザラだし

まじでオワコン
0187デフォルトの名無しさん
垢版 |
2023/03/26(日) 16:11:32.11ID:I2d6Lgjx
デスクトップアプリ、どのフレームワークで作る?
最低要件(最低限これくらいは満たしてね)チェックシート2023
============================================================================

チェック用アプリ仕様:
 アプリ上の"はろー"ボタンをマウスでクリックしたらメッセージボックスで"わーるど"を表示する

(1)配布要件1:動作させるのに必要なファイル一式を任意の場所に配置して動作する
(2)配布要件2:管理者権限不要で配置できる
(3)配布要件3:動作させるのに必要なファイル数が10以内 ※1

(4)起動要件1:エントリファイルをダブルクリックして起動可
(5)起動要件2:エントリファイルをPowerShellから起動可
(6)起動要件3:管理者権限不要で起動可
(7)起動要件4:ネットワーク切断状態(スタンドアロン)で動作する

(8)メモリ要件:
 A:起動時の消費メモリが20MiB以内
 B:起動時の消費メモリが40MiB以内

(9)ストレージ要件:
 A:動作させるのに必要なファイルサイズ合計が200KiB以内 ※1
 B:動作させるのに必要なファイルサイズ合計が1MiB以内 ※1

※1. OSにプリインストールされているランタイムは除く

============================================================================
(1)~(7)はYesの場合+10, Noの場合は-100
(8)~(9)はAの場合+10, Bの場合+5, その他は-100

合計点80以上が合格ライン(当然点数は高ければ高いほど優秀)
0188182
垢版 |
2023/03/26(日) 16:44:43.94ID:eOh+bm3F
なるほど。proxy2chというのを使わせてもらえば、datを取得できるということですね
後はガワだけ作ればいいと。

構想練ってみます
0190デフォルトの名無しさん
垢版 |
2023/03/26(日) 18:01:39.24ID:eOh+bm3F
そうだね、分からないことあったら先人が残したスレを活用させてもうおうかとw

とりあえずガワはWPFでWindows10以降専用。スマフォアプリとか考えない
過去ログ保存等はSQLite3
C#にef coreという王道で始めてみようかと

来月GW当たりから着手できたらいいな
0191デフォルトの名無しさん
垢版 |
2023/03/26(日) 20:37:57.66ID:fUM+abqb
>>187

> デスクトップアプリ、どのフレームワークで作る?
> 最低要件(最低限これくらいは満たしてね)チェックシート2023

WinUI 3 (C++)

(1)OK
(2)OK
(3)2つ
(4)OK
(5)OK
(6)OK
(7)OK
(8)25MB
(9)260KB

合計点 80
0195デフォルトの名無しさん
垢版 |
2023/03/26(日) 23:34:44.73ID:xVxTUxS7
>>194
貴方の結果がその通りなのは承知しているのだが、
チェックシート自体がクソなのでやってもしょうがなさそうだと思った。
0197デフォルトの名無しさん
垢版 |
2023/03/28(火) 20:33:05.23ID:+fEU/xnF
全部クリアして当たり前のゆるゆるなチェックシートだから
クソなのはNGになるフレームワークの方やで
0202デフォルトの名無しさん
垢版 |
2023/04/08(土) 00:18:10.44ID:6o1jJWCj
ChatGPTで
WindowsFormのアプリ(複雑怪奇)をWPFで書き直すってできるようにならんかな
0203デフォルトの名無しさん
垢版 |
2023/04/13(木) 20:49:10.00ID:0SqhBdqB
WPFで複雑なレイアウトや動作をさせようとするとWinForms以上にはまるからまずは簡素化することをおすすめする
0204デフォルトの名無しさん
垢版 |
2023/04/13(木) 21:20:01.34ID:YZ8/Xbx0
マジでそろそろwinui完成させろよ
どれもこれも中途半端な開発しやがって
winformsが一番マシって舐めてるのか
0205デフォルトの名無しさん
垢版 |
2023/04/13(木) 21:50:51.24ID:TA914v/t
ちょうど1.3リリースされてるじゃん
どのバグがフィックスされたのか一覧ないのか?
もちろん全くフィックスしてなくてちょっこ新機能しておしまいっていつも通りだろうが
0207デフォルトの名無しさん
垢版 |
2023/04/13(木) 22:07:02.72ID:ygBYLsEy
見た目良くするだけならライブラリ入れれば事足りるし現状WPFからWinUI3に移行するメリットなんかあんの
機能的なアドを見出だせないんだが
0208デフォルトの名無しさん
垢版 |
2023/04/13(木) 22:10:31.64ID:+RvjRnu8
ChatGPT最高だな。正規表現が苦手なんだけど、サクッとコード作ってくれて大いに助かるわ
0210デフォルトの名無しさん
垢版 |
2023/04/13(木) 22:26:50.87ID:vo8owMeT
正規表現って自分で作ってるうちはまだいいんだけど人の作った奴読みたくないんだよな
0214デフォルトの名無しさん
垢版 |
2023/04/13(木) 23:03:12.77ID:TA914v/t
>>213
まだオープンソースになってないからね
WPFみたくプルリクエストすらないからね
やる気あるやつはいそうだからさっさとオープンソースにしてコミュニティの力取り込めばマシになるのか知らんが

https://github.com/microsoft/microsoft-ui-xaml/discussions/8381
来週のCommunity Call参加しろよな
100人ぐらいしかいないが
0215デフォルトの名無しさん
垢版 |
2023/04/14(金) 08:05:39.02ID:quiJUkGU
コミュニティツールキットっていうのがある
0218デフォルトの名無しさん
垢版 |
2023/04/17(月) 23:06:22.71ID:55hnvdVJ
Win11のエクスプローラーはWinUI3にするんだってよ
0221デフォルトの名無しさん
垢版 |
2023/04/19(水) 12:18:26.20ID:ol2MoW3S
現状開発中でデザイナもないから無理なんじゃ?

winUI3にデザイナがない理由をBingChatに聞いたら開発中だからまだないんですみたいな返事だった
0224デフォルトの名無しさん
垢版 |
2023/04/19(水) 12:58:13.90ID:8YO3i6rs
ウィンドウにテーマが導入されたおかげでデザイナと実物が違うために画面が崩れる問題あったろ
今はホットリロードの方向に向かってんぞ
0225デフォルトの名無しさん
垢版 |
2023/04/19(水) 13:28:21.98ID:M0p7OS8k
デザイナの役割ってそれだけじゃないからなあ
書いた結果を見せるだけじゃなくて書くことをサポートしてくれ
0227デフォルトの名無しさん
垢版 |
2023/04/19(水) 14:30:31.37ID:/RLG/xCj
WinUI3だけどホットリロードのときFontSize=""で落ちるのはいい加減直してほしいわ
0230デフォルトの名無しさん
垢版 |
2023/04/19(水) 21:08:24.61ID:Mr3y5+iF
>>226
そのコントロールの初期配置とかアライメントやネスト構造をマウスだけで決定したいし
基本的なプロパティをゼロからじゃなくて選択肢から選びたいんだ

あとTemplate構造とかコピペじゃなくて理解して書けるようになるまでのハードル高すぎやろ
0231デフォルトの名無しさん
垢版 |
2023/04/19(水) 21:42:04.40ID:A9DJak9S
>>230
マウスだけで決定するからウィンドウの大きさを変えると配置が乱れると言うやつが出てくる
0233デフォルトの名無しさん
垢版 |
2023/04/19(水) 22:05:13.57ID:Mr3y5+iF
>>230
それはデザイナの実装の問題であってデザイナが不要という話ではない
AndroidのConstraintLayout輸入してほしいものだ
0235デフォルトの名無しさん
垢版 |
2023/04/19(水) 22:40:31.49ID:ol2MoW3S
WinUI3のリーダーも未熟だしあまり今後まともになるとも思えない
コミュニティに依存しすぎ

使う人がいないといくら何を提供しても無駄
0236デフォルトの名無しさん
垢版 |
2023/04/19(水) 22:48:34.09ID:I1m9YaCA
はよまともにしてくれ…
おかげでflutterやpysideとか手を出してしまったじゃないか
0237デフォルトの名無しさん
垢版 |
2023/04/19(水) 23:18:22.82ID:TPt8E4yO
現状はWinUI3は忘れてWPFにしばらく戻るってのが正解だよね
0238デフォルトの名無しさん
垢版 |
2023/04/19(水) 23:28:56.67ID:A9DJak9S
>>233
マウスで大きさ変えるバカが悪いって話だぞ?
Dock使え
サイズ指定する場合は余白を数値入力してAnchor使え
0239デフォルトの名無しさん
垢版 |
2023/04/19(水) 23:32:41.85ID:lSGPfr3m
正解
WPF->Windows 11テーマ対応発表(今ここ)->WPFのクロスプラットフォーム化発表になったら笑えない
0240デフォルトの名無しさん
垢版 |
2023/04/19(水) 23:45:29.36ID:Mr3y5+iF
>>238
それはデザイナの実装でサイズ変更できなくすればいいでしょ
デザイナからマウスポチポチしたりD&Dで寄せたりすることで
DockやAnchorへのアクセス提供してくれたら探す手間が省けるし楽になる

WPFで提供されてるデザイナを少し縛ったり編集しやすくするだけでいい
0242デフォルトの名無しさん
垢版 |
2023/04/19(水) 23:54:46.09ID:Mr3y5+iF
基本的にレスポンシブなデザインを導けるデザイナであるべきじゃね
なんで変えちゃいかんと思ってるのかが不思議だわ
0246デフォルトの名無しさん
垢版 |
2023/04/20(木) 17:06:33.96ID:xI7DFvcm
QTとか買収して取り込んでくれないかな
C#だってDelphiの人が作ってくれたんだろ?
MSって開発力ないんだから良さそうなのは買収していけばいいのに
0248デフォルトの名無しさん
垢版 |
2023/04/20(木) 20:34:35.30ID:r8HsJBjY
>>246
アメリカの法律では、
「同じ分野の会社を取り込むのは独占禁止法に違反する」
ということだったはず。
実際は異なる分野であっても会社が巨大化することは独占禁止法違反の疑いが
あるわけだが。
0250デフォルトの名無しさん
垢版 |
2023/04/21(金) 11:00:28.32ID:CUCyv0EB
なんでプログラマーってUIに弱いんだろうな
この世のゴミみたいなUIしか作れないだろ

それはデザイナーの仕事というプログラマーが多いが、デザイナーにVS使わせるのか?
0251デフォルトの名無しさん
垢版 |
2023/04/21(金) 11:36:15.09ID:+5v/m/lz
いつもの自称デザイナーさんかな?

マジレスするとUIデザインとプログラミングは脳の使い方が全く違うから
要件定義が末端プログラマーの仕事でないのと同じ
0254デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:06:41.78ID:/VhDvdfw
デザイナーの書いた仕様書とスケッチを見てプログラマーが打ち込むに決まってんじゃん
0255デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:09:04.32ID:CUCyv0EB
プログラマーのデザイン再現スキルが絶望的なのにどうやって打ち込むんだよ?
0257デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:10:52.89ID:CUCyv0EB
1pxで再現求められてるとかあり得ない極端な言い訳はいらん
毎回このレスがされるが
0259デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:15:17.00ID:CUCyv0EB
手書きだろうが手描きだろうがイラレやフォトショやFigmaだろうが何を使ってもプログラマーのデザイン再現スキルが絶望的だから再現不可能じゃん
できてると思ってるのは生まれつき図形認識能力が劣ってるプログラマーだけ
0261デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:31:12.29ID:CUCyv0EB
>>260
数百人のプログラマーたちと仕事してきたが俺含めて数名以外にまともにできる奴を見たことがない

ちなみに受託開発してる大手の会社の奴も同じことを言っていた
採用エージェントの奴も多くのエンジニアと面接をしてきてUIできるエンジニアはほぼいないと言っていた
0262デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:32:45.66ID:/VhDvdfw
>>261
底辺の更に下ならそうかもな
お前の周囲など知らんわ
まともに義務教育受けてればできる
0263デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:36:05.34ID:CUCyv0EB
>>262
どっちにしてもお前みたいな自分はできてると勘違いしてるプログラマーばかり見てきた
お前と一緒に仕事してる奴らが可哀想だなという感想しかない
0265デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:38:52.79ID:/VhDvdfw
さすがにサイズ合わせもできんやつがトップ張ってるようなところを羨ましいとは思わんぞ?
0267デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:54:52.22ID:HBOduq4l
>俺含めて数名以外にまともにできる奴を見たことがない
>自分はできてると勘違いしてるプログラマーばかり見てきた

たった2レスで見事なブーメラン
0268デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:57:24.99ID:CUCyv0EB
サイズ合わせはどこからでてきたんだ
こういう突然脳内の妄想を平気で吐き出すジジイと仕事してる連中が哀れすぎる
0269デフォルトの名無しさん
垢版 |
2023/04/21(金) 13:59:28.90ID:CUCyv0EB
>>266
ほとんどのプログラマーはfigmaの存在すら知らないし話しても理解する脳みそを持っていない
0272デフォルトの名無しさん
垢版 |
2023/04/21(金) 16:07:21.83ID:+AIcyQO1
Figmaで出来てるならそのままHTML/CSS出力したら終わりだろw
何を打ち込ませてんだよww

これだから自称デザイナーはwww
0274デフォルトの名無しさん
垢版 |
2023/04/21(金) 17:29:48.24ID:b1ddeNd5
>>249
WindowsやAzureで儲けた金でVisual Studio Communityを無料で配布
するのはダンピングにならないんでしょうかね。
0275デフォルトの名無しさん
垢版 |
2023/04/21(金) 17:33:40.09ID:aEyDVW3z
>>273
XAMLでもステップが増えるだけで同じやで
プログラマーに打ち込ませるなんて壮大な無駄はやめような
0277デフォルトの名無しさん
垢版 |
2023/04/21(金) 17:47:23.90ID:7N5Zd8uN
とりあえずキーボードでの操作も考えたUIUXをデザインしてください。
ファンクションキーの表示なんて最高ですね
0278デフォルトの名無しさん
垢版 |
2023/04/21(金) 17:48:27.18ID:/VhDvdfw
デザイナーが描いたものがそのまま使えるわけないじゃんていうね
そのまま使えるくらいのものが書けるんだったらxaml書かせるわw
0279デフォルトの名無しさん
垢版 |
2023/04/21(金) 18:13:45.93ID:b1ddeNd5
Office、Windows、Azureで大儲けして余った金で開発環境を無料にする
というのは、SDGs に即しているんでしょうか。
国は、ライバル企業が苦しむことは放置して構わないと言うこと?
これやりだすと、マイクロソフトがソフトウェアを全て牛耳る様になるのでは?
0282デフォルトの名無しさん
垢版 |
2023/04/21(金) 19:06:29.49ID:b1ddeNd5
SDGs 的にはどうなのさ。
ライバル企業の劣悪環境の労働状態を招くことへの配慮は。
仮に開発環境としては安いとしても、ボランティアではなく企業が作っているもの
としては一社しか作れない状態になって果たしていいのかとか。
0283デフォルトの名無しさん
垢版 |
2023/04/21(金) 19:19:55.95ID:d/997YIC
何を言ってるんだお前は
無料の製品がいくつもある市場で問題になるわけがないだろ
0284デフォルトの名無しさん
垢版 |
2023/04/21(金) 19:31:37.32ID:b1ddeNd5
>>283
無料の開発環境は短時間で小数で作られているかもしれない。
大規模に長期間かけて開発したものを無料にするのはおかしい。
しかも世界最強の開発環境と称されているものを無料にするとはSDGsに反する。
0285デフォルトの名無しさん
垢版 |
2023/04/21(金) 19:38:56.29ID:8+stJbO7
その開発環境を使ってサービスを生み出すことが持続可能になるから良いんだよ
0286デフォルトの名無しさん
垢版 |
2023/04/21(金) 19:40:55.03ID:b1ddeNd5
>>285
自動車を使ってサービスを生み出すことが持続可能になるからと言って、
自動車を無料にするのはおかしい。
0289デフォルトの名無しさん
垢版 |
2023/04/21(金) 22:35:00.81ID:j6t40sX8
ItemsView
ItemContainer
RiverFlowLayout
AnnotatedScrollbar
これは直にWinUIに取り込まれるってこと?
0290デフォルトの名無しさん
垢版 |
2023/04/21(金) 22:48:56.87ID:0+YhO3oT
>>278
どんなデザイナーwと仕事してんだよw
0292デフォルトの名無しさん
垢版 |
2023/04/22(土) 00:35:17.77ID:PfHgG0pw
>>291
XAMLに変換すればいいの
わかる?
直接XAML書かせる必要なんてないの
バカかよw
0294デフォルトの名無しさん
垢版 |
2023/04/22(土) 11:12:57.37ID:cFUUroIi
昔はhtml <-> XAMLみたいのもあったけどcssわからないと意味がない

プログラマになろうという広告があって見て見たら実際はwebデザイナでしたみたいな話が多い
世間で言うプログラマのイメージがwebデザイナで上書きされてもおかしくない
0295デフォルトの名無しさん
垢版 |
2023/04/22(土) 11:55:22.82ID:GXtcpEaj
本当にガワだけのデザイン
アプリのユーザビリティも含めたデザイン
動きやらレスポンスを含めたデザイン

どうプログラマがカバーしていくのかごちゃごちゃしとる
0296デフォルトの名無しさん
垢版 |
2023/04/22(土) 13:36:51.25ID:tS4eIgy6
WinUI3はリリースノートに乗っていないバグフィックスも結構やっていて
例えばテーマ関係が不安定だったのがいまやどのコントロールもマトモにテーマの切り替えができる
内部のエラーが発生しないようになったのか、コードがWPFより少し早いくらいまで改善
リリースノートだけ見て暴れている人いるけど迷惑だわ
0300デフォルトの名無しさん
垢版 |
2023/04/22(土) 17:01:48.35ID:GXtcpEaj
リリースノートに書ききれないバグフィックスリリースの内はまだまだこなれてない
0302デフォルトの名無しさん
垢版 |
2023/04/23(日) 01:31:20.99ID:fdU+YKfd
ネット上でやりとりする人間は変なひとしかいない。
外国人でも日本人でも同じ。
0304デフォルトの名無しさん
垢版 |
2023/04/23(日) 11:02:21.47ID:DUqm0gOH
winUIはしばらく空気
期待したc++からの利用が進む状況でもない
実際にいくつかc++で作ってみてこれやれる人ってほぼいないんじゃないかと実感
0306デフォルトの名無しさん
垢版 |
2023/04/24(月) 00:25:07.62ID:M0P0lq9X
WPFをWinUI3に移行しようと思って手を動かしてみてるんだけど
WPF -> UWPの時に変更されたポイントが引き継がれていて
結局UWPもある程度勉強しないと分からんな
UWP以降の方が理にかなった記述ができるようになっていると思うけど
WPFから乗り換えるのは結構しんどいね
0307デフォルトの名無しさん
垢版 |
2023/04/25(火) 15:07:11.52ID:aGMk631w
WPFでバインディングしたテキストボックスに、ファイルで読み込んだ値を入れても表示されないのですが、
UpdateSourceを後から呼び出す方法ってあるのでしょうか?
ググってもキー入力のサンプルばかりなので聞いてみました。
0315デフォルトの名無しさん
垢版 |
2023/05/01(月) 20:56:27.77ID:kCwS8NPD
WPFの画面を印刷したくてスクリーンショットとってpng形式で保存->MSPAINTで
印刷、という風にやってたけど、XAML直で簡単に印刷できるのな。
今日知ったわ。
0317デフォルトの名無しさん
垢版 |
2023/05/02(火) 07:15:51.42ID:KE+nSfQy
ペーパーレスとは言えまだ必要だしバッチリ綺麗に印刷できると気持ちいいw
0318デフォルトの名無しさん
垢版 |
2023/05/02(火) 22:23:26.15ID:sWm6w+Yt
>>315
どうやるのか教えてほしいっす
0319デフォルトの名無しさん
垢版 |
2023/05/03(水) 07:52:20.02ID:MYtDffGH
どこかのサイトみてやったんだがわからんな。
ソースは職場なんで明けだな。
0320デフォルトの名無しさん
垢版 |
2023/05/04(木) 20:07:06.46ID:OWBNkYFc
帳票だったらEXCELでテンプレート作ってClosedXMLでやっちゃうのが
お手軽ではある。
セルの設定しておけば数値放り込むだけで後は勝手に処理してくれるし。
0323デフォルトの名無しさん
垢版 |
2023/05/05(金) 11:03:07.11ID:6aT9WaSX
ドラッグ&ドロップの質問です。

<ListView AllowDrop="True" DragOver="listView_DragOver" Drop="listView_Drop" ...

WPFだとエクスプローラーでも別のファイラーアプリでもEverythingでももちろんできます。

まったく同じことをWinUI3だとエクスプローラーでも別のファイラーでもできるけど、
Everythingではイベントが起きずできません。

どこか間違ってる?変更されてる?
どうにかできる方法ありますか?
0324デフォルトの名無しさん
垢版 |
2023/05/05(金) 13:40:45.29ID:+H0gkw8G
解決方法は知らんが権限周りかな
Everythingをサービスとしてや管理者として実行してないか
0325デフォルトの名無しさん
垢版 |
2023/05/05(金) 17:05:38.58ID:6aT9WaSX
>>324
サービス、管理者として実行だとD&D不可、
通常実行だと可でした。

自分用なのでEverything側で凌ぐことにします。

ありがとうございました!
0326デフォルトの名無しさん
垢版 |
2023/05/08(月) 19:33:50.78ID:eTiXLebz
XAML印刷

// 印刷にあたり調整 <Grid x:Name="G1" Background="#FFE5E5E5">
var tfg = new TransformGroup();
tfg.Children.Add(new ScaleTransform(0.65,0.65)); //65%
tfg.Children.Add(new TranslateTransform(30, 20)); // 左にボタンがあるので
それを印刷させないため移動

G1.RenderTransform = tfg;

PrintDialog printDialog = new PrintDialog();

printDialog.PrintTicket.PageOrientation=System.Printing.PageOrientation.Land
scape;
printDialog.PrintTicket.PageMediaSize = new System.Printing.
PageMediaSize(System.Printing.PageMediaSizeName.ISOA4);
printDialog.PrintVisual(G1, "test");

// 元の大きさへ
var tfg2 = new TransformGroup();
tfg2.Children.Add(new ScaleTransform(1.00,1.0)); //100%
tfg2.Children.Add(new TranslateTransform(0, 0));//元の位置へ
G1.RenderTransform = tfg2;
0327デフォルトの名無しさん
垢版 |
2023/05/08(月) 19:37:33.91ID:eTiXLebz
>>322
結構便利だよ。
セルさえ変わらなければ自由に変えられるし。
closed XMLはEXCELがインストールされてるのが前提だが。
0328デフォルトの名無しさん
垢版 |
2023/05/08(月) 22:37:54.46ID:3zTSAd/T
便乗質問お願いします。
Win10だと下記でプリンタ選択できたのですがWin11だとできません。
どうすればよいでしょうか?

var printerName = "プリンタ名";
var printDialog = new PrintDialog();
var lps = new LocalPrintServer();
var printQue = lps.GetPrintQueues().Where(x => x.Name == printerName).FirstOrDefault();
if (printQue != null) printDialog.PrintQueue = printQue;
printDialog.ShowDialog();
0329デフォルトの名無しさん
垢版 |
2023/05/09(火) 06:57:43.46ID:oR/IazVW
プリンタ名あってるか。
0331デフォルトの名無しさん
垢版 |
2023/05/09(火) 10:57:03.67ID:YTbu4xRN
もちろん合ってますよ
lps.GetPrintQueue(printerName)でもいいんですが無いと例外出るので回しています
ちなみにShowDialogの前にprintDialog.PrintQueue.Name 見るとちゃんと変わっています
環境は.NET Framework4.8
Win11の使いにくいダイアログです
0332デフォルトの名無しさん
垢版 |
2023/05/09(火) 11:53:29.92ID:k/H+QMeH
選択できませんって具体的にどういうこと?
自分は分かってても他人はそれだけでは状況を正確に捉えられないよ
0333デフォルトの名無しさん
垢版 |
2023/05/09(火) 12:08:27.85ID:YTbu4xRN
印刷ダイアログを開いた時点で
ダイアログ内で選択されている出力プリンタを変更出来ません
Win11では常に「通常使用するプリンタ」が選択されています
開いた後に変更は出来ます
Win10では変更できます
動画じゃないと理解していただけないでしょうか?
0336デフォルトの名無しさん
垢版 |
2023/05/09(火) 12:49:06.16ID:vlSDegU5
>>333
印刷ダイアログ表示時に初期選択されているプリンタをコードで設定しようとしてるのに
Windows11ではそれが無視されてシステム既定のプリンタが初期選択された状態でダイアログが表示されてしまう
という解釈でいいのかな?
0338デフォルトの名無しさん
垢版 |
2023/05/09(火) 15:41:13.56ID:fHFGuVZX
>>336
そうです
Windows11 22H2の「Win32アプリケーションから印刷しています」ダイアログで事前にプリンタを変更できません。
0339332 336
垢版 |
2023/05/09(火) 18:26:02.30ID:EfOvDufh
>>338
11は手元にないからざっと調べるだけ調べてみたけど新しい印刷ダイアログは曲者らしいね
ただ見つかるのはレジストリいじって従来のに戻す方法に関する情報ばっかりで
プログラムから操作する際の注意点なんかは見当たらず
同じ問題に遭遇して解決した人の目に留まればいいんだけど
0341デフォルトの名無しさん
垢版 |
2023/05/09(火) 19:21:57.74ID:oR/IazVW
そりゃそうだろ。教えて自分に何のメリットもない。
親切心で書くくらいだ。
0343デフォルトの名無しさん
垢版 |
2023/05/09(火) 20:23:43.53ID:D8tEecOC
>>342
一石二鳥やないか
0344デフォルトの名無しさん
垢版 |
2023/05/09(火) 20:25:08.84ID:oR/IazVW
OSの違いだけで動作不良なら仕様外の動作してるんだろ。
あとLINQはバグの元だ。
0346デフォルトの名無しさん
垢版 |
2023/05/09(火) 21:25:33.34ID:oR/IazVW
reg add "HKCU\Software\Microsoft\Print\UnifiedPrintDialog" /v "PreferLegacyPrintDialog" /d 1 /t REG_DWORD /f
これとかね。
0350デフォルトの名無しさん
垢版 |
2023/05/10(水) 12:40:53.83ID:qs6QvCEc
LINQはバグの元とか言っちゃうあたりお察し
後から従来のダイアログを使う方法を出してきたあたり、適当なこと言ったって自覚はあるのだろう
0353デフォルトの名無しさん
垢版 |
2023/05/10(水) 22:22:46.25ID:zXoG8uKj
this feature may not make it in time for .NET 8 (possibly .NET 9)
Win11Themeのこれよ
.NET 8に間に合わないかも?
0354デフォルトの名無しさん
垢版 |
2023/05/11(木) 00:11:44.16ID:KBR636WS
>>348
Dart 3たいしたものないな・・・
0355デフォルトの名無しさん
垢版 |
2023/05/11(木) 00:54:19.67ID:8SO9KQ3l
Dartの言語機能よりFlutterのwasmやマルチウィンドウへの対応の方が気になる
Impellerとかほんと迷惑だよな
apple向けのjankを取り除くためだけに無駄な労力がかかってるし
0356デフォルトの名無しさん
垢版 |
2023/05/11(木) 12:51:11.44ID:2/EQwNdd
米国年収では、Ruby がGo/Rust/Elixirの3強を超えた!
PHP, Dart は、高卒の茶髪ギャルがやるイメージ

Ruby, Elixir : 9.3 万ドル
Go : 8.9
Rust : 8.7

多くの言語 : 6.5〜7

PHP : 5
Dart : 4.4
0358デフォルトの名無しさん
垢版 |
2023/05/14(日) 07:28:02.53ID:Z9t5AO6q
CANVASに決め打ちで位置指定できればいいんだけど。そんなツールないかね。
印刷して位置確認してまた修正してまた印刷。プリンタ間の往復。
0360デフォルトの名無しさん
垢版 |
2023/05/14(日) 19:44:57.32ID:i9/qYKmG
最近WPF始めたけど
これUI作成楽だしバインドも簡単でいいね
C#コード書くより簡単で分かりやすい
0361デフォルトの名無しさん
垢版 |
2023/05/14(日) 19:59:11.83ID:MlTTbBuH
珍しいやつだなお前
普通はxamlに殺意湧くもんだと思ってたけど
それはこれからか
0363デフォルトの名無しさん
垢版 |
2023/05/14(日) 20:18:07.91ID:9JCMYqC6
>>361
HTMLやってたんじゃね。
0365デフォルトの名無しさん
垢版 |
2023/05/15(月) 06:52:52.99ID:3w+UV2De
>>361
XAMLのほうがコード量が明らかに減ったから
変更が簡単で楽だと感じた
MVVMをガチガチに守ろうとすると面倒なことが多いけど
0366デフォルトの名無しさん
垢版 |
2023/05/15(月) 07:37:26.45ID:RajzSWfQ
MVVMやってる人いるんだw
0369デフォルトの名無しさん
垢版 |
2023/05/15(月) 19:42:06.89ID:RajzSWfQ
MVVM使うほどのアプリ作ってないしなぁ。

CANVASで帳票印刷してるんだがwindow作ってそれのコンテンツプロパティに
CANVAS指定でプレビューできんのな。
しかも使用してるモニタが93DPIなんでほぼ原寸で出てた。感動したわ。
0371デフォルトの名無しさん
垢版 |
2023/05/15(月) 22:09:33.99ID:RajzSWfQ
分からないという事もあり、アンチMVVM!
0373デフォルトの名無しさん
垢版 |
2023/05/16(火) 08:12:50.00ID:scMhFUkR
Canvasって、ViewModelとChildrenバインドできたっけ?
XamlからItemSource、ItemTemplate使ってもうまくいかなかったような・・・
仕方なくコードビハインドでやった記憶がある。
0374デフォルトの名無しさん
垢版 |
2023/05/16(火) 09:49:54.49ID:202gI0ra
そういうときはサービスクラスを作ってカプセル化してVからVMにインジェクションする
って、書いただけじゃ伝わらないよな
0376デフォルトの名無しさん
垢版 |
2023/05/16(火) 18:01:09.06ID:4Qe65khc
MとかVMとか、なんか、いろいろ難しそうなことやってんだな。。
0377デフォルトの名無しさん
垢版 |
2023/05/16(火) 19:51:15.02ID:n3YZZSHv
データグリッドの値をいじったりするのは
データバインドしなきゃやっとれんでしょ
0378デフォルトの名無しさん
垢版 |
2023/05/16(火) 20:00:54.76ID:4Qe65khc
そんなことはあるまい。
0379デフォルトの名無しさん
垢版 |
2023/05/16(火) 20:07:59.79ID:MBYEcVuB
MVVMっぽい何かはしてるけど
たいした物つくらないから時間の無駄な気がしてならない
0380デフォルトの名無しさん
垢版 |
2023/05/16(火) 20:46:43.78ID:yTYZJaUk
データグリッドをバインドなしで扱うとするとイベントハンドラでゴリゴリデータ書き換え?
0381デフォルトの名無しさん
垢版 |
2023/05/16(火) 20:54:05.20ID:4Qe65khc
データグリッドの殆どがDBとかCSVからのデータ表示用だろ。入力もあるけど。
だから検索して表示した後は放置。必要があればまた全更新。
だからゴリゴリデータ書き換えって事態はないんじゃね。

しかしデータグリッド早いよな。7000件をCSVから全表示させても1秒かかるか
どうかって感じ。非同期化してたのを戻したわ。
0382デフォルトの名無しさん
垢版 |
2023/05/16(火) 21:10:29.48ID:HznneTlP
いや、データ編集ありの場合にデータバインドなしでどうやんの?って話の流れでしょ
0383デフォルトの名無しさん
垢版 |
2023/05/17(水) 07:05:06.66ID:Lo59nD5D
データグリッドに手を加えてバイディングなしでやってた。
0385デフォルトの名無しさん
垢版 |
2023/05/17(水) 18:00:09.26ID:ELtH3TLu
なぜMVVMかって?
ドメインモデルに集約するためさ。 .Net Conf 2022でも2023でも聴講すればわかる。
>374のような、ボケスタイルはやらない。 
DIでレポジかインスタンス参照を渡すとか言ってるんだろうが、VMからV参照は双方向参照。
SOLID原則を学べ・・・ と言いたい。
0386デフォルトの名無しさん
垢版 |
2023/05/17(水) 20:16:07.84ID:Lo59nD5D
さっぱりわからんわ〜。
ま、大事なのは要件が実装できかどうかだと思っている。
0387デフォルトの名無しさん
垢版 |
2023/05/17(水) 20:53:45.90ID:KKhsw4JF
>>375
1.例えばCanvasのようなUI部品をプロパティーに持ち、それをアクセスルルメソッドなどで構成されたサービスクラスを作る
2.VMでインスタンス化してプロパティーとして公開
3.VのコンストラクタでVMで公開されているサービスのインスタンスに自身のCanvasのインスタンスを挿入
4.VMからはサービスクラスを介してUI部品をメソッドを使って簡単にアクセスできるようにする
5.単体テストが必要な場合はサービスクラスのインターフェースを用意して、スタブでデバッグする

つか、WinUI3のConnectedAnimationなど、このやり方じゃないと不可能だよ
0388デフォルトの名無しさん
垢版 |
2023/05/17(水) 21:01:02.55ID:Lo59nD5D
ますます分からなくなった!
0389デフォルトの名無しさん
垢版 |
2023/05/18(木) 00:26:14.80ID:M0TxVFb2
1.例えばCanvasのようなUI部品を持つMyView.xamlクラスを作る
2.VMでプロパティーとして公開
3.VのコンストラクタでVMで公開されているMyView型のプロパティに自身のthisを挿入
4.VMからはプロパティを介してUI部品に簡単にアクセスできる
5.単体テストが必要な場合はViewのインターフェースを用意して、スタブでデバッグする
0390デフォルトの名無しさん
垢版 |
2023/05/18(木) 20:30:12.83ID:NmURz+IP
難しい〜
どんな凄いアプリ作ってんだ?!
0391デフォルトの名無しさん
垢版 |
2023/05/18(木) 21:22:50.78ID:NmURz+IP
new FixedPage() と canvas で両面印刷はどうすんだ?
片面しかできん。
0392デフォルトの名無しさん
垢版 |
2023/05/18(木) 21:44:03.34ID:67t/SXkw
>>389
VMにVのインスタンスを注入すれば機能的には全く問題ないんだろうが
ちょっと不細工だから不採用だな

好みの問題なんだが
0393デフォルトの名無しさん
垢版 |
2023/05/18(木) 22:20:22.72ID:oHW8akGV
原則としてVMがVに直接依存するべきでないからそこに依存性逆転パターン使うわけやね
0395デフォルトの名無しさん
垢版 |
2023/05/19(金) 19:27:50.45ID:FoiQio6I
MVVMの話は難しいな〜。ホンマ感心するわ。
で、new FixedPage() と canvas での両面印刷はどうするんでしょう。
こちらもお願いします。。
0396デフォルトの名無しさん
垢版 |
2023/05/19(金) 20:40:03.06ID:pCo6gpmL
今回シンプルな画面だしイベント駆動でいっかー

あれよあれよと言う間に仕様追加で画面ゴテゴテ

こんなんならデータバインドで作ってたわ・・・(いまここ)
0397デフォルトの名無しさん
垢版 |
2023/05/20(土) 05:27:38.90ID:bdMg4j0I
そもそもVMでUIElementを操作するなという事では?
DIP原則守る為としてインターフェースをVMにインジェクションしても、そのRepository経由でコンテナーのUIElement操作したら本末転倒。
とどのつまり、UIElementをコードで操作するような場合は素直にコードビハインドでやれという事。
DataGridにエクセルの操作性追加や選択範囲のデータ取得、Adonerにグラブハンドル入れてCanvasのShapeをResizableにしたり等々の処理をVMでやるとかあり得ない。
0398デフォルトの名無しさん
垢版 |
2023/05/20(土) 08:57:25.79ID:B3aysABv
>>391
自己レスになるがFixedDocument() で土台作ってFixedPage()で全ページをaddして
最後にXpsDocumentWriterで一気にプリンタにデータ送って両面印刷できた。
プリンタダイアログの設定で袋とじとか自動的にその通りに印刷された。楽だなこれ。
0399デフォルトの名無しさん
垢版 |
2023/05/20(土) 09:00:00.77ID:mmZhl8HV
>そもそもVMでUIElementを操作するなという事では?
>DIP原則守る為としてインターフェースをVMにインジェクションしても、そのRepository経由でコンテナーのUIElement操作したら本末転倒。

本末転倒ってのはどういうところが?
UIElement へ直接依存することが問題だしそれを切り離せればとりあえず問題はないと思うが。
0402デフォルトの名無しさん
垢版 |
2023/05/20(土) 16:42:27.96ID:MBF+Fo/f
>>389は一応動くから、ちょっとやばいけど使っている人がいても不思議じゃないと思ったわ
>>387のやり方で何も問題なく見えるが>>400の方は何が気に食わなかったのやら
0403デフォルトの名無しさん
垢版 |
2023/05/21(日) 06:10:54.88ID:Elr5wk/3
マルチスレッドや印刷、GDI、ソケット、、そういう事が出来る奴の方が頼もしいわ。
結局誰も>>391の質問に答えられないし、プログラマの勉強に終わりは無いな。
0405デフォルトの名無しさん
垢版 |
2023/05/21(日) 10:05:20.77ID:Elr5wk/3
>>397
とかどうやって勉強したんだ。本?
0406デフォルトの名無しさん
垢版 |
2023/05/21(日) 12:36:49.38ID:VUm7ancq
>>403
>結局誰も>>391の質問に答えられないし
ChatGPTに聞けば答えてくれるよ
ほんと便利な時代になったもんだね

DocumentViewerとDocumentPaginatorを使ってCanvasをPagenationできるようにする
もしくは
自分でページサイズに合わせてcanvas内の要素を複数のcanvasに分割して各FixedPageに割り当てる
FixedDocumentのPageContentとして各FixedPageを追加
0407デフォルトの名無しさん
垢版 |
2023/05/21(日) 18:52:32.73ID:CTJ8pTH5
>>405
POS開発と、CodeProjectと.NET Conf現地参加・・・ ITギークナカーマ一杯。
基板開発とクリーンアーキエンベッディドもやってるよ。
ESP32の広大なFLASH空間に満足しています。
0408デフォルトの名無しさん
垢版 |
2023/05/21(日) 19:56:08.47ID:Elr5wk/3
組み込み系か。c言語で?
POSにしてもMVVMとは無関係ぽいが。
0409デフォルトの名無しさん
垢版 |
2023/05/21(日) 21:25:54.24ID:2oe1bdCf
POSめちゃ関係あるやろ
業務系のなかでもぎゅうぎゅうに詰め込んだUIの典型
0410デフォルトの名無しさん
垢版 |
2023/05/22(月) 07:28:05.97ID:B1W7qz7E
UIが多い == MVVMなのかい。
0413デフォルトの名無しさん
垢版 |
2023/05/22(月) 19:02:59.28ID:B1W7qz7E
picだったな。メモリ少なくてアセンブリ使ってた。
MVVMは少数派。これ持論。
0416デフォルトの名無しさん
垢版 |
2023/05/22(月) 21:06:14.14ID:B1W7qz7E
MVVMのフレームワークは何が主流なんだい?
0419デフォルトの名無しさん
垢版 |
2023/05/22(月) 21:23:00.27ID:650aSK01
MVVMは不要って言うならそれは持論と言えるけど
少数派って言われてもそりゃただの観測結果でしょとしか
0421デフォルトの名無しさん
垢版 |
2023/05/22(月) 22:12:02.55ID:GhXjprUX
周りに馬鹿しかいないど底辺なんだろ察してやれ
ここでいつもMVVM分からん言ってる奴はハナから覚える気無いジジイだから相手するだけ時間の無駄
0422デフォルトの名無しさん
垢版 |
2023/05/22(月) 22:40:26.93ID:kQxWLq4v
アセンブリが採用されるような案件は最初からMVVMは選択肢に入らんわな
そんなとこで少数派!少数派!って井の中のなんとやらでしかない
0424デフォルトの名無しさん
垢版 |
2023/05/23(火) 06:09:51.03ID:ExJFC8Fq
MVVMバリバリのユーザは50-60万円はもらってそうだな。
そのくらいは出て当然だと思う。
0432デフォルトの名無しさん
垢版 |
2023/05/23(火) 17:21:10.69ID:6rldbTL4
読解力じゃなくアセンブリと書く方に日本語能力の大きな欠陥があるという話だぞ?w
読む方はちゃんと読み分けてるわけだしなw
0433デフォルトの名無しさん
垢版 |
2023/05/23(火) 17:23:12.98ID:uAOe//9g
C#使っててアセンブリ言語なんて使うことないからC#のスレでアセンブリ言語のこと何の説明もなくアセンブリって言われたら「アホの子かな?」と思うのが普通
0436デフォルトの名無しさん
垢版 |
2023/05/23(火) 18:15:40.28ID:h3ro3yVV
日本語能力の欠陥とか強い言葉を使った方が勝ちみたいなゲームはノーサンキュー
0437デフォルトの名無しさん
垢版 |
2023/05/23(火) 18:16:10.30ID:m84tNyob
C#のスレでアセンブリって言ったらアセンブリのことに決まってんじゃん
アセンブリのことアセンブリって言うならちゃんと区別しろよってだけだろ
0438デフォルトの名無しさん
垢版 |
2023/05/23(火) 18:19:56.26ID:bf2Gh3nr
学校で「やっぱりデスクのせいだよな」って言ったらみんな頭にはてなマーク浮かべるだろ
他人に伝わるかどうか考えられないのは日本語能力に欠陥があると言われても仕方ないぞ
0441デフォルトの名無しさん
垢版 |
2023/05/23(火) 18:47:44.78ID:bf2Gh3nr
あ、そうか
ここがWPFのスレと気づいてなかったのか
それならたとえが悪かったなw
0447デフォルトの名無しさん
垢版 |
2023/05/23(火) 20:07:17.53ID:ExJFC8Fq
PIC、アセンブリで使ってたと書いたのに何故かMVVM と リンクした。
PICって知らんのだろうな。
0452デフォルトの名無しさん
垢版 |
2023/05/23(火) 20:49:15.76ID:ExJFC8Fq
組み込み系の話がでたのでPICのこと書いただけなのに。
vueってなんだ?
0456デフォルトの名無しさん
垢版 |
2023/05/23(火) 21:23:37.19ID:ExJFC8Fq
「ここは日本語勉強スレッドになりました」
0458デフォルトの名無しさん
垢版 |
2023/05/23(火) 23:36:47.69ID:nXOIckaw
組み込みとかPOSのあたりで使ってたいってるだけじゃないの
0460デフォルトの名無しさん
垢版 |
2023/05/24(水) 05:31:44.09ID:TU6R8wLC
MVVMはどうやって勉強したんだ、という質問に対して、
基板もやってたよ、という返答。
それで、ぼくはPIC(マイコンね)、アセンブリ(言語)で使ってたと返事したのが事の発端。

良く読めよ。
0461デフォルトの名無しさん
垢版 |
2023/05/24(水) 06:59:38.52ID:1cRzEp38
MVVMと基盤のどこに関係があるんだってとこから説明してもらっていい?w
ちゃんとした日本語書いてから言えよw
0463デフォルトの名無しさん
垢版 |
2023/05/24(水) 16:10:39.19ID:YLGPCuBd
flutter 3.10でもCanvasKitのサイズ2/3になったりしてたが、ロード時間
別次元やなどんなトリック?

単純なアプリであるが画面の切り替えもサクサクでモバイルブラウザでサクサクや

SEOの問題あるがこれならいける
0464デフォルトの名無しさん
垢版 |
2023/05/24(水) 16:35:34.61ID:iERIWOMP
コードビハインドの糞コードもCopilotに頼めばMVVMにしてくれる時代もすぐそこか
0465デフォルトの名無しさん
垢版 |
2023/05/26(金) 06:39:48.94ID:ujY5h/oe
WinUIのNumberBoxのSpinButtonPlacementMode="Inline"で表示されるボタンが左右逆になっている
左がDownで右がUpではないから誤操作の原因になるUIだ
Sliderと一緒に並べたら違和感が半端ない
0466デフォルトの名無しさん
垢版 |
2023/05/27(土) 18:02:44.82ID:bqvmQlCj
>>464
質問なんだがよくコードビハインドって言うけど実際は何だ?
マイクロソフトHPでは、
コードビハインドとは、XAML ページがマークアップ コンパイルされる際に、
マークアップ定義オブジェクトと結合されるコードを表すために使用される用語です。

とあるけどよくわからん。
0467デフォルトの名無しさん
垢版 |
2023/05/28(日) 06:37:38.13ID:Ey5hy/ud
>>結合されるコードを表すために使用される用語
意味不明。

c# や bvのソースコードのことなんだろうか。
0468デフォルトの名無しさん
垢版 |
2023/05/28(日) 09:29:36.47ID:MoCGpZK6
コードビハインド is 用語

マークアップ定義オブジェクトと結合されるコードを表すために使用される用語



マークアップ定義オブジェクトと結合されるコードを表すための用語



コードビハインド is マークアップ定義オブジェクトと結合されるコード
0469デフォルトの名無しさん
垢版 |
2023/05/28(日) 09:39:52.71ID:Ey5hy/ud
なるほど。
0470デフォルトの名無しさん
垢版 |
2023/05/28(日) 10:01:16.41ID:Cp1PF5Jv
xamlってのはc#のコードに変換されてから普通のコードと同じくコンパイルされるが
xamlだけで書くのが不可能だったり面倒なものをc#のコードで書くわけだが、
それがhoge,xamlに対して.hoge.csというファイル
コンパイルする過程でhoge.xamlとhoge,csは同じクラスに統合されることになる

説明すると結構めんどくさいものだよな
0471デフォルトの名無しさん
垢版 |
2023/05/28(日) 11:34:33.04ID:Ey5hy/ud
XAMLと結合される C#,VBなどのソースコード、と書けばいいのに。
相変わらず分かりにくい書き方。機械翻訳にしてもヒドイ。
0472デフォルトの名無しさん
垢版 |
2023/05/28(日) 11:45:47.85ID:1uqhjo5x
>>471
MSの機械翻訳が酷いのは前からだろ
英語読めよ

> Code-behind is a term used to describe the code that is joined with markup-defined objects, when a XAML page is markup-compiled.
訳:コードビハインドは、XAMLがコンパイルされる時にXAMLによって定義されたオブジェクトと結合されるコードを示す用語である
0475デフォルトの名無しさん
垢版 |
2023/05/28(日) 12:38:32.86ID:Ey5hy/ud
>>472
日本語訳はgoogle翻訳とほぼ同じ。
AI、AIいうけど機械翻訳の精度を上げてほしいよな。
そのうち、翻訳家なんて居なくなるんだろうか。
0476デフォルトの名無しさん
垢版 |
2023/05/28(日) 15:29:21.97ID:py1hKJLu
コードビハインドの意味が分からないと言ってる人はとりあえず簡単な入門本を1冊読んだ方がいいと思う
0477デフォルトの名無しさん
垢版 |
2023/05/28(日) 16:09:13.67ID:Ey5hy/ud
簡単な入門書っていいのないよな。
ま、MVVM以外は殆どマスターしたけど。
0479デフォルトの名無しさん
垢版 |
2023/05/28(日) 22:14:38.97ID:uq33XDLB
DeepLならまあまあいい感じに訳してくれるぞ
0480デフォルトの名無しさん
垢版 |
2023/05/28(日) 23:45:27.42ID:8PnTnKkf
>>479
DeepLはいい感じに訳してくれるけど、うまく訳せないところをしれっと無かったことにすることがあるから注意が必要だぞ
0481デフォルトの名無しさん
垢版 |
2023/05/28(日) 23:55:20.75ID:Yr3GAtWU
結局自動翻訳を見ながら自分で読むのが確実なのよね、英語すらすら読めないと。
昔みたいに手動翻訳してくれないかなMS
文書の量が増えすぎて投げたんかね
0482デフォルトの名無しさん
垢版 |
2023/05/29(月) 16:16:13.97ID:lcCgfRMT
添付プロパティのコールバックでプロパティの名前を取得することってできる?
0483デフォルトの名無しさん
垢版 |
2023/05/29(月) 20:18:43.30ID:r534mZYP
Bingチャットがコード例付きでできるって言ってんだからできる
0484デフォルトの名無しさん
垢版 |
2023/05/30(火) 14:32:49.83ID:Q5IAPIF8
コード例を出す
エラーが出る
エラーを聞く
あなたが書いたコードに問題がありますと言われる
0485デフォルトの名無しさん
垢版 |
2023/06/01(木) 23:34:28.10ID:kUvd3YEt
Template Studio for WinUIを使ってみたんだけど結構いい感じだな
設定ページを含めたらアプリテーマ切り替え機能が初めから実装されていた
ウィンドウのサイズや位置保存も効いていた
0486デフォルトの名無しさん
垢版 |
2023/06/02(金) 07:08:06.80ID:+PuQJuLd
asyncってどう読むんだ。エーシンクって言ってるけど。
0490デフォルトの名無しさん
垢版 |
2023/06/02(金) 11:04:41.91ID:ESJ0W3vc
ェィスィンク → async
アシンク → a sink
0494デフォルトの名無しさん
垢版 |
2023/06/03(土) 08:08:07.00ID:wtxJED1D
altなんてネイティブでもアルトって発音するやつ多いのにオルトって言わないとドヤ顔でうんちく垂れるやつ多すぎて
0495デフォルトの名無しさん
垢版 |
2023/06/03(土) 12:18:53.47ID:MdYn2acu
>>494
ネイティブって雑にくくるけど、各アクセント話者が色々居るだけであって一人が統一感の無い発音してるわけでは無いからな。
0496デフォルトの名無しさん
垢版 |
2023/06/03(土) 16:47:43.85ID:kPd6kE3f
日本人は、walk は、ウォークだと思っているが、アメリカ人の発音は、
ワークと聞こえることが有る。
逆に、work は、日本人はワークだと思っているが、アメリカ人の発音は、
ウォークと聞こえることが有る。
知らんけど。
0497デフォルトの名無しさん
垢版 |
2023/06/04(日) 09:58:55.61ID:TqCMAT8K
日本語の音声の区分けだと分類がないのでそう聞こえるのは当然やね。
喋る側がそもそも文脈でわかるだろっていうので適当になってるのもあるけど。
0498デフォルトの名無しさん
垢版 |
2023/06/04(日) 10:19:07.87ID:/SPLhkOj
日本語というか日本人の耳のせいじゃ?
聞こえると言うなら聞こえるんだろ

work wˈɚːk(米国英語), wˈəːk(英国英語) ワーク
walk wˈɔːk(米国英語), wɔːk(英国英語) ウォーク

talk tˈɔːk(米国英語), tɔ:k(英国英語) トーク

そのように聞こえるならtalkがタークに聞こえても何も不思議じゃないけどタークに当たる英語がないと言うか知らない
0499デフォルトの名無しさん
垢版 |
2023/06/04(日) 10:22:14.39ID:KRT+0beQ
そういうのでもなくて、Warningをウォーニングって言ったら、返事の端々で「ワーニング」と強調されるような感じ。
0501デフォルトの名無しさん
垢版 |
2023/06/04(日) 12:00:22.31ID:SwtmtJS1
workとwalkはワかウォかというよりrの発音の有無が決定的な違い
日本人には音だけで聞き取るのが難しい場合がある
https://dictionary.cambridge.org/dictionary/english/walk
https://dictionary.cambridge.org/dictionary/english/work

このくらい違えば大半の人がわかると思う
https://www.merriam-webster.com/dictionary/walk
https://www.merriam-webster.com/dictionary/work

でもAlt keyを「スズキの新型アルト」と同じように日本語でアルトと発音するのと
ネイティブが /ɑːlt/や /ælt/と発音するのとは全く音が違うから
日本人相手なら一般的に定着してて通じやすい方を使ったほうが良いと思う
ルーターをラウターと呼んだりSQLをシークウェルと呼ぶようなもん
0502デフォルトの名無しさん
垢版 |
2023/06/04(日) 14:41:20.86ID:5ce6Kc6V
>>498
walk verb (MOVE ON FOOT):
UK /wɔːk/ US /wɑːk/

つまり、アメリカ英語では、walkは、「ワーク」。
日本ではイギリス英語の発音を学ぶので、ウォークだと思っているから
アメリカ英語が聞き取れないのかも。
0506デフォルトの名無しさん
垢版 |
2023/06/05(月) 04:51:41.18ID:r1jagHFN
オミクロン株が出たときにアメリカのニュース番組でみんな違う発音して混乱してたの思い出した
0507デフォルトの名無しさん
垢版 |
2023/06/05(月) 15:46:24.28ID:ALnfamwh
とにかく明るい安村のイギリス英語での受け答えはシンプルだったけど完璧だったな
0508デフォルトの名無しさん
垢版 |
2023/06/05(月) 21:27:58.61ID:Mg+E0o42
むしろxamlみたいなスクリプト言語が邪魔
0510デフォルトの名無しさん
垢版 |
2023/06/06(火) 00:53:47.15ID:r2tnqpVo
いまだにxamlアレルギーの人いるのか。
jsonかyamlベースのものを追加したら歓迎されたりするのかな。
0511デフォルトの名無しさん
垢版 |
2023/06/06(火) 02:52:36.71ID:7M0hlYY1
脳の小さい人でも唯一理解できて自己肯定感を高めてくれたのがWinFormsだったんだろうと振り返る
0516デフォルトの名無しさん
垢版 |
2023/06/06(火) 23:17:42.80ID:r2tnqpVo
そのへんはコードのリファクタリングと似たような感じだな。
コードブロックを関数に切り出すのと同じようにコンポーネントをUserControlに切り出す。
0517デフォルトの名無しさん
垢版 |
2023/06/08(木) 13:43:02.62ID:G8lXV+nt
PngBitmapEncoderを非同期で保存する方法はありますか?
await Task.Runだとスレッドエラーになってしまいます
あるいはPNGファイルを非同期で保存する方法を教えてください
0519デフォルトの名無しさん
垢版 |
2023/06/08(木) 19:59:36.46ID:4Wbqji4r
何のエラーがでるんだろ
単純に書いただけじゃエラーにならないわ
0521デフォルトの名無しさん
垢版 |
2023/06/09(金) 09:35:30.47ID:jd4nlL5X
ChatGPTに聞いたところ、FileStreamのWriteAsyncに置き換えて書き込めました
ありがとうございます
0522デフォルトの名無しさん
垢版 |
2023/06/10(土) 01:48:45.17ID:P6Npw7yn
どういたしまして
困ったことがあったらまた尋ねに来てくださいね
0523デフォルトの名無しさん
垢版 |
2023/06/10(土) 19:24:56.04ID:qtkeuH21
非同期は難しいね。非同期のつもりが同期してたり。
サンプル拾ってきて動かして挙動確認するのが一番。
0525デフォルトの名無しさん
垢版 |
2023/06/11(日) 09:34:14.95ID:VM7cO91o
UIスレッドに戻る必要がある場合はConfigureAwait()なしかtrue指定かということは、
MVVMで作っていたらConfigureAwait(false)だらけでも問題ないのだろうか。
0527デフォルトの名無しさん
垢版 |
2023/06/11(日) 11:54:47.66ID:4FWqmBm0
そいやConfigureAwaitって使ったことないな
0528デフォルトの名無しさん
垢版 |
2023/06/11(日) 18:49:49.54ID:Fv6Y3hW8
初めて見たw
0529デフォルトの名無しさん
垢版 |
2023/06/12(月) 13:48:23.01ID:qz0idZVe
ConfigurrAwait(true) にしようと思っても、意地でも MVVM にしないやつがいるせいでできない。
WinForms か VB でもやってろよバカと言いたくなる
0531デフォルトの名無しさん
垢版 |
2023/06/12(月) 23:34:58.91ID:wuTw7wyz
MVVMでもPropertyChangedしたらUIスレッドでやれって怒られるしどうしようもなくね
0532デフォルトの名無しさん
垢版 |
2023/06/13(火) 00:24:07.79ID:Y05jGU7w
WPF 限定かもだけど INotifyPropertyChanged.PropertyChanged イベントは
ちゃんと UI スレッドにディスパッチしてくれるようになってる。
非 UI スレッドから VM を操作しても問題ない。

ObservableCollection とかは一工夫いるけど。
(BindingOperations.EnableCollectionSynchronization)
0535デフォルトの名無しさん
垢版 |
2023/06/15(木) 16:36:37.39ID:yjHL9xaz
全部trueで困ったことないな
falseにして劇的にパフォーマンスあがったという体感もない
ゲームだとシビアなのかもしれんが多分他にやることあるだろう
0536デフォルトの名無しさん
垢版 |
2023/06/15(木) 17:51:20.80ID:yjHL9xaz
ちょっと実験してわからなくなった
asp.net mvc (クラシック)で自己再帰でthread idとurlをデバッグ出力してDelayするだけのコードを動かした
ConfigureAwait(falae)してないのに戻ってきた後のthread idが変わってる
にもかかわらずコンテキストからurlはちゃんと取れてる
0537デフォルトの名無しさん
垢版 |
2023/06/15(木) 17:58:34.24ID:yjHL9xaz
continueOnCapturedContext
Boolean
継続をキャプチャされた元のコンテキストにマーシャリングする場合は true。それ以外の場合は false。


元のコンテキストとしか書いてないから同じスレッドに戻る保証はないのか
知らなかった
0540デフォルトの名無しさん
垢版 |
2023/06/15(木) 23:54:36.14ID:rRvNWqra
C#使ってて思うのは、細かいところ気にしなくても、公式ライブラリ自体が色々配慮してくれてるんだよね。
自分も一層心掛けるわ。
0541デフォルトの名無しさん
垢版 |
2023/06/16(金) 07:08:56.02ID:g6vkIwv2
>>537
同期コンテキストによるので、
・GUIアプリケーション(の同期コンテキスト)だとtrueで元のスレッドに戻る
・コンソールアプリケーション(の同期コンテキスト)だとtrueでも元のスレッドに戻らない
だったかと。
0542デフォルトの名無しさん
垢版 |
2023/06/19(月) 19:44:51.70ID:qIw288aX
https://imgur.com/a/KIpYdS4
心電図(?)作ってみた。

ソケットや共有メモリで他機器からデータ受信してリアルタイム表示。
アイコンは飾り。画像貼ってるだけ。

プログラムはじめて40年以上。まだまだ若いもんには負けねーぜw
0543デフォルトの名無しさん
垢版 |
2023/06/20(火) 18:14:26.86ID:mfTYjI5Q
やっぱUIデザイナーって専門で必要なのかなと感じた
0544デフォルトの名無しさん
垢版 |
2023/06/20(火) 18:51:52.94ID:Op03/FKW
>>542
40年でそれはさすがに負けてんぞ
俺が学生の時はオシロスコープのデータ解析は学生が自分たちでプログラム組んでやってたからな
端末はDOSだったわ
0545デフォルトの名無しさん
垢版 |
2023/06/20(火) 19:04:46.49ID:UreReEmE
x86 (MASM)でGDC直叩きでやってたこと考えると高級言語で出来ちゃう今が
凄いよな。
0547デフォルトの名無しさん
垢版 |
2023/06/20(火) 19:52:46.25ID:FDgZeyem
>>542
良く出来ていると思いますよ。
普通にプロレベルに達していますね。
これだけの物を作れる人は少数派です。
0548デフォルトの名無しさん
垢版 |
2023/06/20(火) 19:57:28.04ID:FDgZeyem
「俺も同じようなもの作れるわ」
と思っている人の作品見てみると、細かい部分がちゃんと出来て無い
ことが多いです。
細部までちゃんとしているものを作れて無いのに、同じだと思っているだけ。
0550デフォルトの名無しさん
垢版 |
2023/06/20(火) 20:58:16.66ID:FA7f5bQf
>>547
>>548
「プロレベル」がなんなのか分からないけど「細かい部分」を見ると、
画質悪いのもあるけどボタン?のアイコンが何だか分からない…
あと、スライダーの部分は数値入力なしで全部スライダーで大丈夫だろうか?
あと、RGBがちょっと邪魔な感じで、右端のボタンが小さくなってて押しにくそう
あと、スライダーとRGBの間にあるチェックボックス?はテキスト位置を上にして他と揃えた方が良さそう
という気がするけどどう?
0551デフォルトの名無しさん
垢版 |
2023/06/20(火) 21:13:52.23ID:UreReEmE
https://www.youtube.com/watch?v=sQTcqKGBj1c&ab_channel=MedicalEngineer

これの真似しただけ。アイコン画像もここからコピー。だから解像度も低い。
(アイコンは飾り。画像貼ってるだけ。 って書いておいたけど)
細かいこと言ったら切りないだろ〜。遊びで作ったもんだし。。

canvas にline()で書いてる。
0553デフォルトの名無しさん
垢版 |
2023/06/20(火) 22:13:50.37ID:91aDk3JE
WPFでWinUI 使っている人いますか?
なんかやり方がよくわからないんだけど
わかりやすいサイトありますか?
0555デフォルトの名無しさん
垢版 |
2023/06/22(木) 05:58:37.42ID:d9imgnzP
同じようなものは誰でも作れる。
新創造に価値がある。 畢竟、思想に価値があると言える。
0557デフォルトの名無しさん
垢版 |
2023/06/22(木) 20:18:12.49ID:2/GtWGn8
グラフ表示の事か?
基本的な非同期の知識とcanvasに線が書ければ後は頑張り(?)次第。
手練れは頑張りなんて不要なんだろうけど、基本動作まで自分は2時間は掛かった。
始めはWinFormsだったけど勉強がてらWPF版も作ってみた。
後者の方が綺麗で動きもよかった。
自己満足だが真似する時はどれだけそっくりに作れるかこだわると面白い。
0558デフォルトの名無しさん
垢版 |
2023/06/22(木) 21:00:45.20ID:CCzLUMWa
WPFの描画機能は規模が大きくなると速度低下が激しいのが残念
SkiaSharp等を使えば一応回避出来るけど
0559デフォルトの名無しさん
垢版 |
2023/06/22(木) 22:05:57.96ID:oInj3jkO
UWPとWindowsAppSDKだと、Win2DというDirect2Dの公式ライブラリがありますね
一回使ったけど流石に早かった
0561デフォルトの名無しさん
垢版 |
2023/06/25(日) 09:24:47.83ID:RV4PZadR
SkiaSharp DrawingVisual あまり資料がないな〜
0562デフォルトの名無しさん
垢版 |
2023/06/25(日) 12:00:19.37ID:bsDOU/Dc
あまり情報がないものでも、ChatGPTが組み合わせて教えてくれる場合がある。
その場合、複数言語のページの内容を混ぜて回答してくれるのかな?
0565デフォルトの名無しさん
垢版 |
2023/06/26(月) 21:30:09.55ID:/ad+dyyW
でもSkiaSharp + OpenGL はハードル高そうだな。
だったらSystem.Drawingの方がいいじゃん。
0566デフォルトの名無しさん
垢版 |
2023/06/26(月) 22:37:30.04ID:Jb1NpiVn
>>564の比較はWinFormsで
OpenGLで動かしたい場合はSKControlクラスの代わりにSKGLControlクラスを使うだけで良いみたい
WPFの場合はSKElementクラスだけど、これの性能には触れてないな
0568デフォルトの名無しさん
垢版 |
2023/06/27(火) 19:40:57.53ID:ZU8ILpLR
https://blog.emoji-gen.ninja/posts/20190204/skia.html
>日本語のドキュメントに至っては、ほぼ皆無です。そのため、Skia を使って本格的に開発する場合は、ある程度の覚悟が必要です。

なんだと!!ww
ヤフー知恵袋も質問0 だった。。
0569デフォルトの名無しさん
垢版 |
2023/06/27(火) 21:04:13.08ID:ZU8ILpLR
一応、線は引けるけど、非同期コードいれるとcanvasが壊れてるといって落ちる。
あと、XAMLで指定したメソッド以外でどうやって描画するのか不明。
0571デフォルトの名無しさん
垢版 |
2023/06/28(水) 06:39:28.56ID:+Blkfaog
じゃボタンを押したときに線を引かせたいときはそのボタンのイベントハンドラで
InvalidateVisual()実行させて線を引くコードはPaintSurface 内に記述するのか。
なんか面倒だし、PaintSurfaceが巨大化しそう。まぁPaintSurface内で自作関数呼べ
ば良いんだろうけど。
0573デフォルトの名無しさん
垢版 |
2023/06/28(水) 09:38:16.64ID:NAypQ388
描画とかボタン処理は同じコンテクストで実行されるから
何も考えずに処理書けばいい

タイマーや通信など他の契機で描画したいなら工夫がいるだけ
0574デフォルトの名無しさん
垢版 |
2023/06/28(水) 14:41:27.72ID:BVdlIcNn
漠∞!!!!
列∞!!!!!
后∞!!!!!!
機∞!!!!!!!
枚∞!!!!!!!!
図∞!!!!!!!!!
寿∞!!!!!!!!!!
非∞!!!!!!!!!!!
駅∞!!!!!!!!!!!!
頓∞!!!!!!!!!!!!!
官∞!!!!!!!!!!!!!!
司∞!!!!!!!!!!!!!!!
戸∞!!!!!!!!!!!!!!!!
城∞!!!!!!!!!!!!!!!!!
堺∞!!!!!!!!!!!!!!!!!!
0575デフォルトの名無しさん
垢版 |
2023/06/28(水) 19:47:18.96ID:HaY2f2W2
>>573
PaintSurfaceイベント毎に(SKSurfaceクラスやSKCanvasクラスの)オブジェクトが変わるから(変わらないこともある)
ボタンのクリックイベント等で描画するのは無理じゃないかな
0579デフォルトの名無しさん
垢版 |
2023/06/29(木) 00:40:34.34ID:Wk17Qk7t
DOBON.NET

Thread.SpinWaitメソッドはスレッドの同期のために内部で使用されているようですが、通常は私たちが使用する機会はないでしょう。
0580デフォルトの名無しさん
垢版 |
2023/06/29(木) 00:47:40.82ID:puM++CKl
>>576
ビジーウェイト状態になりそうなコードだから試してみたけど、予想に反してCPU時間の消費がそんなでもないな
ただ、環境によってループの頻度が違うみたいだ
.NET7: 毎秒約500回
.NET Framework 4.7.2: 毎秒約1万回
0581デフォルトの名無しさん
垢版 |
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
0582デフォルトの名無しさん
垢版 |
2023/06/29(木) 06:25:02.66ID:ejYRoEqU
>>578
他国でもソースは同じだもんな。
0583デフォルトの名無しさん
垢版 |
2023/06/29(木) 07:36:02.98ID:G16HAkDq
匿名掲示板に貼られた中華リンクのソースが必ず正しいと思ってるやつがいるのはおめでてーな
0584デフォルトの名無しさん
垢版 |
2023/06/29(木) 10:00:47.73ID:df8BmqTV
MSの翻訳は糞だから日本語のMS公式観るより
英語のMS公式観た方が良いのは事実
0586デフォルトの名無しさん
垢版 |
2023/06/29(木) 11:10:54.33ID:df8BmqTV
そんなやついたか?
0587デフォルトの名無しさん
垢版 |
2023/06/29(木) 11:44:14.93ID:ejYRoEqU
碌に読んでないの多いよな。
>中華リンクのソースが必ず正しいと思ってるやつがいる
リンク張っただけなのにコレだもん。
0590デフォルトの名無しさん
垢版 |
2023/06/29(木) 18:30:52.58ID:puM++CKl
>>576
このコードでSpinWait.SpinUntil()で待機させるメリットって何だろう
Dispatcher.Invoke()してるから1ループの実行時間は結構ばらつくし、Thread.Sleep()で十分な気がするのだけど
精度を出すなら、System.Timers.Timer使った方が良いし
0592デフォルトの名無しさん
垢版 |
2023/06/29(木) 20:40:19.95ID:puM++CKl
>>590
Thread.Sleep()で十分な気がするって書いたけど、
実際に試すとSpinWait.SpinUntil()のままよりThread.Sleep()に置き換えた方が明らかにFPS向上するなw
PCに負荷をかけたらまた違うのかねぇ
0593デフォルトの名無しさん
垢版 |
2023/06/29(木) 21:07:27.01ID:ejYRoEqU
await task.delay ()だと例外で落ちるから。
0594デフォルトの名無しさん
垢版 |
2023/06/30(金) 03:50:01.15ID:G8RX/6Lm
>>593
InvalidateVisual()呼ぶだけならUIスレッドで実行されるように気を付ければawait Task.Delay()で問題無いよ。
0595デフォルトの名無しさん
垢版 |
2023/06/30(金) 07:00:48.53ID:ClIVzebM
よーし何か作ってみよう〜
0596デフォルトの名無しさん
垢版 |
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);
// ここ
}
}
0597デフォルトの名無しさん
垢版 |
2023/06/30(金) 19:37:34.75ID:ClIVzebM
書き忘れ
skiasharp .netframework.
0598デフォルトの名無しさん
垢版 |
2023/06/30(金) 21:02:19.59ID:k2cLJ2r8
フレームごとに呼ばれるシステムはフレームイベント内部でwaitさせるんじゃなくて
何フレーム目かとかの時間情報を持たせてその時間基準で全部描画するもの
0599デフォルトの名無しさん
垢版 |
2023/06/30(金) 21:18:03.73ID:ClIVzebM
へー。今まで(?)の手法とは違うんですね。
難しい〜。
0601デフォルトの名無しさん
垢版 |
2023/06/30(金) 21:46:05.66ID:ClIVzebM
ほう。ご丁寧にソースまで。ありがとう!!
0603デフォルトの名無しさん
垢版 |
2023/07/02(日) 07:22:17.31ID:NrLD8OfZ
https://ideone.com/SdsWsv
フラグが多くなりそうだな。
0604デフォルトの名無しさん
垢版 |
2023/07/02(日) 07:28:34.32ID:NrLD8OfZ
canvas.childlen.add()の場合はaddし過ぎる(500超えるとヤバい)と
酷いときは止まるけど
skiasharpは描画を続けても平気なのかね。
0605デフォルトの名無しさん
垢版 |
2023/07/05(水) 21:26:03.46ID:iW/VMTsC
心電図、SkinaSharp版を作って試したけどCPU使用率は canvas.chilren.add版が
24%、Skina版が2.5%、他の項目は殆ど差なしだった。
限度はあるだろうが、Skinaはcanvas.clearしなくても軽いな。
0606デフォルトの名無しさん
垢版 |
2023/07/08(土) 06:53:37.52ID:9pZJE7Lr
画面遷移のやり方わかんなくて調べてるけど
MVVM使わない方法しか出てこないよ...😢
0607デフォルトの名無しさん
垢版 |
2023/07/08(土) 09:31:12.51ID:rhn5/plT
どういう調べ方をしたんだ
メッセンジャーを使ったりサービスを使ったりすればいいだろ
今の主流はサービスかな
0608デフォルトの名無しさん
垢版 |
2023/07/08(土) 11:04:12.71ID:gObB59CG
Template Studioという拡張機能をVSにインストールしてアプリの雛形を作ると画面遷移のコードまでジェネレートしてくれる
WinUI版しか使ったこと無いが、恐らくWPF版も同様と思われる
0609デフォルトの名無しさん
垢版 |
2023/07/08(土) 15:06:36.80ID:EY12ydBx
ホント、MVVMって手間ですね!
0610デフォルトの名無しさん
垢版 |
2023/07/08(土) 15:26:11.20ID:p+sO9/0D
画面遷移は遷移サービスに依頼
サービスは作られるときにGUIのフレームの参照をもらってる

フレームをくれるのはメインウィンドウ(MetroWindow継承)のコードビハインド
メインwindowsを作るのはホストサービス
ホストサー・・・

本当に意味不明だわ
0611デフォルトの名無しさん
垢版 |
2023/07/08(土) 15:42:14.13ID:p+sO9/0D
サービス作る
VM作る
画面など作る

だとサービス作る時に画面がないのでアウトだけど
先に画面作るのも気持ち悪いし画面でサービスを使わないと限らない

普通はどうしてるんだろ
MVVM原理主義者たちは?
0612デフォルトの名無しさん
垢版 |
2023/07/08(土) 15:48:28.55ID:Ug32iaVM
>>610
> サービスは作られるときにGUIのフレームの参照をもらってる
サービス(モデル)がGUIのフレーム(ビュー)に依存してるって設計が悪んじゃないの
0613デフォルトの名無しさん
垢版 |
2023/07/08(土) 15:52:16.34ID:p+sO9/0D
サービスはinterface越しで操作してたような気がするけどそもそもGUIに依存してもいいだろ

なんだか知らないことに口出しをするのもめんどくさいな
0615デフォルトの名無しさん
垢版 |
2023/07/08(土) 16:09:37.95ID:0FxLf7Ij
>サービスはinterface越しで操作してたような気がするけどそもそもGUIに依存してもいいだろ

それを直接依存させないのがMVVMやクリーンアーキテクチャの考え方。
0616デフォルトの名無しさん
垢版 |
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に更に同じようなものを書くのはただの無駄
0617デフォルトの名無しさん
垢版 |
2023/07/09(日) 08:22:10.73ID:F2jcE+HG
凄いよな。
で、難解なMVVM駆使して何作ってんだ?
0619デフォルトの名無しさん
垢版 |
2023/07/09(日) 10:36:40.65ID:F2jcE+HG
MVVMより、SkiaSharpなど2Dグラフィック系の勉強してる。MVVMは自分には無理や。。
0620デフォルトの名無しさん
垢版 |
2023/07/09(日) 12:47:45.01ID:/vDoZjEa
一応WPFの思想はMVVMなんじゃないか
0621デフォルトの名無しさん
垢版 |
2023/07/09(日) 15:57:12.07ID:F2jcE+HG
それはない。MS自体、使い分けと言ってる。
0622デフォルトの名無しさん
垢版 |
2023/07/09(日) 17:55:53.87ID:dWXLeXtb
別に同じ物を書いても目的が達成すればいいのでは?
DIはDIP規則をやるための機構だが、マルチインジェクションはISP原則から必須になる。
Microsoft.Extentionを使うとシェルもナビゲーションも簡単でマルチDIは簡単だが、PrismはViewModelLocatorがマルチインジェクションに対応していないのが残念だ。
ViewModeにこそマルチインジェクションが必要と思うのだか・・・
Prismでは、追加インジェクション関数をViewModelに入れている。
MVVM否定? 今時MVVM否定論なんて流行るのか?
0624デフォルトの名無しさん
垢版 |
2023/07/10(月) 06:31:31.15ID:nluT7sbQ
燃料噴射装置。ある意味正解。
0625デフォルトの名無しさん
垢版 |
2023/07/10(月) 09:42:06.59ID:+87QqsLJ
そもそもPrismは開発終了で今から使っちゃいけないものだよな
それとも新しいのが出たんだろうか
0629デフォルトの名無しさん
垢版 |
2023/07/10(月) 16:13:40.89ID:xp+Y6DUu
Prismはちょっと重厚すぎてオブジェクト志向で言うところの単一責任原則から離れすぎてて使いにくい
0630デフォルトの名無しさん
垢版 |
2023/07/10(月) 19:35:36.03ID:nluT7sbQ
で、マルチインジェクションって何だろ。
0631デフォルトの名無しさん
垢版 |
2023/07/10(月) 20:01:58.73ID:7HtUCVrE
.NET FoundationはMVVM Toolkit推しみたいだね
Community.Toolkit(旧Microsoft.Toolkit)に含まれてるやつ
0634デフォルトの名無しさん
垢版 |
2023/07/14(金) 07:31:28.85ID:uNvEuXay
止めたんじゃね。殆どMVVM使われてないし作るメリットが見いだせない。
0635デフォルトの名無しさん
垢版 |
2023/07/15(土) 16:17:56.97ID:xVqfKfwW
>>629
Prismは最初のDIコンテナのUnityがくっそ重かったけど、DryIocが事実上の標準になって軽くなったんだけどね
0636デフォルトの名無しさん
垢版 |
2023/07/15(土) 20:40:31.18ID:UiYhW/dJ
Prismは実践的なmvvmの使い方とそれ用の軽いライブラリ提供しようとしてたら
ドンドン仕組みが大きくなって実践的と言うより宗教的になって来たので辞めたんだろ

MVVMのvm自動生成機能のためにフォルダ構造やファイル名まで指定してくるようになったらもう完全な宗教だろ
0637デフォルトの名無しさん
垢版 |
2023/07/15(土) 22:13:09.54ID:qTZx5K+e
android studioでjavaでやっていますが、WPFの仕事が入りそうなんで質問です。
ViewModelと言うことで同じ様な組み方と思ったのですが、UIのデザイナーは無いのですか?
androidはポトベタ風(相対関係)にデザインして、xmlで若干補ったけど、こっちは全部xmlで記述するんですか?
0638デフォルトの名無しさん
垢版 |
2023/07/15(土) 22:17:18.73ID:UiYhW/dJ
WinGUI3はそうだよ
開発が間に合ってない

WPFとかUWPとかwinformsはデザイナがある
0643デフォルトの名無しさん
垢版 |
2023/07/16(日) 08:53:57.15ID:kPWMqAlO
>>637
絶対指定によるペタも可。ただしリサイズしない場合に限る。
50個くらいコントロールあるとき面倒なんでポトペタですませた。
0644デフォルトの名無しさん
垢版 |
2023/07/16(日) 11:43:41.21ID:Zkk0ia7G
android studioのデザイナのGuidelineみたいな補助線と横幅の割合設定などありますか?
0645デフォルトの名無しさん
垢版 |
2023/07/16(日) 15:04:36.79ID:kPWMqAlO
知らんけど、XAML習得を勧める。難しそうだが何とかなる。
0646デフォルトの名無しさん
垢版 |
2023/07/16(日) 15:41:11.43ID:Kbd6AKbP
もういい加減機能追加が止まったwpfで新規アプリを作りたくないんだが
出来ないことの回避策を探す事に時間取られるWinUI3で作るのも地獄だし
もうずーっとWindowsのGUIアプリは今は作るな時が悪いで停滞してんじゃねーか
0649デフォルトの名無しさん
垢版 |
2023/07/16(日) 17:26:09.46ID:kPWMqAlO
機能追加って何が欲しいんだ?
一通りあると思うけど。あとは工夫次第だろ。
0650デフォルトの名無しさん
垢版 |
2023/07/16(日) 17:48:27.06ID:NIqQTkMR
最低限色付きのemojiは対応して欲しいな

今は自分で作るかnugetでいいのを探して使ってる
0651デフォルトの名無しさん
垢版 |
2023/07/18(火) 15:46:29.61ID:uuDyB+uu
WinUI3公式のサンプル試そうと思ったら依存関係ないとかいう例外出て情報も少なくて早々に投げちゃった
0654デフォルトの名無しさん
垢版 |
2023/07/18(火) 20:27:45.99ID:mNXjpdDn
デスクトップアプリなんてそんなもんだよ。
事実上、WIN32APIの画面でも問題ない。
0655デフォルトの名無しさん
垢版 |
2023/07/18(火) 20:56:20.17ID:AK2q1/EQ
事実上?
0656デフォルトの名無しさん
垢版 |
2023/07/18(火) 22:21:23.88ID:SyIOChPo
GUIはあらかじめ決められたUI/UXガイドラインに沿っていればよくて
あまり奇をてらう必要はないよな。というかかえって害悪だよな。
0657デフォルトの名無しさん
垢版 |
2023/07/18(火) 22:27:51.77ID:5UWIDgaz
基本的なリングプログレスも用意されていないのでUI/UXデザインがどうとかいう話でもない
0659デフォルトの名無しさん
垢版 |
2023/07/19(水) 11:41:28.51ID:x9es5cRL
Webは退化
0660デフォルトの名無しさん
垢版 |
2023/07/19(水) 12:35:30.77ID:A8CV4uql
WPFも外部のライブラリにはMSが出してないUI部品がいろいろとあるじゃん
>>657 のいうwebには外部のライブラリを使わずにhtml,cssの機能ですぐに使えるクルクルってあるのかい?
0663デフォルトの名無しさん
垢版 |
2023/07/19(水) 21:12:34.35ID:Ov59KYrm
>>662
#2 Pure CSS radial progress bar は三角関数必要だろ。どうやってんだろ。
なんかうまく工夫してんだろうか。
0664デフォルトの名無しさん
垢版 |
2023/07/19(水) 21:28:55.59ID:5c4o81Qs
その昔、MacがToolboxとして標準ウィジットを搭載してユーザーインターフェースガイドラインを発表したら
GUIのデザインを独自にやりたいといってDOSプログラマは否定的だったとか。
0666デフォルトの名無しさん
垢版 |
2023/07/19(水) 22:41:45.76ID:1biVaVka
>>665
UI設計って基本作りたいラフスケッチ/ワイヤーフレームを先に決めてから実装に落とす

WPFじゃ簡単に出来ないどころか不可能だと思うけど...
0667デフォルトの名無しさん
垢版 |
2023/07/19(水) 23:41:59.04ID:gAbRA/Vo
WPFは当初から基本的なAPIやコントロールがあまり実装されない
それでwinformsから借りてた
現在はUWPから借りてる
UX/UIの基準がもう更新されていないから今風なコントロールの基準からかなり遠ざかっている
0668デフォルトの名無しさん
垢版 |
2023/07/20(木) 15:46:30.38ID:q9wMynRV
numericupdownやchartくらいは実装しておいて欲しかった
0670デフォルトの名無しさん
垢版 |
2023/07/21(金) 00:08:18.44ID:UX0onJ+y
numericupdownはたまに作ると「まだ無いのかよ」って毎回がっかりしてる
グラフはともかく、これは必須でしょう
0671デフォルトの名無しさん
垢版 |
2023/07/21(金) 06:41:34.68ID:RqIZ05fo
winformsにあるからな。WPF作るとき実装すれば良かったのに。簡単なコントロールだろ。
0672デフォルトの名無しさん
垢版 |
2023/07/21(金) 15:50:52.27ID:bOOjw2GE
WPF用にコントロールの見た目を全部刷新すれば、もっと使う人も増えたんだろうけどな
WPFで作ってもコントロール表示がWinFormsのままだと萎える
0674デフォルトの名無しさん
垢版 |
2023/07/24(月) 19:29:13.93ID:A+Ff56tZ
新しい職場に来てWPFの案件なんですが正直レベルが高すぎてついていけません
今までもやったことはあったんですがまぁバックグラウンドにごりごりコード書いちゃうようなwinformsと大差ないようなので
当然MVVM全開でリアクティブでicommandでみたいな。正直このウインドウどこで呼んでるのどこでクリック処理してるのとかそのレベルでコード読むのが大変です
WPFwithMVVMを勉強するのになにかいいリソースってありますか。日本語書籍とか全然無いですよね。随分昔に出たXAMLプログラミングなる書籍は一通り読んだんですがそれにはMVVM一切無くて
0675デフォルトの名無しさん
垢版 |
2023/07/24(月) 21:00:07.43ID:KKtTNygQ
それはキツイな。同情するわ。
0676デフォルトの名無しさん
垢版 |
2023/07/24(月) 23:28:55.70ID:L/yEgKIa
俺はネットの情報だけでMVVMを覚えたけど、
リアクティブとicommandが何のことか分からない素人なので、
残念ながら助言できない。
0677デフォルトの名無しさん
垢版 |
2023/07/25(火) 00:06:37.05ID:GKGh2WSx
ReactivePropertyとかだったらokazukiのブログを一通り読むと少しは分かるかな
0679デフォルトの名無しさん
垢版 |
2023/07/26(水) 11:55:11.15ID:BzcAP5MI
wpf のShowModalでダイアログ出しても
タスクバーで親ウインドウ選べてタブでフォーカス移動とか出来るのは
なんか対策ありますか?
0681デフォルトの名無しさん
垢版 |
2023/07/27(木) 19:09:01.36ID:T1U/urv+
Ownerは設定しています
マウスで親ウインドウをクリックならちゃんと子ウインドウがチカチカしますが
タスクバーで選ぶと選べてしまいます
0682デフォルトの名無しさん
垢版 |
2023/07/27(木) 20:05:05.04ID:4LOg1fU5
>>679
俺のWPFのWindowクラスにはShowModalというメソッドがない
Ownerを設定してShowDialog()したらフツーにあんたが希望してる動作になったぞ
0683デフォルトの名無しさん
垢版 |
2023/07/27(木) 20:56:02.18ID:83Yj8N2k
そう。多分勘違い。
0684デフォルトの名無しさん
垢版 |
2023/07/28(金) 01:56:53.18ID:fJMcb68e
申し訳ありません確認不足でした
スペルはミスです
それとメインウィンドウからの一段回目のダイアログは問題ありませんでした
サブのサブを出したときに変な感じです
imgur.com/a/Ny0LW7A
0685デフォルトの名無しさん
垢版 |
2023/07/28(金) 02:42:36.52ID:tnpoO9lU
これは知らなかったな
マウスで操作する分には何も起こらないけど
キーボードで操作したらボタン押せちゃって、もう1個ウィンドウが開いた
0686デフォルトの名無しさん
垢版 |
2023/07/28(金) 02:47:31.78ID:tnpoO9lU
サンブルとしてボタンをクリックしたら、サブウィンドウが出るように作ったってことね
0687デフォルトの名無しさん
垢版 |
2023/07/28(金) 03:22:34.24ID:V2VuB5te
・Win32 API の EnableWindow で開く前に自身を無効化しておく(false)
・子の Closed イベントを購読しておいて子が閉じた時に Enablewindow を使用して有効化(true)する
・そのあとで子を ShowDialog

でいけないかな
0688デフォルトの名無しさん
垢版 |
2023/07/28(金) 03:36:24.33ID:V2VuB5te
Closed イベントじゃなくて ShowDialog の後で EnableWindow でもいいかも
子が閉じるまで処理止まるはずだから
0689デフォルトの名無しさん
垢版 |
2023/07/28(金) 03:42:52.01ID:V2VuB5te
var hWnd = new WindowInteropHelper(this).Handle;
EnableWindow(hWnd, false);
win.ShowDialog();
Enablewindow(hWnd, true);

みたいに。試してないが。
0690デフォルトの名無しさん
垢版 |
2023/07/28(金) 09:10:07.71ID:rw0v5Bhm
>>684
俺の環境だとまったくそうならない。win11でのvs17.6.5で.net framework4.8.9167.0
バージョンは何?
0691デフォルトの名無しさん
垢版 |
2023/07/28(金) 12:08:54.40ID:tnpoO9lU
>>684
キーボードで操作出来ちゃうのは、↓で防げるな
子ウィンドウをShowDialog()する前/後で、親のウィンドウのIsEnabledプロパティを無効/有効

>>689
効果なかった
0692デフォルトの名無しさん
垢版 |
2023/07/28(金) 23:47:06.43ID:fJMcb68e
>>690
win10, win11どっちもで
vs2017express と vs2022community
.NET Framework4.8 と .NET6

vs2022からデバッグで起動すると
そもそも動きがダメダメで駄目だった
exe直接開かないと話にならない
何だこりゃ
0694デフォルトの名無しさん
垢版 |
2023/07/29(土) 16:07:13.22ID:KgtriUaM
>>692
バージョンにそれほど差異はなさそうだ。
だがこっちで.NET 6と7でも試したがどうにも再現しない
コードはこれ
https://i.imgur.com/3ImqsVk.png
https://i.imgur.com/w3gN1Bi.png

仮想環境上のほぼ素のWin10に.NET Framework 4.8で作ったexeを持っていって実行しても再現しない

他の人は再現しているようだから起こるんだろうね。だが俺には無理そうだ
最後に念のため当方の環境を書いておくよ

Windows 11 Pro
バージョン 22H2
OS ビルド 22621.1992
Windows 10 Home
バージョン 22H2
OS ビルド 19045.3208

Microsoft Visual Studio Community 2022
Version 17.6.5
VisualStudio.17.Release/17.6.5+33829.357
Microsoft .NET Framework
Version 4.8.09032

RuntimeInformation.FrameworkDescriptionで取れる.NETのバージョン
.NET Framework 4.8.9167.0
.NET 6.0.20
.NET 7.0.9
0695デフォルトの名無しさん
垢版 |
2023/07/29(土) 16:57:46.82ID:zcThIP3a
>>694
そのコードで再現する
実行時の操作方法が合ってないと思われ
タスクバー使ってない気がする
0698デフォルトの名無しさん
垢版 |
2023/07/29(土) 20:31:56.47ID:rLsm4ZL4
普通にありそうだけど。
例えばモーダルの設定画面から起動するファイルダイアログとか。

VSのオプションで、「プロジェクトおよびソリューション」→「場所」とか
0699デフォルトの名無しさん
垢版 |
2023/07/29(土) 22:57:25.29ID:I6XWshKt
ああそういうことか

やっとお前らが何を言ってるのか理解した
結論としてはモーダルwindowをタスクバーに出してるんだろ
それじゃダメ

win.ShowInTaskbar = false;
その後にshowdialog
0700デフォルトの名無しさん
垢版 |
2023/07/29(土) 23:03:32.75ID:I6XWshKt
何か特殊な状況とかあってハマってるのかと思ったら古来から伝わる話だった
0701デフォルトの名無しさん
垢版 |
2023/07/30(日) 00:27:23.64ID:SWW1XK+d
>>695
なった、なった。俺の勘違いだった。すまん

モーダルのダイアログボックスがモーダルのダイアログボックスを開くことはある。たとえばこんな感じ
https://i.imgur.com/wWF3YI5.png

すでに >>699 に書かれてるとおり、この動作がこれまで問題になってないのは、上の画僧のようにモーダルにするダイアログボックスはタスクバーに表示させないのがUI作成の作法だからだろう
モーダルにするダイアログボックスというのは所有ウィンドウと内容が強く関連し、その一部のようなものだからモーダルにするのだし、単独では存在しないのだから、タスクバーに出すのは先頭の所有ウィンドウのみにすべきだと思う

よって、ShowInTaskbarをfalseにすれば問題解決
0702デフォルトの名無しさん
垢版 |
2023/07/30(日) 09:17:38.39ID:ra9EA2uQ
>>701
こんなん普通だろ
モーダルウインドー表示中に
システムエラーでるパターンは大体こうなる
0703デフォルトの名無しさん
垢版 |
2023/08/01(火) 18:51:53.90ID:7eSyhjys
いろいろやってみたけど
モーダルではない Show で出したウインドウからShowDialogしてもダメダメだし
メインウィンドウ以外はタスクバー使うなって事なのかな?
最小化すると懐かしい雰囲気が味わえるね
IsEnabledで被害を防ぐのはいいんだけど戻ったときに親のフォーカスがなくなるのが難点
子ダイアログではなく親ウインドウをタスクバーから消すのもやってみたがウインドウまるごとチラつくのでやな感じ
これなら親を消すほうがいいな
0704デフォルトの名無しさん
垢版 |
2023/08/01(火) 20:45:37.33ID:XpUMrXC2
今更どうにもならんとは思うが、ページ遷移型で組んでコンテントダイアログ使うのが一番いい
ウインドウは一つだけだから何も考えなくていいからね
0705デフォルトの名無しさん
垢版 |
2023/08/04(金) 22:18:29.56ID:p+l3H84b
久しぶりにwinUI3触った
あんまり進展はないようだ

GUIデザイナがないのは致命的で知らないコントロールの機能を手探りで実装していくのは大変だった
優秀な人には余裕なのかもしれないけどここまで辛い状況とは思わなかった
知っている人向けなんだよ全部が
0706デフォルトの名無しさん
垢版 |
2023/08/04(金) 22:50:44.24ID:p+l3H84b
UWPで開発してそれをWinUI3に移植するのが近いのかと思ったけど
それも怪しい
なんか思ってたのと全然違う
0708デフォルトの名無しさん
垢版 |
2023/08/04(金) 22:54:22.35ID:p+l3H84b
>>707
ググれば山ほど記事が出てくるでしょ?
国内外問わずに

winUI3はそれがない
あってもMSのクソドキュメント
0709デフォルトの名無しさん
垢版 |
2023/08/04(金) 22:58:35.63ID:p+l3H84b
WinUI3は基本のテンプレートのルートにあたるレイアウトコントロールがstackpanelになってる
しかもorientationがhorizontal

XAML入門者がGridをデザイナ抜きで使いこなせるとは思えないからだろう
Gridも仕様変更か追加されてて普通に使いにくい
0710デフォルトの名無しさん
垢版 |
2023/08/04(金) 23:02:46.68ID:p+l3H84b
デザイナがあればツールボックスにコントロールが一覧表示される
そこに表示されているアイコンや名前から機能を類推して選択することが出来る
それがない

手探りはまずいと思ったのかストアからギャラリーがインストールできるようになってるけど
出来が悪い
残念ながらサンプルとコードが一致してない
コピペで動くようにすらなってない
0712デフォルトの名無しさん
垢版 |
2023/08/04(金) 23:39:18.35ID:ma+YRo6X
私みたいな出来の悪い人はWinUI3挫折してWPFでやってる
0716デフォルトの名無しさん
垢版 |
2023/08/05(土) 00:06:20.15ID:49wwu17R
逆に Grid をデザイナで調整する方が難しくない?
余計な Margin が設定されたりするし
プレビュー程度にしかつかわないな
0717デフォルトの名無しさん
垢版 |
2023/08/05(土) 00:14:34.58ID:ddH4mDWJ
WinUI3のテンプレートの出力を小一時間イジっただけで全部把握しているように振る舞えるメンタルは尊敬に値するわw
0721デフォルトの名無しさん
垢版 |
2023/08/05(土) 09:48:07.14ID:wQaB7TT9
>>717
テンプレートってこんなだぞ?
頭大丈夫か?
<Window>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button x:Name="myButton" Click="myButton_Click">Click Me</Button>
</StackPanel>
</Window>
0722デフォルトの名無しさん
垢版 |
2023/08/05(土) 09:50:01.90ID:wQaB7TT9
>>719
バインドはGUIでやってる
IDEでサポートされるようになってWPFをまあまあ使うようになった
それまでは全然使わなかったけど
0725デフォルトの名無しさん
垢版 |
2023/08/05(土) 10:25:30.61ID:wQaB7TT9
WPFのデザイナはドンドン進化を続けていてかなり便利になっている
かなりの部分が手で書かなくても確認し選べる
自分のミスも見えるし自動入力なのでそのそもミスが起こらない
0728デフォルトの名無しさん
垢版 |
2023/08/08(火) 01:05:30.69ID:IyV15CeD
ファイルをwebview2にドラッグ&ドロップした時、セキュリティをすっ飛ばしてファイルのフルパス取得出来るようになった?
0729デフォルトの名無しさん
垢版 |
2023/08/08(火) 07:57:17.91ID:rQ7TZ/NI
WinUI3は流石に安定し始めているしデザインだけじゃなくてxamlも進化しているし
そろそろ使い始めても良いんじゃないかな
unpackagedでコンパイラの出力をそのままコピーするだけで動くのも大きい
0734デフォルトの名無しさん
垢版 |
2023/08/08(火) 13:12:34.17ID:egrx38+v
でもマテリアルデザインは使うんでしょう?
まさか生WPFのまま使い続けてるとか・・・?
0735デフォルトの名無しさん
垢版 |
2023/08/09(水) 11:20:59.99ID:+lD1iL0g
VirtualizingStackPanel.IsVirtualizing="True"なItemsControlでスクロール位置を保存したい。
ScrollViewerのScrollableHeightやExtentHeightは仮想表示がONのためか、同じ表示内容でも毎回変化してしまい
指標となる不変の高さが存在しない

何かいい方法ないですか?
0736デフォルトの名無しさん
垢版 |
2023/08/10(木) 13:28:25.50ID:Aji0Vi4e
>>735
1. 可視範囲内で先頭の要素のインデックスを保存しておく。
2. 復元時は ItemContainerGenerator.ContainerFromIndex
を使ってインデックスから要素を取得。
3. その要素の BringIntoView を呼び出す。
みたいな感じでいけるかも。
0739デフォルトの名無しさん
垢版 |
2023/08/11(金) 13:37:47.66ID:JGKsK+J9
なんもいじってないvisualstudioだと画面のビジュアルが上に表示されてその下にxamlのエディタが出るじゃないですか
それでまぁそのエディタが狭い。数百行とか1000行を超えるような画面になるとまぁあの狭い画面じゃまったく把握できない
みなさんどういう風にいじって開発されてます?
0740デフォルトの名無しさん
垢版 |
2023/08/11(金) 13:47:06.17ID:HA39DxTe
>>739
モニタがフルHDだったりしない?
WQHD だと特に狭いと感じないな。
縦向きにするといんじゃね?
0742デフォルトの名無しさん
垢版 |
2023/08/12(土) 23:21:45.24ID:CdwkORH9
あー左右に並べられたんですね。ボタンで一発ですか。ありがとうございました
なぜ気づかなかったかな
0743デフォルトの名無しさん
垢版 |
2023/08/15(火) 19:02:52.22ID:d9T9MMRf
>>738
Win11のGUIがなぜ一向にFluent化されずハイスペックマシンでもカクついたりするほどパフォーマンスが悪いのか疑問に思ってたんよ
ところが海外でWin11からシステムファイルをどこまで削除して起動できるかという試みがあって
極限まで削除したその結果なんとGUIがWin10そのものだったんよ
要するにWin11はWIn10のShellにXamlを使ってWinUIでOSのGUIを個別に作ってやがったんだよ

まさかWin11のGUIってOSネイティブじゃないからコピーなんかのコモンダイアログすらFluent化されてないんじゃ・・って怪しんでた通りで唖然としたわ

だってデスクトップだけ見てもmacOSやLinuxはGUIがアップデートされたらネイティブだからすべて統一されてるじゃん
こんな統一感のないGUIは世界中探してもWin11だけよ
まさかWindowsのコアであるタスクバーやExplorerやタスクマネージャーまでWinUIだったとは思わんかったわマジでMSってもうまともなエンジニアがおらんのやなって思ったわ
0744デフォルトの名無しさん
垢版 |
2023/08/15(火) 20:19:13.24ID:sK7X6CvI
winui commnity callの動画見てもエクスプローラでWinUI使ってるって言ってるやろ
具体的にはしらんがで、
エクスプローラで使われてる機能のバグだけ修正して終わり
0747デフォルトの名無しさん
垢版 |
2023/08/15(火) 23:14:22.56ID:vZJb8fI+
Windows3.1のアプリですら動かせるように過去バージョン互換をつけるならそう簡単にUIを作り変えることなんて無理なんだろ
0748デフォルトの名無しさん
垢版 |
2023/08/16(水) 22:24:28.98ID:jhvhNJs7
そもそもガラスっぽい窓なんかVistaでやってんのよ。8で発作のように板切れにしただけで、本来昔からもっさり半透明じゃん。
0750mdysdev ◆XSDsAilQpD0E
垢版 |
2023/08/18(金) 01:54:49.98ID:ZBuWhXbf
WPFで専ブラ作ってみたので評価してもらえないだろうか
https://github.com/mdysdev/HC5

githubも初めて使うので不備があったら申し訳ない。
ビルド済みzipもReleaseのところから落とせるはず

https://i.imgur.com/QdNCIvW.png
簡単な外観変更も可能
https://i.imgur.com/2pakYM2.jpg

レス書き込みは出来るけどスレ立ては出来ない。
機能的にはJaneStyleに及ばないけど徐々に追加していきたい。
0751mdysdev ◆XSDsAilQpD0E
垢版 |
2023/08/18(金) 01:57:49.99ID:ZBuWhXbf
datにフリーでアクセスさせてくれる8月いっぱいまでの短命になってしまかもだけど・・
0752デフォルトの名無しさん
垢版 |
2023/08/18(金) 11:43:46.81ID:TTcuER0I
評価って、何の評価よ?
技術的な評価?それともアプリのできの評価?
まぁ、後者としてコンセプトは何よ?それが見えない
0754デフォルトの名無しさん
垢版 |
2023/08/18(金) 11:50:33.68ID:TTcuER0I
既存のアプリのここがすげぇ使いづらいからそこを改善したアプリを作りますとか
新しいコンセプトのアプリ思いついたので作りますとか
そういうのがないならユーザー目線で新しいアプリいらん..
0756デフォルトの名無しさん
垢版 |
2023/08/18(金) 11:57:14.51ID:TTcuER0I
ちょっと前にもMAUI君が5chブラウザつくるといって1ヶ月で逃げ出したけど
少なくとも彼はsikiとか既存のアプリの見た目がショボいからWinUIの今時のアプリ
作るといってたが

逆にそっちが先にどういうアプリ作るのか言ってくれないと
この段階で評価なんかしようがない
0757デフォルトの名無しさん
垢版 |
2023/08/18(金) 12:01:25.04ID:zHuPFGZF
>>750
使ってないが画像見る限りWindowsの専ブラ特有のクソダサいUIで使う気にならない
せめてWinUI3.0でAcrylicやMicaのFluent Designを実装しろよ
俺はWin 11の自作アプリは全部WinUI 3.0でAcrylic化してるしそのためにWPFではなくWinForms使ってる
だから俺は専ブラだけはmacOSのBathyScapheをずっと使ってるわ
あとオタク特有の自己主張と承認欲求の気持ち悪いアニメ壁紙が本当に無理
この必要のないオタクアピが生理的に受け付けないからアプリを評価する気にもならない今後は気をつけろ
0759デフォルトの名無しさん
垢版 |
2023/08/18(金) 18:15:27.63ID:frpqeMB+
>>750
直近の騒動に触発されて情報収集&開発をしたのだと推察すると、
もしコンセプトが決まっていないのなら、UIや専ブラ特有の機能は最小限にして
5chの仕様変化にいち早く追従するリファレンス実装(動くドキュメント)をめざす
と言うのはどうでしょうか?
0760デフォルトの名無しさん
垢版 |
2023/08/18(金) 18:49:00.48ID:TTcuER0I
この段階で評価しようがないと書いたのは、ボロクソに書くとあれかなーと思って
お茶を濁したんだけど同じ意見のボロクソに言ってる人がいるんで
俺も正直に言うけど
>>757の言うとおりで見た目がダサすぎて使う気すらおきない

で、さっき書いた通りコンセプトとロードマップもわからないので将来性についても
何も評価できん
0761デフォルトの名無しさん
垢版 |
2023/08/18(金) 18:53:02.10ID:TTcuER0I
ただ、一ついいとこ見つけたのは
ソースコード見る限りMAUI君チームより技術力は全然上そうなので
開発のペースは速そうw
0762デフォルトの名無しさん
垢版 |
2023/08/18(金) 18:57:48.56ID:VmqYer8d
>>750
GUIを頑張ったみたいだね
まずは経験を積んで次のブラウザへのモチベーションを高めるんだ

2chブラウザなり5chブラウザを作る際にいつも悩むのはLib名
数字からスタートする名前には出来ないからな
ひっくり返してhc5
0763デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:02:18.39ID:VmqYer8d
お前らぼろくそに言ってるけどこれが初めてならかなりいい方だよ
どこもけなすところがないぐらい
0764デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:05:54.87ID:zHuPFGZF
車輪の再発明どころか劣化コピーとか誰も使わねーって遠回しに言ってんだよ
なんでみんな5chやしたらばをiPhoneやAndroidの専ブラで見てるかというとWIndowsはフォントやUIやUXが10年以上もクソゴミのままだからなんだよ
俺も嫌気がさして5chだけサブ機のMacBook ProでBathyScaphe使ってるくらいWIndowsの専ブラはゴミ
0765デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:08:42.52ID:VmqYer8d
個人の勉強のために作ったものに対して車輪の再発明だとかクソジジイみたいなことを言ってるんじゃないな
昭和かよ

今はそういう時代じゃない
0766デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:16:49.20ID:VmqYer8d
さっきソースをひととおりざっと見たけどまあ基本的な仕組みをちゃんと使えてて良い作りだと思います
ビジネスロジック自体はあまり実装されていないのでGUIから興味が薄れたらそっちを実装するのも良いと思います

うんこれからこれから
この調子でガンガンコード書きましょう
0768デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:20:22.30ID:VmqYer8d
文字のエンコードは "Shift_JIS"じゃなくてコードページ932使ったほうがいいと思う(個人の感想です)
0769デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:21:24.55ID:TTcuER0I
>>763,765
あのさ、技術的な評価とユーザ目線のアプリの評価を分けて考えような...

ユーザ目線のアプリの評価に初めて作ったアプリとか開発者の経歴とか関係ないから
そういう目線では現状ボロクソに言ってるだけ

技術的な話するなら、仮に初めて作ったアプリなら君のいうとおりだと思うよ
0771デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:23:49.25ID:TTcuER0I
だから、最初から>>752に書いたけど作者がどういう評価を求めてるのかわからない
っていったじゃん

それで俺は後者としてユーザ目線のアプリの評価しただけ
0772デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:27:37.04ID:VmqYer8d
WPFスレでユーザー目線の評価求めるとは思えんが…

それはさておきコード品位や実装度見てコード書いた人間の技量はある程度判断できるだろう
相手がミシュランシェフなのか子供がケーキ作ってるのかぐらいわかる

それが出来ないで噛みついてくる奴はほおっておけばいいんだなあ
0774デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:30:47.50ID:TTcuER0I
>>772
だから、それに確信が持てなかったから俺はちゃんと後者(アプリの評価)って断って俺は話進めた
他は知らんが
0775デフォルトの名無しさん
垢版 |
2023/08/18(金) 19:44:10.22ID:zHuPFGZF
まーたWinUI3.0がXAMLじゃなくWin32アプリ向けのアップデートだと知らないニワカの勉強不足の低脳のアホが沸いてて草生える
まぁ低脳に物教えるのが俺の仕事じゃねーから一行もコード書いてないWinUI3.0触ってすらいないニワカのアホの煽りは完全スルーするがな
ゴミ専ブラをゴミと言われて顔真っ赤で自演してるとかさすがアニメオタクだなキモすぎる
本当に擁護がいるならお前らがコントリビューターになってプルリク送って支援してやれよ
まぁバカどもは口だけで100%やらねーだろうがな
俺はフォントもUIも美しいBathyScaphe使い続けるわ

ちなみにこれがBathyScapheなWindowsの専ブラのゴミUIとは次元が違う
https://i.imgur.com/M2AL2cV.png
0779mdysdev ◆XSDsAilQpD0E
垢版 |
2023/08/18(金) 21:57:15.17ID:ZBuWhXbf
普段はJaneStyle使ってましたが、ご推察の通り7月のゴタゴタで専ブラ作ってみようと思い立った。
事前に色々調べて、8月初めから作成に着手して昨日なんとか形になった。

確かにコンセプトって言われると困るけど、自分の中ではJaneStyleの使用をやめたいっていう単純な理由。
Windows環境でさくっと読み書きできるツールになればいいかなと。
本業はC#でWebアプリのバックエンドをやってる。WPFは数年前にちょろっとやったのを必死に思い出しながらというところ。
GUIアプリの経験があまりないので、業務にも耐えうるようなものになっているか知りたかった。
.NET7にしたのは最新のC#の勉強も兼ねてってことなのでご容赦を。

9月以降もdatアクセス手段を提供してくれるなら開発を続けたいけど、またAPI Keyとか始まったら諦めるしかないかも。

UIが野暮ったいのは時間をかければ治せるかもだけど、鯖側の仕様変更はどうしようもないです
0781デフォルトの名無しさん
垢版 |
2023/08/18(金) 22:22:27.91ID:VmqYer8d
完全にスレチなんだけどコンセプトはそんなに大げさに考えなくていいと思うよ

従来のアプリにしたいのかwebライク(YahooやBingのポータル風とか)なのか
jane styleを踏襲したいのか他のアプリを踏襲したいのか
一度の沢山スレを表示したいのか(その方式も旧tweetdeckやマルチwindowなどいろいろ)1つだけでいいのか
遊びを多く入れたいのか実用本位なのか
拡張性を充実するのか自分で全部実装したいのか
重くてもいいのか軽量をめざすのか

可能性は無限大
0785デフォルトの名無しさん
垢版 |
2023/08/18(金) 23:07:15.21ID:VmqYer8d
大体1個目はjane系のクローンになってしまう
やればやるほどクローンの完全実装はそんなに楽じゃないと気が付く

頑張って実装を進めて自作機能も充実させたところででも別にjaneでいいんじゃないかと言うことになる
そこで終わる
クローンの機能の実装のためのコーディングは非常にやりがいはあるけどそれ本当に必要な努力なのかと

こだわりがないなら一個目は適度なところで切り上げて別のコンセプトで作るのがおすすめ
0786デフォルトの名無しさん
垢版 |
2023/08/18(金) 23:08:53.42ID:i6F+l2qQ
>>775
え、もしかして釣りだったの?
0787デフォルトの名無しさん
垢版 |
2023/08/18(金) 23:14:02.82ID:TTcuER0I
何度も書いたが評価してって言って何を評価してもらいたいのかよくわからんのよ
使いやすくみんなに使ってもらいたいアプリとして評価して?
と思ったからユーザ視点でコンセプトとか求めたけど

単に技術的にコードレビューして評価してほしいなら
アプリのコンセプトなんて求めないし

君が単に「評価」してといったがみんなに何をしてもらいたっかったわけ?
0788デフォルトの名無しさん
垢版 |
2023/08/18(金) 23:19:42.15ID:i6F+l2qQ
> WinUI 3.0でAcrylic化してるしそのためにWPFではなくWinForms使ってる

ここでWinFormsが出てくるのが本当に分からない
0791デフォルトの名無しさん
垢版 |
2023/08/19(土) 00:32:40.65ID:GSj6RrWf
そもそも>>750の専ブラはThemeがLightなアクリルなんだが、彼はダークならアクリルだと思っているんだろうか?
0792デフォルトの名無しさん
垢版 |
2023/08/19(土) 01:56:58.32ID:1/hroNhs
WPFのスレでWPFアプリを作って公開したらWinFormsでやれと怒られる。
理不尽すぎる
0795デフォルトの名無しさん
垢版 |
2023/08/19(土) 08:57:39.75ID:+QDwvDWv
作りたいなら手を付ければいいのにな

モックなりプロトタイプなり、人によっては基本設計なりスケッチなり、
やりたいアイデアがあるなら端からやってみればいい
0796デフォルトの名無しさん
垢版 |
2023/08/19(土) 10:14:20.56ID:xxLsZdb0
>>775
フォントってモニターの解像度が高いと綺麗に見えるんだよ
そんなことも知らずにフォント叫んでるのお前だけだからな
0797デフォルトの名無しさん
垢版 |
2023/08/19(土) 11:39:14.41ID:Wl/qjPve
そういや、DATアクセスは8月まではフリーアクセスどうこう言ってるけど
運営は8月移行はどうなるかわからんとか言ったん?
0798デフォルトの名無しさん
垢版 |
2023/08/19(土) 14:14:58.58ID:Wl/qjPve
うんこWinUI 3の最新版リリースされたやん
Version 1.4 Preview 2
次がStableか
つかさ、新しいItemsViewコントロールとか
最初
ListView/GridView

ItemsRepeater

ItemsView
0799デフォルトの名無しさん
垢版 |
2023/08/19(土) 14:19:30.21ID:Wl/qjPve
The new ItemsView control displays a data collection. ItemsView is similar to the ListView and GridView controls, but is built using the ItemsRepeater, ScrollView, ItemContainer and ItemCollectionTransitionProvider components. It offers the unique ability to plug in custom Layout or ItemCollectionTransitionProvider implementations
なんだItemsViewはItemsRepeaterなどの合体コントロールか

で新しいレイアウトのLinedFlowLayoutと
AnnotatedScrollBarか
0800デフォルトの名無しさん
垢版 |
2023/08/19(土) 14:33:48.82ID:Wl/qjPve
ItemsRepeaterの問題は選択機能がなく、自前で実装(見た目とかも)しなきゃいけなく
億劫だったが
ItemsViewはそこら辺もListView/GridView見たくやってくれるようなったんだよね?
0801デフォルトの名無しさん
垢版 |
2023/08/20(日) 20:28:42.15ID:N/OxtUO+
ちゃんと手を動かして形にしてるだけ偉いと思うんだ
夏休みダラダラしてた俺とは天と地ほど差がある
0804デフォルトの名無しさん
垢版 |
2023/08/21(月) 10:28:12.08ID:ol1P3YlW
>>779
UI/UXは技術じゃなくセンスだけども、頑張って欲しい
テーマを選べるだけでもいいかもしれないが
あとやっぱり機能として、スレ立ては欲しいな
0805デフォルトの名無しさん
垢版 |
2023/08/22(火) 22:27:09.72ID:gdIlDAxT
Vmという接頭辞がついているのにviewmodelじゃなかったり、過去の使われなくなったコードが全部残ってたり、1クラスが1万行超えてたりetcetc
おまけにそもそも設計のドキュメントは一切無い。外部向けの資料のみ。ひどい会社に来てしまった……
0806デフォルトの名無しさん
垢版 |
2023/08/22(火) 23:11:38.63ID:6gJfdiDb
JTCあるある
0815デフォルトの名無しさん
垢版 |
2023/08/26(土) 11:36:32.15ID:UpJ7Bk8S
初心者じゃないんだから、5chブラウザつくるとしても
少し挑戦的な事してここの視聴者楽しませてよ
0818デフォルトの名無しさん
垢版 |
2023/08/26(土) 14:37:18.36ID:QKHGYPpz
ともかくいろいろとちぐはぐしてる
人に見られることを前提とした普通に自分で組むには不要なコメントとか
大きなサービスとか…
0819デフォルトの名無しさん
垢版 |
2023/08/26(土) 15:09:41.41ID:hcnbZQTk
なんだそのふわっとした具体性のない指摘は
無理にケチ付けることないのに
0821デフォルトの名無しさん
垢版 |
2023/08/26(土) 15:35:06.57ID:QKHGYPpz
もともとc++などを含めた他の言語で野良コードを書いてた人が
ビジネス向けの専門学校みたいなところでC#を学んでDIとか色々知識があるような印象

そして丁寧にコードを書いてるけどまだC#が血肉にはなってないので元の癖が出る
それか仲間の先生に当たる人が乱雑だったので変な癖が残っているか

誰か別の人間がところどころコードを書いたのかコピペしたのか
0825デフォルトの名無しさん
垢版 |
2023/08/26(土) 17:15:42.20ID:QKHGYPpz
>>822
いやいや指摘でもなんでもない
違和感を書いてる
そして何も気が付かないにぶーい人に自分の見解を伝えてる
0826デフォルトの名無しさん
垢版 |
2023/08/26(土) 17:28:24.81ID:QKHGYPpz
このスレの他の人はオリジナリティの話をしてる
昔からあるドラマや漫画で出てくるような芸術作品や演奏に対する指摘のようなもので

君の作品には情熱が感じられない教科書通りでつまらないみたいな話
いまだとばらかもんが丁度似た様な話をしてる

自分は今現在はそこまでの話をする段階にないと思う
適当なところで切り上げて色々デザインして経験してみたほうがいい気がする
その後に作ったものが自分が楽しんで使ってることに喜びを感じるレベルになれば人からもそういった面で良い評価を貰えると思う
0827デフォルトの名無しさん
垢版 |
2023/08/26(土) 17:41:00.84ID:UpJ7Bk8S
せっかくアプリ作って公開しましたと面白そうなネタが投下されたが
だめそうだな
0829デフォルトの名無しさん
垢版 |
2023/08/26(土) 18:25:05.72ID:W2Um6gjp
アクロバティックなものを所望ならBlazor Hybridもいいと思うのよ
実用性あるかは別の問題として、前例のないことをやるという点は満たしてる
0830デフォルトの名無しさん
垢版 |
2023/08/26(土) 22:00:12.76ID:16WUCkmH
書き方なんてどうでも良いのよ?
ゲイツはみんなと違う画期的なコードで時代を切り開いた。
0831デフォルトの名無しさん
垢版 |
2023/08/27(日) 00:46:17.43ID:W3b+7qIa
>>825
では俺も ID:QKHGYPpz のレスを見て指摘でなく違和感を書こうかな
誰の何の役にも立たない独り言なら、多数が集う掲示板でなくチラシの裏にでも書いて誰にも見せず捨てればいいのに
会話できず、するつもりもないと開き直るなら掲示板にくるのは無駄だし害悪ですらある
これに気が付かないにぶーいID:QKHGYPpzに自分の見解を伝えてみた
0836デフォルトの名無しさん
垢版 |
2023/08/27(日) 13:51:55.91ID:vknuNgDk
viewmodelsって対応するviewに表示するためのデータとロジックを持ってるって認識で合ってる?
コード見てると他のviewmodelファイルでインスタンス化されたりプロパティが呼び出されてたりしててあれこういうのありなの?って
0838デフォルトの名無しさん
垢版 |
2023/08/27(日) 21:19:33.66ID:vknuNgDk
機能修正の事前準備としてリファクタリングさせてください
とか言ってもひとまず機能修正優先でとか動いてるんだから余計なことするなとか言われるのがオチだよね
0839デフォルトの名無しさん
垢版 |
2023/08/27(日) 21:40:22.11ID:IUQW/AR/
もうその5chブラウザの事ほっとけよ
作者があまり顔出さないのに
作者不在のままここで毎回ゴタゴタが発生であほらしい

ほっとくのが吉
0842デフォルトの名無しさん
垢版 |
2023/08/28(月) 20:00:38.72ID:BueC5+dS
ふと思ったことや感じたことを言うと叩かれる → 心理的安全性が低い
他人の行ったことを否定する → 心理的安全性が低い

本人に自覚がないのが恐ろしい
0843デフォルトの名無しさん
垢版 |
2023/08/28(月) 20:44:27.43ID:QJ/DbKdl
マスゴミって批判しないで、記者が萎縮してしまいます。でも自分達は批判も攻撃もするけどね。みたいな二重基準?
0844デフォルトの名無しさん
垢版 |
2023/08/28(月) 21:29:09.23ID:6uHv/wqC
技術的な話とかに関して色々批判はいいと思うけど
最後は人格攻撃と不毛な事になるのが多いからなw
0845mdysdev ◆XSDsAilQpD0E
垢版 |
2023/08/30(水) 09:16:29.73ID:rmxbhQ8d
MVVMって例えばWPFでいうなら、VMでSystem.Windows名前空間をusingしないっていう認識で合ってる?
要はVMだけでOS非依存のdll化できるか
0847デフォルトの名無しさん
垢版 |
2023/08/30(水) 11:12:09.35ID:FKrsdOsE
究極の疎結合って意味では合ってる
CommunityToolkit.mvvmもプラットフォーム非依存だし極端な話、上側がWinUI3でもVMそのまま動くってことでしょ

ただ実際問題すげーめんどくさいとは思うがw
0848デフォルトの名無しさん
垢版 |
2023/08/30(水) 13:38:27.33ID:Zjd+Qgp2
だね、5chブラウザのほうでViewModelでウィンドウクラス?を参照してたのは気になってた

まぁ、最初の1回だけは勉強のためMVVMガチガチにやって頑張ってもいいし
そこは本人次第
0849mdysdev ◆XSDsAilQpD0E
垢版 |
2023/08/30(水) 14:56:17.68ID:rmxbhQ8d
ありがとう、System.Windowsを分離してみる。


>>848
確かにWindowは分かりやすく「ん?」ってなるけど、
ClipBoardとかBitmapImageとかもみんなSystem.Windows配下なんだよね。
これらの処理を全部持ってくと、Viewにも結構ロジックが必要になりそう。
UIフレームワーク固有の機能なんだから疑問を持つのがおかしいのかもだけど
0852デフォルトの名無しさん
垢版 |
2023/08/31(木) 01:17:12.25ID:UxD03clT
MVVMといえばうちの会社でのプロジェクトでさぁ例えばだけどmodelにcircleクラスがあるとするじゃん
んでそれをコンストラクタの引数に取るVmCircleなるクラスをわざわざ作るのよ。んでそれを各種viewmodel内部でいじるんだけど、VmCircleはCircleのviewmodelとか言ってるの
おかしいでしょそれはviewmodelでもなんでもないでしょって言ったんだけどいやviewmodelだって
これ俺がおかしいのか?
0853デフォルトの名無しさん
垢版 |
2023/08/31(木) 01:44:14.25ID:k/7LWfvb
>>852
サーバサイドでも使う Entity とかを .NET Standard で共有して、
クライアントサイドではそれをINotifyPropertyChanged を実装したクラス (VM) に変換する必要がある、
もしくは将来的に変更通知が必要になる可能性を見越してそうしておく、
とかならありえなくはないんじゃない?
0854デフォルトの名無しさん
垢版 |
2023/08/31(木) 07:06:57.56ID:BoGIe8nI
>>845
変な理解しているな。
ViewModelでBitmap加工などは普通にやる。 当然、System.Windowsをusingする。
Viewのエレメントに直接アクセスするなという事だけ。 いわゆる委譲だな。
例えば、Viewにパラメーター渡すために、IxxxViewRepositoryインターフェースをViewに継承させ、そのレポジトリをViewModelにインジェクションすればそれでOK。
ContainerのChildrenは、ViewModelにダイナミック生成バインドできないので、Add、Remove、Move操作をそういう方法でやる。
DDDなどのクリーンアーキにチャレンジしてみれば、その辺はインチュイティブに理解できるようになるよ。
0855デフォルトの名無しさん
垢版 |
2023/08/31(木) 07:56:35.25ID:UxD03clT
>>853
そもそもviewmodelってviewとmodelをつなぐ役割をするものじゃないんですかね
別に対応するviewなんて何も無いただデータとそのメソッドを持つだけのクラスをviewmodelと言えるんでしょうか
0857デフォルトの名無しさん
垢版 |
2023/08/31(木) 12:07:44.06ID:+9swg57/
>>854
それ、すごい労力かかる割にはWPF専用のViewModelになっちゃうじゃない。
いまUIライブラリ移行の過渡期なんだし、再利用できるViewModelとか考えないの?
0858デフォルトの名無しさん
垢版 |
2023/08/31(木) 12:40:08.29ID:k/7LWfvb
>>855
俺の理解が間違ってるかもしれないけど、
その Circle クラス?が画面上の円のコントロールかなにかの DataContext になってるなら ViewModel であるといえるんじゃないだろか。
画面上のどこにもバインドしてないんなら違うと思うけど。

例えば ListBox の ItemsSource にバインドするコレクションの各要素の型は ViewModel と言えると思う。
ListBoxItem を 1つの View として見た時にその DataContext になるから。

↓これとか ItemViewModel というのを定義してる。
https://blog.okazuki.jp/entry/2016/04/08/233620
ItemViewModel
0859デフォルトの名無しさん
垢版 |
2023/08/31(木) 13:22:03.44ID:WwAx/vtc
viewmodelはmodel用のviewじゃなくてview用のmodel
各種viewmodelでcircleモデルのview用の変換やviewからの入力に対してモデルとの橋渡しをする場所としてvmcircleを作ってるんならまあ理解できる
0860デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:00:23.53ID:+wESSzqb
何なら納得するんだろうか?

画面に複数のタブページがあるアプリがあって
メインVMに複数のタブページ用のVMがリストなどで持たれている(直接のモデルじゃなくて)

これでおかしいと思うのかどうか
0864デフォルトの名無しさん
垢版 |
2023/08/31(木) 16:52:36.04ID:BoGIe8nI
>>857
VieModelの再利用?
再利用するのはViewの方であって、ViewがViewModelへのバイディング権がある。
それで、フレキシブルな画面構築ができる。
ロジックの再利用は、Domain層にまとめる。
0865デフォルトの名無しさん
垢版 |
2023/08/31(木) 17:36:52.11ID:+9swg57/
>>864
ん?例えばMAUIとかWASMに移植するときはViewModelを全部作り直すってこと?
大変じゃね?っていうかそれってMVVMじゃなくね?

MVVMって画面とロジックの分離であって、画面が変わるたびに作り直さなくちゃいけないなら
それはViewModelではなくViewの範疇では?
0866デフォルトの名無しさん
垢版 |
2023/08/31(木) 18:44:34.81ID:+wESSzqb
ViewModelはviewとmodelの間が互いにデコボコしてて
綺麗にくっつかない場合に間に入るつめもの

もともときれいにくっつくなら不要

Viewが変わればまた形に添ったViewModelが必要になる
0867デフォルトの名無しさん
垢版 |
2023/08/31(木) 19:17:40.59ID:0zAKJthF
クライアント側にあるView層にViewとViewModelがある
サーバー側にModel層があって自分の場合はREST full APIで作られたSaaS出ある場合が殆ど
業務ロジックはModel層内に全てあるので再利用可能
0868デフォルトの名無しさん
垢版 |
2023/08/31(木) 19:22:25.33ID:0zAKJthF
View層にはWPFを動作させるための処理しかない

View層をReactで作ってもそこにあるのはReactを動作させるための処理しかない

業務ロジックは全てサーバー側にあって全く無駄にはならない
0870デフォルトの名無しさん
垢版 |
2023/09/01(金) 16:45:19.11ID:ba1FgNHl
機器の通信サンプルアプリをWPFで作るのは有り?
サンプルを参考にする相手がWPFを使ってるかわからないから、WinFormsの方が無難かな?
一番無難なCUI版は出来たからコアの通信部分は変わらなくて、通信結果を見やすくするだけなんだけども
0873デフォルトの名無しさん
垢版 |
2023/09/01(金) 21:56:19.74ID:42muqi3u
>>866の説明はCよりVMよりだと思う
VMはModelを特定のView用に変換した状態を持っておくもの

MVC
Vーーーーーーーー 監視 ーーーーーーー>M
Vーーー入力ーー> C  ーーー入力ーー>M
V<ーーーーーーー 通知 ーーーーーーーーM

MVVM
Vーーー監視ーー> VM ーーー監視ーー>M
Vーーー入力ーー> VM ーーー入力ーー>M
V<ーー通知ーーー VM <ーー通知ーーーM
0879デフォルトの名無しさん
垢版 |
2023/09/02(土) 00:18:16.99ID:fOS98KnE
自己満ですなーー
WPFのMVVMがまさに究極の自己満

MVVMとかvue.jsとかangular、androidとかでも普通に使うし
そっちは実装コストもかからん
0881デフォルトの名無しさん
垢版 |
2023/09/02(土) 08:18:23.73ID:Fau+Wvgs
>>877
モニターアプリでは良くやるよ。
化学プラントの製品毎の画面やライン管理の製品毎の32~4096接点モニターとかね。
モニターと非常停止等の共通アクション画面なら流用する。
ただし、Viewのビハンイドコードトリミングは必要。
それらを再利用というには微妙だな。 VMはペアで消費するものと考えるのが普通。
再利用というのはロジックの再利用を言うのが一般的じゃね?
0882デフォルトの名無しさん
垢版 |
2023/09/02(土) 09:33:36.47ID:fwdoqn2z
結局VMに何らかの描画以外のロジックを書いてる人が多いんだろうなと
mvvm原理主義者じゃなければ別に好きなようにしたらいいんだが

WPFは結局どのように実装すべきなのかハッキリとしたパターンが確立されなかった
これが一番の問題だった

明確に役割分担してオブジェクトの生死を適切に管理してる人間がどれだけいるのか
0883デフォルトの名無しさん
垢版 |
2023/09/02(土) 09:49:03.02ID:fOS98KnE
>>875
あってるぞ
MをVに表示させる為に必要な形に変えたものだ
例えばM(Web APIのResult)をVM(Vにバインディンク可能なデータ型)に変換してVと接続する
0884デフォルトの名無しさん
垢版 |
2023/09/02(土) 10:06:25.37ID:fwdoqn2z
状態と言う意味が通じていないので話をしても無駄

v vm mでそれぞれ状態は持ってる
普通はmの状態のことを話すんだけど双方の話がかみ合っていない
0885デフォルトの名無しさん
垢版 |
2023/09/02(土) 10:12:13.25ID:fwdoqn2z
本来はMと全層から利用されるビジネスロジックが主体なんだけど
vmでガッツリロジックなり制御なりのコード書いてる人が多い

そういう人から見るとvmは状態を持っていると言う主張になる
0886デフォルトの名無しさん
垢版 |
2023/09/02(土) 10:21:43.71ID:Fau+Wvgs
>>882
だね。
ViewModelはインスタンスプールの場という認識が無いとそうなるね。
Bitmap加工にしても、ロジックは別の層に置くもの。
ロジックはDomain層、ドライバーはInfrastructure層でカキコしておけば再利用というスタイルの本筋が見えてくる。
0887デフォルトの名無しさん
垢版 |
2023/09/02(土) 10:42:05.01ID:ePvjWEyO
wikipediaだとこうだな。VMはVが表示すべき状態を保持するというのが普通の理解だと思う。

ViewModel
ViewModel(ビューモデル)はViewを描画するための状態の保持と、Viewから受け取った入力を適切な形に変換してModelに
伝達する役目を持つ。すなわちViewとModelの間の情報の伝達と、Viewのための状態保持のみを役割とする要素である。
0889デフォルトの名無しさん
垢版 |
2023/09/02(土) 11:59:17.23ID:+7egXD0v
>>887 の定義だとちょっと密に思えてしまうな


https://learn.microsoft.com/ja-jp/dotnet/architecture/maui/mvvm

大まかに言うと、ビューはビュー モデルを "認識" し、
ビュー モデルはモデルを "認識" しますが、
モデルはビュー モデルを認識しておらず、
ビュー モデルはビューを認識していません。
したがって、ビュー モデルではビューをモデルから分離させ、
ビューとは独立してモデルを進化させることができます。
0891デフォルトの名無しさん
垢版 |
2023/09/02(土) 13:16:00.96ID:CPf5VJuY
>>882の言うようにハッキリとしたものがないと同意した上で言わせてもらうが
>そういう人から見るとvmは状態を持っていると言う主張になる
VMは状態をもつ

めちゃくちゃすぎる
普通に状態を持つ
0892デフォルトの名無しさん
垢版 |
2023/09/02(土) 13:18:09.94ID:fwdoqn2z
アプリケーションの真の実態はMなんだから忘れることじゃないな
勘違いされがちだけどMはデータ置き場でもライブラリでもないアプリケーション本体

VMは表層でしかない
メッセージの仲介所
上で書かれたインスタンスプールでもない
仕事をするにあたりただどこかにあるモデルへの参照を持っているだけ

ModelAとModelBを参照して計算してModelCに入れるのはVMの仕事ではない
VMはMに単純なメッセージ飛ばすのが仕事
0893デフォルトの名無しさん
垢版 |
2023/09/02(土) 13:35:29.82ID:CPf5VJuY
ロジックを単にロジックと表現したりするとこみると
ロジックをビジネスロジックとプレゼンテーションロジックに分けて
考えてないよね

ここで>>882のじゃあ明確なその区別のルールは?って問題が出てくるが
0894デフォルトの名無しさん
垢版 |
2023/09/02(土) 13:44:31.42ID:fwdoqn2z
どうも自分の書き込み全体じゃなくて部分的な文章しか見てもらえてない気がする

>>884とかガン無視されてる
0895デフォルトの名無しさん
垢版 |
2023/09/02(土) 13:46:57.02ID:fwdoqn2z
あ、vmが状態を持つのはそのように書いたからであってあまり意味はない
適切なのかどうかは知らない
0898デフォルトの名無しさん
垢版 |
2023/09/02(土) 14:19:20.78ID:CPf5VJuY
>VMは可能な限り薄くすべきだよ
いやいや、ViewModelは作る画面をモデル化したものだから
それは作る画面次第だから
VM薄くするために要件にまで介入する気なの?

(もちろん、VMに限らずスパッゲッティ排除したりすることはいいことだが)
0899デフォルトの名無しさん
垢版 |
2023/09/02(土) 14:32:46.57ID:Opj29vAW
>>888
サーバー側でも結局必要になる処理なんで
バリデーション機能を提供するWebAPI定義してそっちでやってる
パフォーマンスもローカルでやるのと変わらん

自分設計の案件は
小計行の合計値など画面に表示されるものほぼ全てサーバー側での計算値だ
0900デフォルトの名無しさん
垢版 |
2023/09/02(土) 14:40:30.69ID:CPf5VJuY
>メッセージの仲介所
>デコボコしてて綺麗にくっつかない場合に間に入るつめも
これが先じゃないんだよ
例えば、学生を扱う時に「Student」クラス作ってNameとかAgeとか
状態持たせて「モデル化」するのと同じように

作る画面を同じように状態抜き出してロジック与えて名前を
付けたものがViewModel

こっちが先
0901デフォルトの名無しさん
垢版 |
2023/09/02(土) 14:48:44.91ID:CPf5VJuY
で、ViewModelの実装において画面が複雑なら、ビューモデルに書くプレゼンテーションロジック
が複雑になるし、Modelにドメインロジックの実行を依頼したりする

だから、
>メッセージの仲介所
とか表現が極端すぎる
ViewModelは画面をモデル化したもので、立派に独自のプレゼンテーションステート
やプレゼンテーションロジックも持つ立派な1つのエンティティです
0902デフォルトの名無しさん
垢版 |
2023/09/02(土) 15:38:06.62ID:5BMaIqoW
>>900
>作る画面を同じように状態抜き出してロジック与えて名前を
>付けたものがViewModel
作る画面(View)のもとになるのがModelなのでその過程をどの程度意識しているかどうか
言い換えればViewを所与のものとして受け取っているかどうかの違いでは?

それ以外の点はほぼ賛同できる
0903デフォルトの名無しさん
垢版 |
2023/09/02(土) 16:13:13.84ID:ePvjWEyO
>>902
>作る画面(View)のもとになるのがModelなのでその過程をどの程度意識しているかどうか

アプリケーションの実装はそう考える場合があるかもしれんがMVVMパターンとして
MとVMにそういう関係があることを求めてはいないと思うがな。
0904デフォルトの名無しさん
垢版 |
2023/09/02(土) 16:37:06.13ID:CPf5VJuY
>>903
いいこというね
>>890のモデルを忘れろってそういうことなんだわ
ViewModelはあくまでも作る画面をモデル化しておとしこんだのであって、
その作る画面がどのModelが元になってるか関係ないんだわ
0905デフォルトの名無しさん
垢版 |
2023/09/02(土) 17:02:01.28ID:fwdoqn2z
自分でロジックブーメラン投げて刺さってるし触れるだけ無駄なんだなと

ヒマつぶしにriga○○が何なのか調べてみたけどわからなかった
更に調べるとかなり前から懐かしのugayaのことをrigayaと言ってる人物がいる
多分この人なんだろう

rigayaと言うのは別人がいてNVEncの作者
0910デフォルトの名無しさん
垢版 |
2023/09/02(土) 17:57:45.40ID:CPf5VJuY
そうそれ
全部Modelに押し込めってことか?って事で
FatModelって勝手に呼んだけど

完全な正解はないから俺も含めてみんなおれおれMVVMを信じるだけw
0911デフォルトの名無しさん
垢版 |
2023/09/02(土) 18:42:57.12ID:ePvjWEyO
俺も>>909はVMの要件とは思わんな。
ただ、V→VM→Mというクリーンアーキテクチャで考えるならMからVMへの依存性逆転に使うインターフェースは
M側に含めることになるかな。それが「Modelの影」にあたるのかもしれんが。
言葉としては違和感があるな。どっちかというと「Viewの影」の方がしっくりくる。
0912デフォルトの名無しさん
垢版 |
2023/09/02(土) 22:11:29.82ID:fOS98KnE
「Viewの影」か...

VMにはMからの応答データ以外にも
カレントフォーカスやら
リスト系入力コントロールのカレントインデックスやら
入力コントロールの変更前値なども保持してるね
これらはMではあまり取扱かわない
0913デフォルトの名無しさん
垢版 |
2023/09/03(日) 18:43:28.44ID:PKYmB8Sw
>>911
Mにインジェクションはまずくね?
そもそも、EntityやModelは定義とロジックが入るクラスで、かつ、Domainに属するクラス。
ViewとViewModelはApplicationレイヤー。
Domainとは、外部参照ができない領域で、そこにPropertyインジェクションはリスクを覚悟した使い方。
何事もトリッキーが必要になる事はあるが、SOLID原則は可能な限り守るべき。
0914デフォルトの名無しさん
垢版 |
2023/09/03(日) 18:47:29.66ID:McvOhRnv
この5chブラウザって実行できねぇじゃねぇかよ
とりあえずWindows 11 ProのSandbox環境立ち上げて
実行してもSeach app in the store?だっけ?
とダイアログが出て実行できねぇ
.NET 7のランタイムとかいれてもだめやわ
だるっ
0916デフォルトの名無しさん
垢版 |
2023/09/03(日) 20:37:38.19ID:TWuH3asg
本来のMVVMだとVMがMに命令を出してその結果をVMのプロパティーに反映だが
コレクションはMに無いとどうにもならないし、それをVMがリダイレクトする
この時点で初期のVMMVは破綻しているよな
0917デフォルトの名無しさん
垢版 |
2023/09/03(日) 21:08:54.26ID:0JPdNbB1
デザイナーとプログラマーと別けてやるならそうだか、自分一人でやるんならマイルールで頑張れば良い。他人は他人、気にせずに行こう!
0918デフォルトの名無しさん
垢版 |
2023/09/03(日) 21:16:42.81ID:Zxyqi4pM
>>916
>本来のMVVMだとVMがMに命令を出してその結果をVMのプロパティーに反映だが

本来のMVVMと言うが、MとVMのやり取りにおける役割分担ってそんなに明確に定まったものはないと思うが。
0919デフォルトの名無しさん
垢版 |
2023/09/03(日) 22:05:14.34ID:Dhh2faXN
【クライアント側】
View (WPF)
ViewModel(WPF)
Model(c#, 業務ロジック以外のロジック、例えばUI処理に必要なロジックなど)
【サーバー側】
Model(c#, 業務ロジック)

みたいに実際はクライアント側にもModelが必要になる事が多い
0920デフォルトの名無しさん
垢版 |
2023/09/03(日) 22:46:24.33ID:TWuH3asg
>>918
創世記の頃はさっき書いたようなのだったが、ビジネスロジックをほぼ全てMに書く派閥ができてカオスになった
あと、ReactivePropertyでMから簡単にリダイレクト出来るようになったのも大きい
0922デフォルトの名無しさん
垢版 |
2023/09/03(日) 23:49:15.10ID:Dhh2faXN
クライアント側やクライアント側にもModelが存在しえるが
ここにはUI要素が殆どなく(あったとしても抽象化されている)
WPF以外からも再利用が可能だ

ViewModelは特定のView専用に実装されており
異なる種類のViewの実装から再利用する事は望めないのが普通だ
0924デフォルトの名無しさん
垢版 |
2023/09/04(月) 01:14:09.52ID:vsxnPNVu
VewModelはViewの構成要素(データやコマンド)には依存するけど実装には依存しないでしょ
0927デフォルトの名無しさん
垢版 |
2023/09/04(月) 20:00:29.56ID:fuW/8CV2
M、VMはそのままで、VをWPFでもUWPでもUnoでもMAUIでもコマンドプロンプトでもまだ存在しないビューにしても成り立つのが理想のMVVM

まあ本体のバージョンやらなんやらで制約受けるんだけども
0928デフォルトの名無しさん
垢版 |
2023/09/04(月) 22:51:14.61ID:7E+/PPwt
>>927
機種やOS依存しないのはMだけで、VMはWPFからWinUI3に変わるだけでも作り直し
Win32とWinRTは名前空間が別だ
0929デフォルトの名無しさん
垢版 |
2023/09/04(月) 23:30:01.70ID:J0Btfpeo
前からいるVMは作り直さなくてもいいと言う人は実際に使ってない気がするんだな
0931デフォルトの名無しさん
垢版 |
2023/09/05(火) 20:28:59.35ID:qu07bRnx
MVVMでは、Modelはただの定義であって、それがどこにあろうが、ローカルインスタンスはViewModelにある。
ModelインスタンスはViewにバイディングされるが、Model管理はサブスティチューターやインタラクター等の中間介在者経由で行う。
Modelにインジェクションは、中にパーサーを持たせ、ファイヤーや他にアソシエートさせるという事だろうが、それは、再利用性を損ねる事になる。
MVVMは見かけはMVVMだが、実際には、疎結合実現のために、取り巻くサービスから構成される。
0934デフォルトの名無しさん
垢版 |
2023/09/05(火) 22:14:49.56ID:FTgFHkq3
もう今はMFC/WinForms/WPFという過去の遺産グループに一括りにされる時代なのよね
WPFはなんていうか、オーパーツを発掘してる気分、腐ってやがる早すぎたんだって
0936デフォルトの名無しさん
垢版 |
2023/09/06(水) 05:28:15.62ID:CIPjTMvR
結局プログラム言語とかプログラミング作法じゃなくてアイデアなんだよな。
それをセンスと言うのかな?
MVVMはオートメーションの作法なんだよ。
俺は機械作業の一部になりたくないな。
0937デフォルトの名無しさん
垢版 |
2023/09/06(水) 06:00:45.77ID:aEV5JQPD
ViewModelの再利用性なんて無限のコストをかけていいならいいけどさ
円周率を表示するアプリがあって3.14と表示するかおよそ3と表示するか画像取り込んで表示するかなんて
Viewの仕様次第でいくらでも膨らむのにどうやってViewModelの再利用性を決めるんだ?
0938デフォルトの名無しさん
垢版 |
2023/09/06(水) 06:51:57.86ID:CIPjTMvR
UIは変化(進化)するWindowsとandroidも違うし、あと数年でMVVMなんて有ったなぁとなるかも知れない。昔の構造化とか。
0939デフォルトの名無しさん
垢版 |
2023/09/06(水) 09:12:10.70ID:UTcPybKQ
MVVM言いたいだけ
0942デフォルトの名無しさん
垢版 |
2023/09/06(水) 11:09:07.24ID:EbyA7lxn
データをどう見せるかなんてViewのシゴトだしな
コードビハインド書きたくないとかはワガママだ
0943デフォルトの名無しさん
垢版 |
2023/09/06(水) 11:35:08.73ID:Hs78urxK
>>942
それな!
本来Vのコードビハインドに書くものを外だししただけでこれがVMとか言っちゃうのが多すぎる。
>>937とかその典型。それに再利用ってのは本来将来のコストを下げるためにやるもの。
半端もんは口出さずに100万年ROMってろってこった
0945デフォルトの名無しさん
垢版 |
2023/09/06(水) 11:57:04.90ID:jZLgLXW4
VMはVに依存する=WPFならWPF専用になる
汎用クラスだけでVMが書けない以上不可能なんだよね
0947デフォルトの名無しさん
垢版 |
2023/09/06(水) 19:08:19.79ID:49e0pxsZ
最終的にはそういう事
m vm vをどうしても二つのグループに分けると
v vm とmグループになる
vm再利用とかありえない
0948デフォルトの名無しさん
垢版 |
2023/09/06(水) 20:03:38.91ID:R922v4XL
>>946
だね。 
V+VMはペアで中味はトリッキーでもなんでもご自由にどうぞ。
V+VMとMの関係がアーキテクトの骨子。
0951mdysdev ◆XSDsAilQpD0E
垢版 |
2023/09/08(金) 20:01:30.51ID:xsuhKaXw
WPFはパフォーマンスでないねぇ
UI仮想化しないと初期表示がくっそ遅いし、仮想化するとスクロールがガクガクする
WebViewを試してみるか
0953デフォルトの名無しさん
垢版 |
2023/09/08(金) 20:57:27.63ID:AJzWVUJo
WPFってそんなやべぇやつだっけ?
昔、UWPアプリで、6年くらい前のスマホSoCのatomのタブレットでスクロールちょっと重いなと
格闘した記憶あるけどデスクトップPCやろ?
0954デフォルトの名無しさん
垢版 |
2023/09/08(金) 21:01:43.66ID:AJzWVUJo
UWPアプリのしたらばリーダーみたいのMicrosoft Store
になかったけ?
それでスクロール試してみん
サムネイル画像の表示とかもやってたはず
0955デフォルトの名無しさん
垢版 |
2023/09/08(金) 21:15:10.75ID:AJzWVUJo
コードみたけどレスの表示にRichTextBox使ってるの?
これ重いんじゃ?
TextBlockとかでがんばるとか

ってどの部分重いのか知らんが
レス表示だよね?
0957mdysdev ◆XSDsAilQpD0E
垢版 |
2023/09/08(金) 21:49:54.47ID:xsuhKaXw
>>955
試した。色々。
1個のどでかいTextBlockもやってみた。

>>956
試した。

inlineのパフォーマンスがすごい悪いんだと思う。
stackoverflowとかもめっちゃググった。
その中の外人さんコメで「WPFやってるとプログラミング初心者に戻ったと錯覚する」っていうのが妙に刺さったw
やっぱリフレクション主体のフレームワーク構造ってのに無理があるのでは。
少量のデータなら問題ないけど、ちょっと増えてくると指数的に重くなる
0958mdysdev ◆XSDsAilQpD0E
垢版 |
2023/09/08(金) 21:58:52.02ID:xsuhKaXw
説明不足ですみません。
重いのはレス表示の部分。
範囲選択させたり、ハイパーリンク埋め込んだりなのでRichTextBox使ってる。
UI仮想化すると初期表示は早いけど、スクロールがガクガクだったり前回表示位置が上手く取得できなかったりとギブアップ気味。
これ以上この部分に時間かけるのもどうかと思い出した次第です
0960デフォルトの名無しさん
垢版 |
2023/09/08(金) 22:21:08.42ID:AJzWVUJo
RichTextBoxの範囲選択はあきらめたほうがいい
Janeとかもできないやろ?
Webブラウザ使ってる余裕sikiはできるだろうが
TextBlockでもマルチスタイルのインラインリンクぐらいはできなったっけ
0961デフォルトの名無しさん
垢版 |
2023/09/08(金) 22:28:15.74ID:AJzWVUJo
>>957
ああごめんTextBlock試したのか
じゃあWPFがやばいのか
WinUIしてみようぜw
>>953にも書いたがレス表示みたいな事を当時やったが
デスクトップとかなら余裕だと思うんだが
0962デフォルトの名無しさん
垢版 |
2023/09/08(金) 23:00:10.22ID:ZMs2WmkU
10年以上前に自分が通った道を他人が歩いているのを見ている
今はIEコンポーネントもないしな
0963デフォルトの名無しさん
垢版 |
2023/09/08(金) 23:13:15.61ID:ZMs2WmkU
自分もrichtextboxから始めたけど開発スタート初日から見限った
これはダメだと
今より全然マシンパワーなかったから当然かと

Sikiは仕組み上遅くなるのが分かってるのでもうそういう既存の仕組みを使わないで自力描画してるようだ
レスをパースして行数計算して文字のフォントサイズを実際に脇に描画してそれを元に文字サイズを推定して
表示部分だけ自前描画

過去の自分も似たようなところにたどり着いて外部Dllを作ったがいろいろとうまくいかずc++からは戻って来た
でもかなりレベルアップしたような実感が得られた(個人の感想です)
0964デフォルトの名無しさん
垢版 |
2023/09/08(金) 23:21:58.63ID:ZMs2WmkU
過去にここ?かc#のスレでたまに質問して技術を探ったがまともに回答できるレベルの人間はいなかった

結局フレームワークが提供するものを使わずに自前の疑似描画が最速なんだけど
それがわかったとしてそこからは精神の問題になる

長い試行錯誤とこれは自分にとって時間をかける意味のあることなのかと自問自答
0965デフォルトの名無しさん
垢版 |
2023/09/09(土) 00:57:33.07ID:hHjqEXWc
>>958
開発中の機能が重いわけ?
レス数1000近くて画像リンク含むスレッド表示してみたけど
どこがカクカクなのか分からない
0966デフォルトの名無しさん
垢版 |
2023/09/09(土) 01:14:55.16ID:12n4cwT7
スレチだが、個人的には read.crx 2 をフォークするなりしてほしい
いまどき「Windows専用の5chクライアント」はちょっと...
0972mdysdev ◆XSDsAilQpD0E
垢版 |
2023/09/09(土) 07:16:20.48ID:xfSBfAyx
>>965
ホイールスクロールじゃなくてスクロールバーのつまみを持って高速で上下させるとガクガクしません?

>>963
すごいね
時間とカネがあれば挑戦してみたいけど、
打算的な考えがはたらいてしまいどうも地味な部分(申し訳ない)に注力するのを躊躇してしまう
これだと浅く広くになってしまってよくないんだろうけど。
0973デフォルトの名無しさん
垢版 |
2023/09/09(土) 15:42:58.83ID:hHjqEXWc
>>972
うん、つまみもってスクロールさせてみた
他のsikiとかと比較すると吸い付きは悪いけど、実際使う上で
この速度でイライラするかとそこはどうなんだろう

>>954で上げたしたらばリーダーでやってみたけどゲロ速い
0974デフォルトの名無しさん
垢版 |
2023/09/09(土) 15:49:37.56ID:hHjqEXWc
UWPとかそこら辺高速化する
事前バインディング(x:Bind)や段階的レンダリング(x:Phase)みたいのあるけど
どれくらい効果あるのやら
0975デフォルトの名無しさん
垢版 |
2023/09/09(土) 18:25:25.91ID:hHjqEXWc
xaml切り貼りして試したけど
>>956のこれでかなりスムーズにならね?
VirtualizingPanel.VirtualizationMode="Recycling"
これで解決やろ
0976mdysdev ◆XSDsAilQpD0E
垢版 |
2023/09/09(土) 19:33:09.18ID:xfSBfAyx
>>975
Recycling指定しただけだと表示されるレスがぐちゃぐちゃになってませんか?
結局RichTextBoxLoadedを呼びなおしてInline作らないといけないので、Recycling指定してもしなくても体感が変わらない気がします
(というか変わらなかった)

あとUI仮想化するときの致命点として、
表示されている近辺しかUIをメモリに保持していないので、
レス内の文字列検索する場合に全部探せないっていうのが・・
0977デフォルトの名無しさん
垢版 |
2023/09/09(土) 20:11:19.23ID:hHjqEXWc
>>976
そっか
中身全然見てなかったww
元々LoadedでセットしてたからRecycleするとLoaded呼ばれなくなって中身が
更新されてなかったら速くなってたのかw
悪かった

>レス内の文字列検索する場合に全部探せないっていうの
ああ、これはRichTextBoxの機能でやろうとしてる?
MVVM的にはViewModelのほうが全部データ持ってるはずだけど
0978mdysdev ◆XSDsAilQpD0E
垢版 |
2023/09/09(土) 20:28:03.21ID:xfSBfAyx
>>977
「検索にヒットしたレスだけを抜き出して表示」ならVMを検索してDataContextを再設定すればいいと思う。
ただ「レスを表示したまま」っていう要件で例えば検索ワードの背景色だけを変えたい場合って
UIに全レスが読み込まれてないと出来ない気がするんだけど何かうまい方法あります?
0979デフォルトの名無しさん
垢版 |
2023/09/09(土) 20:53:19.09ID:hHjqEXWc
>>978
ResViewItemViewModelのほうにアンカーやらリンクやらの
情報持ってるわけでしょ?
そこに検索ヒット部分の情報持たせて、それらを混ぜて表示すればいいだけじゃない?
0983デフォルトの名無しさん
垢版 |
2023/09/10(日) 00:12:18.74ID:/4aaxiYm
winformsとかwpfの案件ばかり渡り歩いてきたけどやっぱり斜陽なのかなぁ。きっちりウェブとかスマホアプリとかの勉強してそっちに軸足動かさないといかんのだろうか
とにかく不安で不安でしょうがない。何が一番不安ってwinformsやwpf本体以上にそういう現場って周りの開発環境自体もすごく古めかしいことが多い
git?何それ?みたいなことばかり
0986デフォルトの名無しさん
垢版 |
2023/09/10(日) 00:45:08.82ID:y88PGdZC
その手の話はスレが荒れるからマ板で
特に「WPF以外は何がいい?」みたいな話に発展して、それもうWPF無関係じゃんってなる
0988デフォルトの名無しさん
垢版 |
2023/09/10(日) 13:31:19.20ID:YVmQiRtO
普通にデスクトップアプリは特殊用途でしか使われてない
CADとかそういうジャンルみたいのが一例
0989デフォルトの名無しさん
垢版 |
2023/09/10(日) 13:48:10.83ID:YVmQiRtO
10年以上前の話
工場などの管理アプリは以前はデスクトップだった
情報は生産管理室でしか見たりできなかった
それがweb上に構築されて社内にいれば労働者が必要な権限のもと必要な情報を引き出せるようになった

営業も同じ
以前は会社に戻って日報ソフトで報告書を作ってたのがスマホから出せるようになった
作成も移動時間などの隙間時間を使える
在庫もその場で確認できる
以前は会社に電話確認してた

DXが持てはやされる今なんで今更仕事でデスクトップアプリを使うのか
開発者のエゴなんじゃないか
0990デフォルトの名無しさん
垢版 |
2023/09/10(日) 14:09:35.55ID:1PErJKRp
デスクトップやネイティブからWEBアプリになったのって
今はサーバー側の計算資源に余力あるのもでかいと思う
フロント側で計算することが減った
0991デフォルトの名無しさん
垢版 |
2023/09/10(日) 14:37:39.16ID:YVmQiRtO
WPFが出る前後の話で描画がdirectXになるので速くなるのではと期待された
CADなんかもGDIから置き換えになるんじゃないかと
C#が今よりメジャーになるんじゃないかと

実際はご存じの通りでまあなんでもあてにならんもんだなと
0992デフォルトの名無しさん
垢版 |
2023/09/10(日) 15:37:57.94ID:cU2jqfnk
webは手だしてみてるけど
いざ画面作るとなるといまいちcss操れないへっぽこさでなぁ
0994デフォルトの名無しさん
垢版 |
2023/09/10(日) 16:29:10.18ID:qF59qXuI
>>932
それな
俺はflutterもやってるのでflutter for webに頑張ってもらってcssやらずに乗り切れるかどうか
Webのバックエンドはgoとかやったけど
0995デフォルトの名無しさん
垢版 |
2023/09/10(日) 16:32:58.69ID:qF59qXuI
>>992だった
Webのバックエンド用にrustもかじったほうがいいのかな
Web ApiでSQL叩くぐらいだけど
asp.net vs go vs rust
悩む
0996デフォルトの名無しさん
垢版 |
2023/09/10(日) 17:56:13.32ID:YVmQiRtO
flutter触ったら初期のxamarinみたいな状況だった
XAMLみたいな仕組みがあればいいのに
0997デフォルトの名無しさん
垢版 |
2023/09/10(日) 18:07:47.90ID:olDylbSn
日本の業務ソフトはまだまだデスクトップで.NETが主流だぞ
0999デフォルトの名無しさん
垢版 |
2023/09/10(日) 18:42:19.60ID:j97G6Fcd
WPFはBindingのせいで遅い
高速描画謳ってるグラフィックライブラリは早くしたけりゃBinding使うなと言ってる
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 231日 13時間 5分 32秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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