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
307デフォルトの名無しさん (アウアウウー Sac7-LjTx)
垢版 |
2020/05/26(火) 10:59:33.02ID:6ileE2Zca
今時はそうでもないわ
クラウドがあるからWebの方がお手軽
2020/05/26(火) 11:16:04.18ID:m1O5KGL0d
場合によるやろ
2020/05/26(火) 11:21:18.41ID:iAXb1ypnM
winformが一番お手軽
2020/05/26(火) 13:22:34.05ID:pBlDnMjv0
当初から散々ゴミと言われたとおりWPFは普及せず、
クラウド化しても企業の効率なんて当然上がらず、社員は不便を強いられ、
データを吹っ飛ばれさてから黙れされた連呼する自称SEたち。

ここの住人は馬鹿ばかりだなw
2020/05/26(火) 14:47:17.82ID:2xWZOgbyM
お前も含めてだけどな
2020/05/26(火) 23:15:16.03ID:d+nvHOzJ0
そう。俺もお前もだ
2020/05/26(火) 23:17:39.59ID:+nwpuOj70
おまいら、飲みにでも行け
2020/05/27(水) 08:54:48.80ID:32H/szl0a
>>313
コロナに油断するな!
2020/05/28(木) 17:33:33.18ID:epMUI4Mx0
.net FrameWorkのOWINで
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Login/Index"),
CookieName = ".AspNet.SharedCookie",
Provider = new CookieAuthenticationProvider
{
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<IdentityUserManager, IdentityUser>(
validateInterval: TimeSpan.FromMinutes(0),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
},
TicketDataFormat = new AspNetTicketDataFormat(
new DataProtectorShim(
DataProtectionProvider.Create(new DirectoryInfo("C:\\TEMP"),
(builder) => { builder.SetApplicationName("SharedCookieApp"); })
.CreateProtector(
"Microsoft.AspNetCore.Authentication.Cookies." +
"CookieAuthenticationMiddleware",
"Identity.Application",
"v2"))),
CookieManager = new ChunkingCookieManager()
});
System.Web.Helpers.AntiForgeryConfig.UniqueClaimTypeIdentifier = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name";;

で認証して別の.net Core2.1アプリに遷移するんだが、
.net Coreアプリ内でこの認証クッキーをidentityに復号してsigninしてUser.identityを使いたいんだが方法はあるのか?
認証.net Core自体の認証を完了させたい感じです。
伝われ〜
2020/05/28(木) 19:37:43.46ID:epMUI4Mx0
string authCookkiValue = string.Empty;
HttpContext.Request.Cookies.TryGetValue(".AspNet.SharedCookie", out authCookkiValue);
var ticket = authCookkiValue;

