WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22

■ このスレッドは過去ログ倉庫に格納されています
2017/12/13(水) 23:35:47.18ID:muTUiD7C
Windows Presentation Frameworkについて語るスレ。

前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part21
http://mevius.2ch.net/test/read.cgi/tech/1494288553/

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

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
2018/12/05(水) 10:00:39.21ID:jWFcc5b0
ふーん(鼻ホジ
2018/12/05(水) 12:30:21.92ID:OqU85fsX
レジストリとかWMIみたいなWindowsOS寄りの機能を使うがためにWPF採用したので、
結局coreに移行してLinuxで動きます言うても手直しは必要なんだろうな。

UWPみたいにプロセス間通信までお断りみたいな状況よりはましか
DBサーバと通信できないんじゃ何も出来ないしな。。
2018/12/05(水) 15:13:22.64ID:CqFdhYUo
>>568

>>433
>WinFormsとWPFがクロスプラットフォームになることのない点には注意が必要だ
570デフォルトの名無しさん
垢版 |
2018/12/05(水) 16:46:30.83ID:ifntcr/4
>>569
英語読めないの? >>566 読め。

読めないなら日本語記事見付けたから貼っとく。

WPF/WinFormsをオープンソース化 〜Microsoft、「.NET Core 3.0」Preview 1を発表
Windows デスクトップアプリも「.NET Framework」から「.NET Core」ベースへ
https://forest.watch.impress.co.jp/docs/news/1156678.html
2018/12/05(水) 17:05:18.34ID:n/OP7tah
>>570
>「WPF」や「WinForms」がMac/Linuxで利用できるようになるわけではないが、
2018/12/05(水) 17:20:52.27ID:+y1T1RtZ
MSが右往左往してて笑えるw
2018/12/05(水) 17:51:52.32ID:VydWWrQG
WPFがクロスプラットフォームになると勘違いしてるやつがいるのか?

MSの開発者はそれはありえない
WPFのWはwindowsのWだからってわざわざ言ってるのに
2018/12/05(水) 17:57:35.91ID:UtUESojw
これは夢か
2018/12/05(水) 18:28:01.59ID:jDuSrQOq
WebブラウザーがやっとEdgeになるのか
地味にうれしいかも
2018/12/05(水) 18:32:24.22ID:Q3tW+xxV
>>572
どこが?
2018/12/05(水) 19:04:08.75ID:jWFcc5b0
MSはEdgeを捨てると噂を流したのは誰だ
2018/12/05(水) 21:04:33.29ID:1v6b0DHw
GUIは環境ごとの差が大きすぎるから仕方ない
だいたいmacやLinuxでリボンやらメトロやらをごり押しされても迷惑だろう
2018/12/05(水) 21:21:47.57ID:9TXdxV+e
>>568
DBはREST使う前提の設計だからなんとかなる
しかしローカルサーバーとhttp通信できないのは割と困る
あと、ファイルシステムが無茶苦茶遅いね
2018/12/05(水) 23:24:30.53ID:4GYg5LKI
>>577
マイクロソフトがARM版Chromeのコミットを頻繁に行っている
ってとこからの妄想じゃないのかな
2018/12/06(木) 08:50:55.44ID:+EVqeMBI
WPF/WinFormsをオープンソース化
だってよ
2018/12/06(木) 08:54:29.51ID:fzWl4QKW
>>581
>>566
2018/12/06(木) 09:42:32.88ID:l1gC1tkf
一日前の世界から書き込んだのかな?
2018/12/06(木) 10:11:29.42ID:ijJePQDk
一昨日から来ました
2018/12/06(木) 12:15:16.30ID:vZuYzNC2
碌にドキュメント整備せず、オープンソース化して、テスト、サポートを顧客に丸投げ。
完全に手抜き開発。MSの技術力低下しすぎ。
2018/12/06(木) 21:10:38.54ID:281fuTVP
>>581
オープンソースというゴミ箱
2018/12/06(木) 21:18:43.45ID:35IfL06C
結局MSはWPFなりWinFormsなりをどうしたいんだよ
中途半端に生かされても困る
2018/12/06(木) 21:24:18.83ID:Ub5WIo0W
Oracleとどっちがいい?
2018/12/06(木) 22:49:03.02ID:rpquktT2
だな。ほんとマイクロソフトはWPFとか今後どうしたいのか。
.NET Standard 2.0までは明確な目標あったけど、.NET Core 3.0以降の展望がわからん。
2018/12/06(木) 23:14:44.26ID:3H6i+/kK
WPFとか囲い込み目的でWindowsべったりの実装にしたんだから、
レガシーとか言わず、もっと責任持ってメンテして欲しいよね

WPFとか適当に扱った実績ができたからUWPも信用されなくなってる気がする
2018/12/07(金) 07:29:28.09ID:Ze/OE/M2
フレームワークを建てては放置してで信用されてないのはその通りだが
WPFが囲い込み目的でWindowsべったりってのは意味わからんw
2018/12/07(金) 08:20:18.82ID:6Hs26rkM
>>577
https://github.com/MicrosoftEdge/MSEdge/blob/master/README.md
Chromiumベースのブラウザにシフトするというのが正解らしい
最もらしいこと言ってるけど、実体はもうEdgeに人手を掛けたくないんだろうな
2018/12/07(金) 15:44:02.77ID:tfro4nft
microsoftはどうせならblinkじゃなくてシェア低いfirefoxのエンジンの方を採用しろよ。これで更にblink1強感が強まると後々ヤバそう。
webkitは実質apple製品のみだから脇に置いといて。
2018/12/08(土) 12:18:26.34ID:IbZe6xPZ
MediaElementのメディアの時間て
NaturalDurationに入ってくると思うのですが
ミリ秒まで入りません。

末尾までスキップとか中途半端なのですが
何かいい方法はありますか?
2018/12/11(火) 22:11:15.17ID:vQ1RsVVG
MSは同じような枠組みを違った環境向けに少しずつ異なる実装を
バカバカ作りやがる
2018/12/15(土) 14:46:30.32ID:vyzZ2t25
MVVM方式で、ボタンを10個作ったら、それぞれに対応するCommandクラスを10個作らないと動かないの?
2018/12/15(土) 17:01:22.09ID:ThUBPWMc
senderとかで分岐しちゃダメなの?
CommandParameterとかにユニーク値いれるとか
598596
垢版 |
2018/12/15(土) 17:07:04.75ID:vyzZ2t25
CommandParameterを利用して検討してみます。
ありがとうございます。
2018/12/15(土) 21:38:12.64ID:8fI0Hhzw
つか、ICommandじゃなくてPrismやReactiveProperty使うのが一般的だよな
使えない現場もあるかも知れんが
2018/12/16(日) 06:24:25.91ID:xCeFdrTE
DelegateCommandとReactiveCommandってどっちが使いやすい?
そんなに変わらん?
2018/12/16(日) 08:41:30.30ID:XLS84Otw
>>600
new BusyNotifier().Select(x => !x).ToReactiveCommand().AddTo(Disposable);って生成すれば、何も考えずに二度押し防止出来るのがメリットで
IDisposableの実装が必要なのがデメリット

ReactiveProperty使っているならそっちで実装するから手間は変わらなくなるが
2018/12/16(日) 12:07:17.78ID:xCeFdrTE
>>601
なるほど二度押し防止はよく使いそう

ReactiveProperty使い始めたんだが
ReactiveCollectionのItem数によってReactiveCommandを許可するかってのをどう書いていいかわからん
2018/12/16(日) 12:42:18.26ID:OmvADhcW
ReactiveCollectionのitem数によってtrue/falseに変化するReactivePropertyを作って
そこからToReactiveCommand()でReactiveCommandを作ってやればいいはず。

ReactiveCollectionの変化を直接捕まえられたかは忘れた。
ダメだったらそのReactiveCollectionに変化を引き起こし得る操作のところで
ReactivePropertyをメンテしてやる。
2018/12/16(日) 13:16:47.19ID:ugnkNClS
https://qiita.com/YSRKEN/items/5a36fb8071104a989fb8


ここ読むとReactiveProperty使っても
INotifyPropertyChangedも合わせて使わないとメモリーリーク防げないと読めて
ReactivePropertyを使うことに対するメリットがイマイチ理解できないのだけど、
やっぱり便利なの?
2018/12/16(日) 15:13:18.99ID:xCeFdrTE
>>603
そうそうこの直接捕まえることができるのか調べてもわからなかった
確かにitemsを操作するところでもいいんだけどね
2018/12/16(日) 15:27:32.73ID:OmvADhcW
手元のコード探してみたらそのまんまCollectionChangedAsObservable()でよかったみたい。
2018/12/16(日) 15:28:37.57ID:XLS84Otw
>>604
や、そうじゃなくてINotifyPropertyChangedインターフェースの実装がアレばいいってことだから
prismなら従来VMを書くときと同じようにBindableBaseを継承すればいいということのようだ
それを省略ならIDisposableを実装してしっかりDisposeすりゃいいってことだ
2018/12/16(日) 16:14:49.96ID:xCeFdrTE
>>606
ありがとう拡張メソッドでitemsの変更が拾えました
CountをReactivePropertyにしてCommandのtrue/falseも変更できました
2019/01/05(土) 18:48:17.73ID:pRj2u6rq
パート22だけど去年はとうとう1スレも進まなかったのね
2019/01/05(土) 21:38:20.66ID:pBvTkhT0
普及前にオワコン
2019/01/05(土) 21:58:36.66ID:EkbWdI3+
デスクトップしか使わんから勉強するモチベ的につらい
たまにこのスレ覗くくらいだわ
2019/01/06(日) 08:21:41.81ID:n+0B3BKL
ワイが去年ようやくまともにヤリ始めたくらいやしな
2019/01/06(日) 09:40:28.38ID:988ZcpZ6
さすがにもう普及したよな?
2019/01/06(日) 10:12:31.85ID:988ZcpZ6
へんじがない、ただのしかばねのようだ
2019/01/06(日) 10:50:39.74ID:GQx3m9rS
二年くらい前に既にピークアウトしたよ
天保山くらいのピークだったけど
2019/01/07(月) 13:59:13.14ID:bF8HGRsU
UserControlでマウスのクリックを
<UserControl.InputBindings>
 <MouseBinding Gestus="LeftClick"・・・>
のようにして取得できるんだけど

<Grid VerticalAlignment="Bottom">
このGridはクリックを通したくない場合ってどうするのが正解なんでしょうか?
617デフォルトの名無しさん
垢版 |
2019/01/07(月) 18:20:56.74ID:lPW7YYFc
>>616
正解かどうかは知らないけどPreview系のイベントでハンドリングして以降では処理しないようにするとかはどう?
618デフォルトの名無しさん
垢版 |
2019/01/07(月) 19:56:36.23ID:IJfA8DXD
>>617
なるほどそういう方法があったか
PreviewだとGridに置いたButtonとかが拾えなくなるので
MouseLeftButtonDownでマスクしたところ
うまくいきました

さんきゅー
619デフォルトの名無しさん
垢版 |
2019/01/09(水) 09:58:52.62ID:g2Kn1lba
>>618
あ、そうか。この場合は下に伝えたくないからPreviewじゃないほうか…。

うまくいって良かったよ。
2019/01/09(水) 15:09:24.79ID:+sopiOUJ
2008年以降に始めたプログラマもWPF使わずwinform使ってんだろうな。
2019/01/09(水) 15:18:37.04ID:b059F6IM
人脈が無い人はFormしか選択肢が無いからな
2019/01/09(水) 15:41:58.95ID:qj5sQCjd
>>620
三年前にC#はじめたけどWPF使ってるよ
もともとHTMLさわってたからUIがXMLで書けるのが好み
2019/01/12(土) 17:53:46.25ID:dFO1ThRL
winformにIE張ってHTMLで書けば解決。
2019/01/12(土) 18:48:29.44ID:HnYcSDuU
>>623
ねえよw
2019/01/12(土) 18:53:09.27ID:ft/J6rds
Electron.NETは?
2019/01/13(日) 10:30:32.23ID:3xnqelpD
>>623
それって結局、JavaScriptでプログラミングになるんじゃ?
2019/01/17(木) 11:09:09.99ID:HtR/KJjt
Desktop Bridgeってのを試しているんだが、sqlite.interop.dllってのが実行フォルダにコピーされないんだが
対策ありますか?手動でコピーすれば大丈夫のようだが(パッケージ化はこれから)
628デフォルトの名無しさん
垢版 |
2019/01/18(金) 02:59:01.71ID:422ZEWaz
Windowsアプリケーションパッケージングプロジェクトだつけ?それ使うといいよ
2019/01/18(金) 09:11:09.95ID:kIKV+V7n
>>628
残念ながら、そいつ使っているんだが上手く行っていません
sqliteのパッケージはsqlite.interop.dllがx86とx64の切り替えをやっていて
.netのbinフォルダでx64,x86のサブフォルダ上にインストールされるんだが、
そのフォルダが「Windowsアプリケーションパッケージングプロジェクト」のbinにコピーされません
630デフォルトの名無しさん
垢版 |
2019/01/18(金) 18:55:54.77ID:IdrVS7nW
>>629
苦肉の策としてはWindowsアプリケーションパッケージプロジェクトのコンテンツとしてsqliteまわりのdllを入れておくとかかな
プロジェクト内でのフォルダ構造そのままコピーされるからWPFプロジェクト名のフォルダを切って、その下にsqliteのdllを配置してほしいレイアウトで置く感じ

ストアに出すならもう少し頑張らないといけないけどサイドローディングならそれだけで行けると思う
631デフォルトの名無しさん
垢版 |
2019/01/18(金) 22:18:19.67ID:V6j1airp
WPFかあ、もはやそんなのあったなあ、って感じだな。

たぶんもう日本の業務アプリは、もはや21世紀中はWindows Formsが主流のままだよ。

事務ソフトでアニメーションなんかあっても、ウザいだけ。
2019/01/18(金) 22:28:37.28ID:6AuLMq6N
>>631
べつにアニメーションがWPFの特徴なわけじゃないと思うが
2019/01/18(金) 23:06:34.88ID:VGOuFx45
>>631
主流はASP.NETだよ
2019/01/18(金) 23:43:01.79ID:cuN/FElZ
>>632
メトロUIという非常にユーザから嫌われたUIを使えるのが特徴だな。
635デフォルトの名無しさん
垢版 |
2019/01/18(金) 23:43:57.71ID:V6j1airp
>>632
でもWimdowsフォームとWPFの違いって、ユーザーから見たらアニメーションぐらいじゃね?

>>633
ASP.NETも枯れてていい感じだね! でも俺は、ブラウザ アプリは遅いので好きじゃないんだ。
マルチ プラットフォーム環境の、不特定多数へのサービスならブラウザ最高! だけどね。
2019/01/18(金) 23:56:42.31ID:UV6kIYNk
>>634
WPFとMetroは無関係だが
なんでそんな程度の知識しかしない煽り虫がこのスレに棲息してんだ?
637デフォルトの名無しさん
垢版 |
2019/01/19(土) 00:11:00.38ID:VQylmDLC
>>636
横からだけど、Windows 8が出たときに、メトロUIのWindows Store アプリを作ることが
WPFの目的だった時代があったような。。。それでみんな、ちょっとかじってやめていった。

もう6年前の話なので、あのわずかな期間を、どれほどの人が覚えているか知らないが。
2019/01/19(土) 00:18:01.67ID:75e4SvGx
4Kモニターユーザーとしては、WPFアプリは標準で高DPIに対応してるのが良い。
何もしなくてもSystem DPI Awareで、Per monitor DPI Awareにするのも簡単。
2019/01/19(土) 00:18:17.44ID:oMrzH9i0
>>635
ユーザーから見たら同じとか言い出したら中身がC++でWINAPIベタ書きでもPythonかなんかでTcl/Tkで書いても全部一緒ってことになるだろうが
作り手にとって違うなら十分違うんだよ
2019/01/19(土) 00:29:52.82ID:mfJttzKn
>>637
そんな時代は一秒たりとも無かった
2019/01/19(土) 00:46:30.27ID:tvz2yBQ7
>>637
> 時代があったような
ないです

そんなわけのわからん記憶をどこでねつ造してきたの…
2019/01/19(土) 02:11:35.76ID:FJgPPckz
WPF登場から13年。
Windows95発売からWindows7が発売されるまでが14年。

こんだけ経って普及してないんならもう普及は無理だわ。
2019/01/19(土) 02:12:48.87ID:voGwqUEx
数値で語れよ
2019/01/19(土) 02:29:15.43ID:6wlQil+Y
メトロUIこそWPFの真骨頂なのに何言ってんだか。WPF開発者がそう言ってるだろ。
2019/01/19(土) 03:08:57.41ID:g9MKrhJk
普及するとか普及しないとかいうより、新しいWindowsアプリなんてほとんど登場してないだけだろ。WPFとかWinFormsとかあんま関係ない。
マウス入力のUIの既存ので間に合ってて誰も新しく作らない。
2019/01/19(土) 03:12:50.62ID:g9MKrhJk
マウス入力に最適化されたUIのアプリは既存のデスクトップアプリで間に合っててほとんど誰も新しく作らない。
だからWinFormsとかWPFとかそれ以前の問題。社内アプリとかでぼそぼそ作ってるところとかもあるかもしれんが。 
2019/01/19(土) 04:12:15.37ID:XwZdf3Vk
タブレットと同じソースが使える筈だったザマリンを
自分達で潰したから普及する訳無いでしょうな
2019/01/19(土) 09:17:07.56ID:jiSSqTLg
>>630
WAPのバイナリに手動コピーするとしっかり配置してくれているようだから
当座はそれで凌げそうです
sqliteかVSかどちらかのバグだろうから、そのうち解消されるまで待つことにします

しかしWAPでX64選択しても店子のWPFプロジェクトはAnyCPUが選択されるため
WAPのバイナリは32bitのwpfバイナリイメージになっていたのはびっくりしたわ
(構成マネージャーで手動修正可能だが)
2019/01/20(日) 09:51:20.57ID:g1HOkIkx
>>644
MetroStyleしようと思ったらOSS入れないと駄目なくらいWPFでは組み込みサポートないよ
Windows8ではWindows Runtime上で動くWindows Store Appが追加されてたけど、それと勘違いしてる?
2019/01/20(日) 09:57:21.70ID:o3vZ0H0Z
RTをメトロUIと勘違いしてる馬鹿がいるのか。
2019/01/20(日) 13:24:29.55ID:RH6gs2bU
もう少し踊ってから突っ込もうよ
2019/01/21(月) 18:19:03.49ID:tYy/rBPT
そうではなくてWPFとXAMLを勘違いしてるんではないですか???
2019/01/21(月) 18:32:48.11ID:W4SvihMi
あの不人気なフラットデザインをメトロって言うんだよ。
VSで言えば、VS2010から採用された悪評高いのっぺりデザイン。
2019/01/21(月) 18:35:25.80ID:/LcXY3ac
windows95から24年も代わり映えのしないデザインより遥かにマシじゃね?
2019/01/21(月) 18:38:30.84ID:5kYBxhZB
COOLBARは何故流行らなかったのかのう
2019/01/21(月) 20:36:07.05ID:lj+m/cPS
Lunaが最強ってことが証明されたな
2019/01/22(火) 05:09:13.93ID:Tca6Oe/x
>>653
> メトロって言うんだよ
> VS2010から採用された

言いません
2019/01/22(火) 07:00:29.33ID:WokHO9Ir
その法螺が何故バレないと思ったのですか?
2019/01/22(火) 11:03:13.76ID:C/+p9Ld8
自分でカッコイイスタイル作れば良いじゃない。
2019/01/22(火) 12:24:03.41ID:/AWQHDv1
>>654
進化してればいいんだが、見た目が変わっただけというのは害悪しかない
2019/01/22(火) 14:39:51.95ID:wSuDIWGq
>>657
wikipぐらい読んできたら?
2019/01/22(火) 14:55:05.57ID:MOxebT3c
メトロじゃなくてモダンUIって言うんだよね
2019/01/22(火) 16:37:46.63ID:WokHO9Ir
僕のアダナを 知ってるかい メトロUIと いうんだぜ
デマを流して もう三月 雨や嵐にゃ 慣れたけど〜
2019/01/22(火) 19:29:08.93ID:VAAf+Tqy
WPFがメトロUIだと言いだす馬鹿はほっとけばいい
2019/01/22(火) 19:36:27.54ID:wSuDIWGq
>>664 ←十分条件と必要条件が理解できない典型的馬鹿文系の例
2019/01/22(火) 19:39:09.14ID:sLZ546NU
>>661
ここにこう書いてあるとソース貼れば良いのでは?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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