WPF(.NET4.x, .NET Core) GUIプログラミング Part24

■ このスレッドは過去ログ倉庫に格納されています
2019/12/09(月) 12:36:14.49ID:9LsUsH++p
Windows Presentation Frameworkについて語るスレ。

前スレ
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
https://mevius.5ch.net/test/read.cgi/tech/1557960752/

関連スレ
Windows 10 UWPアプリ開発 Part 2
http://mevius.2ch.net/test/read.cgi/tech/1499658092/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2020/04/08(水) 06:05:58.17ID:VR2/ByYb0
>>204
そういうの有りそうw
インストーラの依存関係から漏れてるかな?
2020/04/17(金) 17:07:14.15ID:DEUx8cw20
ScrollViewerの最小サイズを指定する方法を教えてください
2020/05/05(火) 09:27:45.44ID:xw5tj5Ew0
ねーねー
教えて欲しいんだけど

C#で記述すると
sender is Button b

のような is を、C++/Cliで表現すると、どのように記述するの?
※is なければ dynamic_cast で判定したりするん?
2020/05/05(火) 09:41:16.37ID:ZtDgbM1L0
ぼーっと生きてんじゃねぇよ!
2020/05/05(火) 10:21:47.21ID:AdTM4q7h0
>>207
b::typeid かなあ
ぼーっと生きてるんで分からん
2020/05/05(火) 14:46:08.43ID:xw5tj5Ew0
>>209
ありがとうございます。
マクロかテンプレート組んでみますわ
2020/05/12(火) 17:41:57.92ID:hY6zA/rDM
Linuxで使えんのかこれ?
メンテナンスの依頼が来たんだが、おうちにWindowsないからお勉強できないんだが
2020/05/12(火) 17:51:59.06ID:8wEDw8Rw0
>>211
Linuxでは使えない
2020/05/12(火) 18:11:23.80ID:Rm1nFE+i0
>>211
経費で買えば
2020/05/12(火) 18:17:52.54ID:GG8UV2/o0
.NET coreだとだめなの?
やりたいことが出来るかは知らんけど
2020/05/12(火) 18:25:33.51ID:Rm1nFE+i0
>>214
WPFは.NET coreでも動くけど、Windows専用
Linux+.NET coreじゃ動かない
2020/05/12(火) 19:05:50.45ID:GG8UV2/o0
>>215
そうなんだ、ごめん
よくわかってなくて失礼した
2020/05/14(木) 10:31:47.60ID:IJMYY1560
どこに保守頼んでも断られて無知な犬厨が受けてしまったか。ご愁傷さま。
2020/05/14(木) 11:59:28.26ID:CtuOTcJGa
今更WPFアプリのメンテとか絶対やりたくないな
今時Winクライアントアプリって時点で苦痛なのに、もはや覚えても何の役にも立たないオワコンフレームワークとか地獄すぎる
全力で逃げた方がいいぞ
2020/05/14(木) 12:09:39.36ID:ooznbMWa0
>>218
じゃあ何で作るのがいいの?
2020/05/14(木) 22:45:53.44ID:c8b+AWhI0
あとはWebかスマホかな。個人的にはそっちの方が制約が大きくて苦痛だが。
2020/05/15(金) 00:14:06.62ID:WhbhAQET0
>>220
代替できてないじゃん
Windowsがなくならない限り、そのクライアントアプリの仕事もなくならないと思うが
2020/05/15(金) 08:07:53.10ID:QqRlTuRs0
winformが今でも鉄板だと言ってみるか
2020/05/15(金) 08:25:42.54ID:uUo0Y4yAM
高dpiで破綻してる
2020/05/15(金) 08:42:18.48ID:1eO57Rtu0
老眼鏡で対応!
2020/05/15(金) 08:53:17.50ID:mPMl4nbia
部署内ツール程度の小規模開発ならWinFormで事足りる
2020/05/15(金) 08:56:55.16ID:QqRlTuRs0
オフィスのPCで4k普及なんてあと10年先じゃないかな。2k普及だって怪しい。
2020/05/15(金) 09:07:59.09ID:vlJSs5fLM
ノートPCは既に96dpiじゃ無いよ
2020/05/15(金) 23:20:38.61ID:QqRlTuRs0
こいつリアルコミュ症だよね?
2020/05/16(土) 08:07:06.88ID:GpzxgeW40
10年後のオフィスにpcがあるかどうかわからんよ
2020/05/16(土) 08:50:19.48ID:LhTJIslf0
実行ボタンと中断ボタンがあるよくある仕組みだと現状何で作るのがベスト?
2020/05/16(土) 09:25:24.23ID:GpzxgeW40
WPFスレなのでWPFとTPL
で、CancellationToken使う
2020/05/18(月) 12:13:34.55ID:81qwA9rBM
計算プロパティをOneWayバインディングしたのに反応しないぞ
バグか?
2020/05/18(月) 12:17:59.93ID:UifG0Ejn0
WPFが怪しい場合もあるけど、大抵は自分のバグ
2020/05/18(月) 12:26:19.51ID:81qwA9rBM
int A
get a
set a = value; RaisePropCh("A")