var protectionProvider = DataProtectionProvider.Create(
new DirectoryInfo(@"C:\TEMP\"),
(builder) => { builder.SetApplicationName("SharedCookieApp"); });
var dataProtector = protectionProvider.CreateProtector(
"Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware",
"Identity.Application",
"v2"
);

var ticketFormat = new TicketDataFormat(dataProtector);
var test = ticketFormat.Unprotect(ticket);
で解決しました。

スレ汚し失礼しました。
2020/05/28(木) 21:04:16.26ID:AwUHmNLp0
他人のコードを読みたくないのはボクだけじゃないはず。
2020/05/28(木) 21:06:50.75ID:wn0+e+em0
move ソースファイル名 Null
2020/06/29(月) 09:07:48.77ID:j4QcCIztd
vs2019でwpf、.NET Core 3.1で作成したアプリのインストーラを作成したいのですが参考になるサイトありますか?

WinFormsと同じようにやってみたのですがプロジェクト出力でプライマリ出力を選ぶと.dllと.runtimeconfig.jsonしかなくexeが存在しません
元のプロジェクトがおかしいのでしょうか?
2020/06/29(月) 09:36:38.17ID:NtraNE7CM
>>319
やって見たけどプライマリ出力を参照させるとそうなるねえ。
依存関係がうまく抜けてないっぽい。
今のところはプライマリ出力をやめて発行させてpublishフォルダを参照するしか無いかも。
stack overflow辺りには何か情報があるかも?
2020/06/29(月) 10:01:33.89ID:NtraNE7CM
.net coreアプリはmsiじゃなくてmsixパッケージを使うようだな。
2020/06/29(月) 10:17:30.05ID:j4QcCIztd
>>321
ありがとうございます
msixを調べてみます
2020/06/29(月) 11:14:55.57ID:gOjcE5IyD
msixにするとアプリによっては動かなくなるから気をつけて
行儀のいいアプリなら問題ないと思うけど

dotnet publishの出力先をコピーしてexeのショートカット作るだけのインストーラーが何かで作れるなら、そっちのほうが問題はおきにくい
2020/06/29(月) 11:43:14.37ID:NtraNE7CM
「実行ファイルパス問題」ってやつかな
2020/06/29(月) 15:39:11.51ID:j4QcCIztd
>>323
そういう問題が起きる可能性があるのですね。

プロジェクト出力でプライマリ出力ではなく項目の公開を選択でもいいのかな?
それらしいのが作れたけど…
2020/07/04(土) 02:53:49.50ID:yoyu8c1l0
BlazorはCSSを各コンポーネント毎に好きなの割り当てできるようなバージョンアップは予定してるのかな
ちょっと使い難い
2020/07/08(水) 14:07:36.01ID:oYyxJxRd0
先月のBuild 2020開催期間中、Microsoftは、デバイスネイティブなアプリケーションを開発するためのマルチプラットフォームフレームワークである.NET MAUIのロードマップを発表した。新フレームワークはXamarin.Formsの進化形に相当し、Android、iOS、macOS、Windows用のネイティブ機能を提供する。
https://www.infoq.com/jp/news/2020/07/maui-multi-platform-ui-dotnet/
2020/07/08(水) 15:24:17.95ID:Kr2gnfN5M
UIはデバイスごとに作ったほうが簡単じゃねーの?
329デフォルトの名無しさん (ワッチョイ 0d01-dDBt)
垢版 |
2020/07/16(木) 01:14:38.86ID:163xTq/Q0
はじめからForms全力でよかったんや・・・
330デフォルトの名無しさん (ワッチョイ 81da-RnSF)
垢版 |
2020/07/27(月) 10:39:34.80ID:sbz77iMW0
キターーー .NET 5.0 RC かな?
2020/07/27(月) 10:59:18.14ID:rzcPx0wdM
preview7じゃないの?
2020/07/27(月) 11:40:55.44ID:9Xn50/5g0
http://var.blog.jp/archives/69202816.html
未だに大部分のプログラムは Win32(というかMFC)で、
WPFを使ってる中で一番有名な VisualStudio は劇遅。
333デフォルトの名無しさん (ワッチョイ 4901-oJ29)
垢版 |
2020/07/28(火) 18:03:05.87ID:hKAsfXZZ0
VS級のものがあまりないからでは
2020/07/28(火) 18:16:39.56ID:2hGB7urq0
>>332
リンク先ではVisualStudioはWPFにしてはすごく軽くて十分に快適って書かれてる(C++とのハイブリッドも疑ってる)のに
何故激遅に書きかわるw
2020/07/28(火) 18:41:04.12ID:xreCiHzA0
>>334
「WPFの割には軽い」
と言っているだけで、現実には激遅だからだ。
2020/07/28(火) 19:27:19.79ID:EEBQNrWer
VSは.net版に変わったら非常に遅くなったよ
それだけは譲れないw
サードパーティー製のコンポーネント使ってると聞いた

> WPFにしてはすごく軽くて
WPFでは激遅になると思ってたらそこまで遅くない!と言う意味であると体感している

今でもc++版に戻ったら非常に速いと思う
2020/07/28(火) 19:33:19.05ID:3p32kQjLM
JavaのIDEと比べたらチョッパヤだろ
2020/07/28(火) 20:49:33.29ID:mqD6IZiK0
2015が一番重かったけど、2017→2019とどんどん軽くなってきたよね
2020/07/28(火) 20:52:36.83ID:mB6yyIIz0
そんなゴミと比べないでくれ
悲しくなってくる
2020/07/28(火) 21:58:41.19ID:xXl4dtBj0
今のVS十分軽いしさっさと古いクソPC投げ捨てて新しいの買ってこい
2020/07/28(火) 22:29:22.83ID:R16GmJU50
さっきDocker Desktop入れたらUIがWPF製だったわ
342デフォルトの名無しさん (ワッチョイ 0163-xBvm)
垢版 |
2020/08/02(日) 20:28:06.49ID:BN6q7uRr0
>>334
たしかにVSのタブやページ切替とかの反応は普通のWPFアプリと全然違うんだよな
なんらかのファクターXがあると考えるのが合理的
一般的WPFアプリには慢性的なもたつきが発生する
343デフォルトの名無しさん (ワッチョイ 01e6-LxoB)
垢版 |
2020/08/02(日) 20:46:36.40ID:B8kL4fh30
教科書通りにMVVMなんてしてたらあきまへんって事かな?
2020/08/02(日) 20:50:09.94ID:UcfUDTUk0
.NET CoreのWPFと.NET FrameworkのWPFでレスポンスに違いはある?
345デフォルトの名無しさん (ワッチョイ 7a6a-xE3T)
垢版 |
2020/08/02(日) 21:40:04.40ID:q/qx3qt30
>>342
自分で作ってるWPFアプリと差を感じないけどなあ
2020/08/02(日) 21:59:33.90ID:TA4SUPRta
>>342
VSはWPFの低いレイヤだけを使って独自のフレームワークを構築している
WPF標準の低品質なコントロールはダイアログにしか使っていない
2020/08/03(月) 01:12:41.51ID:9/tK9gy10
普通のWPFって、あのクソ重いVSより遅いって、どんだけ遅いの。
2020/08/03(月) 01:15:53.79ID:F0bbTFGB0
WPF登場が2006年、VSのUIに採用されたのがVS2010から。

自分で作ったGUIライブラリなのに自社ツールに組み込むのに4年もかかるとか
どんだけ設計がゴミだったかがよく分かる。
2020/08/03(月) 03:53:53.52ID:N8X3JloH0
>>346
むしろその独自のフレームワークを公開してくれよ
2020/08/03(月) 13:18:21.79ID:F0bbTFGB0
一方、MFCは、MS-Officeで実装後、MFCで提供される。

机上の空論 → 実装 → 使い物にならない
実装しながらブラッシュアップ → 使い物になる

よく話はやはり実際そうなのだ。
2020/08/07(金) 00:44:47.58ID:eMMnS8Srr
昔ロータスかどこかが表計算ソフトでどうやってもofficeの速度が出ないので調べたら非公開API使ってた!
マイクロソフトは不公平だ!と言ってたらしい
2020/08/07(金) 00:57:06.91ID:3pmlvrNK0
都市伝説か勘違いしてるか
Lotus123の対抗はexcelじゃなくてマルチプランだ
353デフォルトの名無しさん (ワッチョイ 29e6-tzTG)
垢版 |
2020/08/07(金) 06:55:57.61ID:W1K5XVv60
三四郎「……」
2020/08/07(金) 10:33:41.03ID:kviOmVZrM
>>352
馬鹿なの?
普通に考えて1-2-3のWindows版の話だろ
2020/08/07(金) 13:52:01.46ID:ARIlA7ICM
>>354
馬鹿なの?
undocumented windows読んだ事無いのか
2020/08/07(金) 14:16:49.97ID:SYieViuR0
>>355
はあ?
> Lotus123の対抗はexcelじゃなくてマルチプランだ
の話なんだがw
2020/08/07(金) 18:40:21.36ID:85+YUIaur
自分が買ったPCにLotus123 windows版を入れてたけどなあ
358デフォルトの名無しさん (ラクッペペ MM8b-tzTG)
垢版 |
2020/08/07(金) 18:57:57.01ID:k8/Tepp0M
win95と同時に32bit版Excelだしやがったから
サードパーティじゃ間に合わん
3.1のころはいい勝負してたと思うよ
2020/08/07(金) 20:07:48.20ID:gaDKKGiVM
>>358
> 3.1のころはいい勝負してたと思うよ
そうだったっけ?
1993年にFMV買った時はWord/Excelと一太郎/三四郎のどっちかしか無かったような記憶があるが…
2020/08/11(火) 00:53:29.18ID:7RgGpk/H0
Excelで1900年がうるう年バグってるってのは有名だけどこれってLotus123との互換用なんだよな
もっというとLotus123側もうるう年判定を簡略させるための仕様だったと
2020/08/11(火) 07:47:24.74ID:xS/9Ss0TM
undocumented APIを検出するtool
でwindows3.xの頃のMS-APPは
インチキしてないって話しだったな。

インチキしてLotusクラッシュさせたのは
DOS1.25の時代だね
2020/08/11(火) 15:07:51.33ID:pA06ApZK0
今は、そういう嘘より、FUD合戦が流行っている。
「セキュリティーで危ないから、WindowsをUpdateしろ、LinuxよりWindowsの方が安全。」
「セキュリティーで危ないから、セキュリティーソフトを買え」
「セキュリティーで危ないから、ソースがないソフトは駄目。オープンソースを使え」
363デフォルトの名無しさん (ワッチョイ be2d-4h4I)
垢版 |
2020/08/12(水) 14:54:17.67ID:Q5zqH5GF0
最低限のリテラシーすらないアホを虐殺した方が早い
364デフォルトの名無しさん (ワッチョイ 9f01-3Lde)
垢版 |
2020/08/23(日) 16:16:47.80ID:OADC3r990
BindingされたCheckBox.IsCheckedはFallbackValueもTargetNullValueも利きませんが
どうやって初期値Trueを入れたらいいのでしょうか?
2020/08/23(日) 21:29:20.50ID:OADC3r990
解決しました
2020/08/25(火) 07:57:37.39ID:CNwadlb30
ちゃんと自決しろよ!
2020/08/25(火) 08:50:57.77ID:NQev4bWfa
おもろ
368デフォルトの名無しさん (ワッチョイ 7901-VQ5f)
垢版 |
2020/08/26(水) 17:12:16.09ID:+vm/3sbc0
Windows 10/.NET Core 3.1
TextBoxにintのプロパティをバインドすると数字以外にエラーを出してくれるようにできるが、
TextBoxのTextを手動ですべて削除したときに最後に有効だった数字がプロパティ側だけに残るのは不具合なのかな。
数字が入ってないのに、その数字で計算されてしまう。
intは空になれないからこうなっているのだと思いint?でも試してみたが同じ結果だった。
intのプロパティにバインドするのは罠?

TextBoxに123と入力されている場合:
12を消して、最後の3を消すと見た目上のTextBoxが空になるが、バインドしたプロパティには3が入っているものとされて扱われてしまう。
そして、3が入っているものとされているため、プログラム上で空になっている場合を処理できない。
369デフォルトの名無しさん (エムゾネ FF22-yRqa)
垢版 |
2020/08/26(水) 17:19:57.66ID:dZW3ATMVF
3 から先に消して
2 消して
1 を最後に消しても一緒
2020/08/26(水) 17:37:06.35ID:KgZIVvH1d
stringにしてtryparse
371デフォルトの名無しさん (ワッチョイ 7901-VQ5f)
垢版 |
2020/08/26(水) 19:25:24.29ID:+vm/3sbc0
int諦めてstringにして検証部分書きました。
intのプロパティにバインドしたらそれだけで介護してくれると思わせて、実は手抜き介護だった。
2020/08/26(水) 22:45:13.55ID:sGzQHkFA0
数値型バインドするときはコンバータで細工するとか必要だったかな
373デフォルトの名無しさん (エムゾネ FF22-yGMV)
垢版 |
2020/08/27(木) 10:31:44.59ID:H/WqeZOsF
validator
374デフォルトの名無しさん (JP 0H4a-uR+4)
垢版 |
2020/08/27(木) 12:33:17.39ID:vXpNqxXHH
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

VM + ASM を書いた (C#, DX) * x86 ではない!
simulationライブラリで純粋な関数式プログラミングをする
UIライブラリ (C#, 2D) を作ったよ
連続と離散を統一した!
4Dエンジン
matrixのライブラリ
ある強力なFor関数
SQLライブラリ

VM + ASM のダウンロード
ttp://up.x0000.net/files/TSimulang.zip
2020/09/01(火) 02:46:39.17ID:vwihzMdy0
そろそろ普及する予感
2020/09/02(水) 15:28:55.36ID:8b/Zi7QA0
14年目の正直
377デフォルトの名無しさん (アウウィフ FF8b-th+2)
垢版 |
2020/09/02(水) 15:38:08.91ID:PicHUi2jF
Xamarin の本買うかどうか迷ってる
https://gihyo.jp/book/2017/978-4-7741-8895-9
378デフォルトの名無しさん (ワッチョイ 0701-q/EU)
垢版 |
2020/09/02(水) 16:07:48.75ID:NYistFqT0
WPFの経験があるならXamarinなんて簡単だろう
2020/09/02(水) 16:11:54.09ID:YvoVnPDv0
Xamarinって結局OSの差分吸収しきれてないんじゃなかったか?
2020/09/03(木) 07:15:19.61ID:CV24xPe20
みんな挫折した経験だろうな
381デフォルトの名無しさん (アウウィフ FF8b-th+2)
垢版 |
2020/09/03(木) 10:11:39.97ID:DK3Ul6vKF
ちょまど攻略に挫折
2020/09/03(木) 10:13:55.48ID:3s47eGNWM
攻略出来ても色々と苦労しそうだなぁ
383デフォルトの名無しさん (アウウィフ FF8b-th+2)
垢版 |
2020/09/03(木) 10:30:41.16ID:DK3Ul6vKF
げしゅとしちゅえぇんん
https://voicy.jp/channel/1253/96112
https://voicy.jp/channel/1253/95926
384デフォルトの名無しさん (アウウィフ FF8b-th+2)
垢版 |
2020/09/03(木) 10:31:18.09ID:DK3Ul6vKF
どうしてフォロワー多いの?に答えてみた
https://sakumaga.sakura.ad.jp/entry/2020/08/28/120000
2020/09/03(木) 12:17:47.97ID:ABKyW7suM
でも腐女子なんでしょ
386デフォルトの名無しさん (ワッチョイ b501-sa+Q)
垢版 |
2020/09/09(水) 02:07:29.24ID:jnVpz/Pm0
WPFがスタートでこけた理由って当時の要求スペックの高さもあるけど、MVVMパターンというものを主張しすぎたよね
適用できる一つのパターンであるのに、それがすべてであるかのように広められてしまったのでWPFは敷居が高いと錯覚させてしまった
WinFormsのコードビハインドの部分がXAMLとして前面に出てきただけというところからスタートするべきなんだよ
あとMVVMパターンを説明しすぎている
パターンって理解してなくてもその通りに実装すれば、そうなってくれるんだから初期段階で深い説明はいらない
どこに何を書いていけばいいかを説明するほうが重要、パターンを意識させる必要がない
2020/09/09(水) 05:55:37.92ID:JComtfL10
ネットに転がってるWPFのサンプルってイベントべた書きのばかり。
2020/09/09(水) 08:32:16.72ID:vaBdp1IQa
いやReactやVueやAngularだってMVVMの亜流なんだから別にそれ自体がWPFを難しくしているわけではない
むしろWPF開発の複雑さを低減するためにMVVMパターンが使われるようになったわけだしな
問題はMVVMでデータバインディングを駆使しなければやってられないほどにWPFが複雑すぎる点と、
そもそもWPFにとってMVVMが後付けであるためにReact等の後発とは違って実装に余計な自由度がある点にある
2020/09/09(水) 08:55:17.69ID:CkRYWT4Fa
WinFormのがわだけWPFに置き換えするだけで良いのでは、第1ステップは
2020/09/09(水) 08:59:00.22ID:SVFY/4ccM
バインドとイベントべた書きですよね
391デフォルトの名無しさん (ワイーワ2 FF92-e6VR)
垢版 |
2020/09/09(水) 09:38:41.51ID:9MEEjZyTF
WPFは良い
XAMLが糞
2020/09/09(水) 10:10:18.72ID:Wa80IH+Z0
むしろ煩雑でよかった。winformが10年以上延命できた。
2020/09/09(水) 11:38:24.67ID:G4z+WgkT0
10年間進化してきたならともかく本当にただの延命なので共倒れ
2020/09/09(水) 11:57:41.97ID:eJCpqUcY0
XAMLはDesigner.csなんかよりよっぽど良いと思うけどな。
XMLに馴染みがないのかフォームデザイナーしか使わない人なのか。
2020/09/09(水) 12:17:43.28ID:McwiDPSYM
XAMLは冗長過ぎていかんわ
2020/09/09(水) 17:18:49.71ID:Wa80IH+Z0
C#に瞬殺されたと思われたJavaの圧倒的な巻き返しでC#も息してるかどうか疑わしくなってきた。
MSはいろいろ戦略が誤っていたのだろう。デスクトップOSのシェアすら今後保てるかどうか分からない。
2020/09/09(水) 17:36:53.18ID:VJS0FDOXa
Javaの巻き返しは無理だよ
言語に葉快適な変更をいくつも入れないとC#には追いつけない
2020/09/09(水) 17:37:03.91ID:VJS0FDOXa
あ、破壊的ね
2020/09/09(水) 17:39:45.34ID:5yvMyRN60
XAMLはレイアウトだけなら認める
2020/09/09(水) 18:02:01.33ID:k8W5BZK+0
WinFormsのポトペタに慣れ切った人がWPFで同じようにやろうとして思うように配置できなくて諦めるってのはあるかもな
だからといって、新規作成したときのデフォルトがGridでなくCanvasだったらアレだけどw
2020/09/09(水) 18:14:54.94ID:VOLRAgWK0
VSで無理やりMVVMパターンにはめるのが糞なだけでXAMLとバインドは十分使える
2020/09/09(水) 18:42:57.38ID:VJS0FDOXa
WPFは客先Java案件で開発補助ツール作るときに重宝しとる
403デフォルトの名無しさん (ワッチョイ ea6a-pVuC)
垢版 |
2020/09/09(水) 19:12:29.05ID:A5jehCoA0
>>400
WinFormとまったく同じ手法で開発できるようにしても良かったな
学習意欲のある人には最初からMVVMコースを選べるようにして
後出しアイデアだけどね
2020/09/09(水) 19:25:36.35ID:Pr/s0qQqa
業務系アプリや有名なアプリはその時流行ってたフレームワークや作り方を使って秘伝のタレ化してる
新しく作り直すこともせず完全なレガシーとなって開発者を苦しめてる
新規のアプリは結局Electron一択みたいな感じになった
この失われた20年をなんとかしろ
2020/09/09(水) 19:26:43.79ID:3UaIGoSz0
>>396
息してないわけないやろw
2020/09/09(水) 19:34:22.19ID:VJS0FDOXa
>>404
ドメインモデル作れよ
2020/09/09(水) 20:51:35.69ID:RtZ/Ywu6M
>>400
そうそう、Excel方眼紙の人にWordは無理だよねえ(爆笑)
■ このスレッドは過去ログ倉庫に格納されています