int B
get A * 2

こんな感じなんやけどAに入力してもBが変わらんのや
2020/05/18(月) 12:52:29.13ID:UifG0Ejn0
>>234
端折られてて良く分からないけど
Bの変更を通知してないのかな
2020/05/18(月) 12:54:23.02ID:/9ODvOSTM
不明な言語じゃ
2020/05/18(月) 13:09:49.94ID:qLYceyQ7M
RaisePropCh("A", "B")にすればええのんか
でもBがAに依存しとるという情報をAに書かなあかんてなんか気持ち悪いねん
2020/05/18(月) 13:18:38.14ID:/9ODvOSTM
RaisePropChって何じゃ?
2020/05/18(月) 13:28:27.97ID:UifG0Ejn0
>>237
Aの更新通知(INotifyPropertyChanged.PropertyChangedイベント)を監視して
Aが更新されたらBの更新を通知すれば良い
AとBが同じクラスなら気にしないで良いと思うけど
2020/05/18(月) 15:37:04.87ID:EIO3K/YzM
>>238
RaisePropertyChangeじゃろ
あんな書き方しないけど、それでも分かるでしょ
2020/05/18(月) 15:51:45.05ID:W1RwdSEUa
WPFがもし大成功して今でも新機能開発が続いていたら、Reactみたいにプログラミングモデル上は脳死で全更新するだけでよくて
フレームワークがうまいこと差分取って効率的に更新してくれるようになってたのかもね
2020/05/18(月) 15:59:03.85ID:9zeuFziKM
>>240
中の実装も怪しいよねえ
2020/05/18(月) 17:11:19.99ID:TSImRkOU0
>>237
そんなあなたにReactiveProperty…(´・ω・`)
2020/05/18(月) 17:27:14.51ID:Z3Rh0TcW0
RactivePropertyはObservableCollectionとsynchronizedできないやん
2020/05/18(月) 19:27:28.68ID:iSeSPLtnM
解決策を発見したで
プロパティ名をnullでRaiseすれば計算プロパティもええ感じにバインドされるみたいやわ
2020/05/18(月) 19:29:22.47ID:0/z3ChKA0
今windwosアプリ作るのならどういう環境がいいわけ?
めんどくさいからみんなelectronに移行してるんだが
2020/05/18(月) 19:37:32.28ID:iSeSPLtnM
>>246
Blazorがええと思うで
248デフォルトの名無しさん (ワッチョイ ebe6-Y8G9)
垢版 |
2020/05/18(月) 19:38:34.04ID:CccO1DlI0
edgeが標準プラットフォームになったんだから
そろそろhtaのver.2をリリースしてください
2020/05/18(月) 19:43:43.05ID:ZhbDs7dG0
>>247
良い参考書ある?
2020/05/18(月) 19:51:06.09ID:vBUqFIJ5d
>>248
Electronでいいんじゃん
2020/05/18(月) 20:13:51.16ID:0/z3ChKA0
Blazorって.NETランタイムをWebAssembly上で実装?
MS何考えてるんだ
2020/05/18(月) 20:16:18.51ID:voyPms160
>>251
ステキやん
2020/05/18(月) 20:45:36.06ID:OlqJzzRHM
BlazorはMSのR&Dの社員がお戯れに作ったもので、戦略もクソもない
アイデアとしては面白かったが既に下火だし、最終的に似たような技術が天下を取ることもあるかもしれないけどそれは多分Blazorではないよ
2020/05/18(月) 20:48:44.57ID:IzLs84ewa
Blazorは色々計画しとるみたいよ
とりあえず.NET 5になってからだな
2020/05/18(月) 20:49:55.40ID:z7Wgw8Hr0
デスクトップアプリはMSがやる気なくて、これと言ったのが無いよなぁ
消去法でWPF使ってるけど
2020/05/18(月) 20:51:18.45ID:E0eJeBp00
>>253
SignalRとかも元々お戯れだったけどな
2020/05/18(月) 20:55:02.89ID:0/z3ChKA0
まあもうネイティブアプリの時代じゃないんだろうけどね
ゴリゴリにWin32 API書いてたのが懐かしい
2020/05/18(月) 20:59:14.82ID:01ZM3hPz0
>>250
electronはJavascriptだから駄目
2020/05/19(火) 16:00:16.65ID:TDgQXoGP0
silverlightにはならないで欲しいなblazor
2020/05/19(火) 16:02:22.49ID:UZUeOLhY0
Blazor黒魔術感やばいけど
なぜC#なのか
TypeScriptならワンチャン覇権あったのに
2020/05/19(火) 16:31:58.57ID:xHwcbnwDM
サーバもクライアントもc#使いたい
2020/05/19(火) 17:02:18.05ID:a0TVrn2w0
JavaScriptに触れる機会が減るだけでも嬉しい
2020/05/19(火) 18:44:41.21ID:SeGhJOd4M
>>261
禿同
Javascriptを駆逐してほしいわ
2020/05/19(火) 18:55:29.27ID:Gmm+b2VzM
TypeScriptならそこまで毛嫌いするほどかな
それにJavaScriptのクソさって言語もさることながら主にDOM操作が問題なわけだけど、
Reactみたいな最近のフレームワーク使うならDOM操作は完全に抽象化されていてテンプレートで宣言的に書けるようになってるよ
BlazorでDOM触らなくていいのはReactと似たアーキテクチャになってるからで、
言語がC#だろうがDOM操作をもし生でやるなら下痢便みたいなコードになるのは違いない
2020/05/19(火) 19:29:29.42ID:a0TVrn2w0
>>264
Blazorで下痢便みたいなコードってたとえばどんなの?
266デフォルトの名無しさん (ワッチョイ 4d1d-ucyj)
垢版 |
2020/05/19(火) 19:57:06.94ID:8HY/3oGP0
「慶應卒の学歴なんていらない」10代起業で成功する子の共通点
https://www.excite.co.jp/news/article/President_35457/
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
https://sogyotecho.jp/career-development/
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
https://www.dreamgate.gr.jp/contents/column/application-development
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
https://newswitch.jp/p/20168
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
https://www.at-s.com/news/article/local/central/730010.html
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
https://diamond.jp/articles/-/229375
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
https://diamond.jp/articles/-/215868
2020/05/19(火) 20:04:52.76ID:JYXLTsSv0
>>260
MSILがブラウザ上で動くってのがBlazorのポイントだろ。TypeScriptはもとからトランスパイルできるじゃん。
WASMがポイントだというなら動的なJSやTSは今のところ無理だね。
2020/05/19(火) 20:58:37.12ID:+YYtOpaV0
C#で下痢便書くような奴なら
JavaScriptではどんなに美しいコードが書けることだろう
2020/05/20(水) 00:54:11.64ID:gFuy/SkY0
MAUI…
2020/05/20(水) 05:48:13.84ID:w+/0aUwf0
マイクロソフト、新UIフレームワーク「.NET Multi-platform App UI」(.NET MAUI)発表。単一コードでマルチプラットフォーム対応。Microsoft Build 2020
https://www.publickey1.jp/blog/20/uinet_multi-platform_app_uinet_mauimicrosoft_build_2020.html
2020/05/20(水) 09:22:01.57ID:mXqWoGfUa
Unoを勉強しようとした矢先にこれだよ
2020/05/20(水) 11:15:09.85ID:6CLBLdpca
> In addition, we are enabling developers to write fluent C# UI and implement the increasingly popular Model-View-Update (MVU) pattern. MVU promotes a one-way flow of data and state management, as well as a code-first development experience
ついにMVVMも時代遅れのゴミになったな
モデルとしてはReactに近い?
そしてもう名前すら出てこないWPF
2020/05/20(水) 11:17:46.58ID:nPhD6zxkM
Blazorでいいじゃん
2020/05/20(水) 11:23:11.88ID:IaKWAlqDM
Blazorで統一ならまだ勝ち目はあったかもね
まあまともに今のWinUI系のXAMLを使い込んでるのなんてMS自身くらいだろうし、
広く使ってもらうというよりMSが自分で使う目的が主なんじゃないかな
2020/05/20(水) 11:44:37.31ID:OOHYhx3ZM
>>273
ローカルのリソースやデバイスへのアクセス制限がウザい
2020/05/20(水) 11:48:15.64ID:OOHYhx3ZM
>>272
MVUってMVVMの進化系っぽいけど
コーティング量が減って良さげ
2020/05/20(水) 12:02:19.47ID:IaKWAlqDM
one-way bindingだからMVVMとは根本的に別物でしょ
Webで流行りのいわゆる仮想DOMってやつで、更新の度にテンプレート当ててUIツリーを全部書き直してdiff取りゃ実際に画面に反映させるべき差分は分かるんだから、
なんちゃらPropertyChangedとかいちいちプロパティ毎にクソ煩雑な低レベルな制御しなくてもいいだろ
って思想だ
2020/05/20(水) 12:34:23.43ID:7/dKeltHM
今にして思うとPropertyChangedってサイコーに頭悪いアイデアだったな
2020/05/20(水) 13:32:07.78ID:1IOTYjbV0
いやいや、今までのMVVMと大差ないから...
アプリ分割方法は今まで通りモデルとビューとビューモデルに分割して問題なし
単にフレームワーク提供の双方向バインディングがなくなったから、ユーザーイベント発生時にコードビハインドでビューモデルのメソッドを呼ぶようになるだけ...

基本は単にそれだけ。後はxamlという専用の言語使わずにレイアウトを宣言的に記述できるようになるだけ。これは、厳密にはMVなんたらとかアーキテクチャと関係ないだろう
2020/05/20(水) 14:52:20.42ID:Mh8h++lf0
>>278
ウンコ脳乙
2020/05/20(水) 16:43:42.14ID:6j7TSTe10
SwiftUIを丸パクリじゃねーか
2020/05/20(水) 18:05:19.19ID:IaKWAlqDM
>>279
VとVMの間の分離が皆無な時点で全然違うと思うが
2020/05/20(水) 18:23:46.54ID:IaKWAlqDM
あと、勘違いしてるようだがイベント発生時にはコンポーネント(たぶん279のいうVM)自身のステートを更新するんじゃなくてMを更新するんだぞ
その結果としてビューの更新が走ってbody関数が呼ばれて画面に反映されるというのが本来の流れだ
サンプルコードではそのへん省略してコンポーネントに直接ステートを持たせてるようだが、原則としてはコンポーネントは可能な限りステートレスにするんだよ
もちろんコンポーネントはVMみたいにMのプロパティを猿のようにラップする必要もなくて、究極的には単純にMを入力したらDOMを返す純粋関数になるのが理想
2020/05/20(水) 18:57:17.69ID:1IOTYjbV0
>>283
いや、何を更新するかそこは自由に選べるから...

イベント発生時にビューモデルのメソッド呼べば、ビュー,ビューモデル間のデータフローが双方向になり今までの通りにMVVMになるし、他のなんたら?モデル呼べば例えばfluxになったり

flutterもそうだが別に限定されてない
2020/05/20(水) 19:03:14.50ID:1IOTYjbV0
>>282
それは君が分離してないだけ
2020/05/20(水) 21:35:52.90ID:60/2mOaG0
MVUってことはElmみたいな感じになるのかしらん。
F#との親和性も上がるといいな。
287デフォルトの名無しさん (ワッチョイ 9a6a-crVl)
垢版 |
2020/05/20(水) 21:42:38.32ID:XSjOvyTE0
>>286
https://thomasbandt.com/model-view-update
2020/05/21(木) 13:57:53.85ID:P/deDe4f0
中途半端な絵空事を追いかけるよりExcelをさっさと.Net化して欲しいわ
いつまでCOMやねん
2020/05/21(木) 15:00:00.53ID:jDxzpvC30
アホやなぁ
2020/05/21(木) 15:09:47.86ID:4VRnGZ6Na
モバイル版は既にかなりの部分がC#なんじゃない?
Win版を置き換えることはないだろうけど、既にWin版のOfficeの一部にも.NETは使われているし、
今後は本体に.NET Coreが組み込まれてC#で書かれたコードが増えていくことも十分考えられる
プラグイン機構のことを言っているのなら、そもそも現在MSが推進しているWinRT系のRPCの仕組みはCOMベースなので、仮に今後新しい仕組みに置き換えられるとしても.NETベースになる望みはない
2020/05/21(木) 15:42:08.73ID:9+MRXYOc0
UI部分はすでに全部React Native Windowsだろ
2020/05/22(金) 00:28:36.86ID:GK58a6PU0
WPFでなくてすまないんだが、

UWPでデバッグしようとしたら、デバッガが無い風のメッセ出て
上手く動かないんだが。
VS2017のcommunityっす
2020/05/22(金) 00:31:55.75ID:vS7paOX80
UWPってなーに?
2020/05/22(金) 00:46:04.97ID:Gu1hoeqg0
>>292
Windows 10 UWPアプリ開発 Part 2
https://mevius.5ch.net/test/read.cgi/tech/1499658092/

質問するならメッセージは正確にネ!
2020/05/22(金) 12:48:18.19ID:lbX1xonYM
>>293
Ultra Windows Powet
2020/05/24(日) 16:56:50.37ID:YD2G6Bau0
完全に趣味でプログラムやってて
WPFに手を出してみようと思い↓のサイトのドキュメントで学習してたんだけど
http://kisuke0303.sakura.ne.jp/blog/?p=340

↓の106ページ目のコード動かしてみても図の通りにコンソールにファイルパスが表示されず「コールバック処理を行います」とだけ表示される。
http://kisuke0303.sakura.ne.jp/blog/wordpress/wp-content/uploads/2016/08/4843696230c1698ad8ff7d086b998344.pdf

でもサンプルのコード見る限りだとこれが正常な動作な気がするんだけど(ファイルパスを表示させる部分の記述が見当たらないので)
俺が何か見落としてるのだろうか。
2020/05/24(日) 20:12:23.79ID:3qlZzirT0
wpfのチュートリアルはかずき大先生のページ以外は駄目だよ〜
2020/05/25(月) 06:07:47.12ID:ylkOF+xS0
>>296
ぱっと見だと図のような表示コードないね
多分途中で書き換えたのにコード側に反映忘れてる
まあ本でも誤植なんてしょっちゅうだし自分で合うように書き換えよう
2020/05/25(月) 06:39:47.21ID:ylkOF+xS0
WinUI 3も結局UWPみたいなタブ向けUIなんだな
Fluentだなんだか知らないけどデスクトップ向けもうたうならちゃんとレガシー()コントロールも用意して欲しい
2020/05/25(月) 17:09:39.62ID:quw8Fr750
レガシー必要なのってもう業務系アプリくらいだからなあ
2020/05/25(月) 22:50:42.06ID:yXchdJnh0
>>300
まあ業務系アプリはいつまでたっても一定の需要はあるからな(´・ω・`)
2020/05/26(火) 08:29:06.51ID:2WnNvGhAa
>>300
業務系アプリがなくなるってあり得なくね?
2020/05/26(火) 08:46:30.39ID:O4WcavVK0
>>300
趣味で物作っている訳じゃないので
2020/05/26(火) 08:57:52.50ID:iAXb1ypnM
業務系はWeb化してきてるし
webformだからレガシーだけどな
2020/05/26(火) 09:00:13.35ID:xP2EobkM0
>>304
デスクトップアプリはなくならないよ
需要は減るけどね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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