X



WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
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/
0594デフォルトの名無しさん
垢版 |
2018/12/08(土) 12:18:26.34ID:IbZe6xPZ
MediaElementのメディアの時間て
NaturalDurationに入ってくると思うのですが
ミリ秒まで入りません。

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

ReactiveProperty使っているならそっちで実装するから手間は変わらなくなるが
0602デフォルトの名無しさん
垢版 |
2018/12/16(日) 12:07:17.78ID:xCeFdrTE
>>601
なるほど二度押し防止はよく使いそう

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

ReactiveCollectionの変化を直接捕まえられたかは忘れた。
ダメだったらそのReactiveCollectionに変化を引き起こし得る操作のところで
ReactivePropertyをメンテしてやる。
0605デフォルトの名無しさん
垢版 |
2018/12/16(日) 15:13:18.99ID:xCeFdrTE
>>603
そうそうこの直接捕まえることができるのか調べてもわからなかった
確かにitemsを操作するところでもいいんだけどね
0606デフォルトの名無しさん
垢版 |
2018/12/16(日) 15:27:32.73ID:OmvADhcW
手元のコード探してみたらそのまんまCollectionChangedAsObservable()でよかったみたい。
0607デフォルトの名無しさん
垢版 |
2018/12/16(日) 15:28:37.57ID:XLS84Otw
>>604
や、そうじゃなくてINotifyPropertyChangedインターフェースの実装がアレばいいってことだから
prismなら従来VMを書くときと同じようにBindableBaseを継承すればいいということのようだ
それを省略ならIDisposableを実装してしっかりDisposeすりゃいいってことだ
0608デフォルトの名無しさん
垢版 |
2018/12/16(日) 16:14:49.96ID:xCeFdrTE
>>606
ありがとう拡張メソッドでitemsの変更が拾えました
CountをReactivePropertyにしてCommandのtrue/falseも変更できました
0611デフォルトの名無しさん
垢版 |
2019/01/05(土) 21:58:36.66ID:EkbWdI3+
デスクトップしか使わんから勉強するモチベ的につらい
たまにこのスレ覗くくらいだわ
0616デフォルトの名無しさん
垢版 |
2019/01/07(月) 13:59:13.14ID:bF8HGRsU
UserControlでマウスのクリックを
<UserControl.InputBindings>
 <MouseBinding Gestus="LeftClick"・・・>
のようにして取得できるんだけど

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

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

うまくいって良かったよ。
0627デフォルトの名無しさん
垢版 |
2019/01/17(木) 11:09:09.99ID:HtR/KJjt
Desktop Bridgeってのを試しているんだが、sqlite.interop.dllってのが実行フォルダにコピーされないんだが
対策ありますか?手動でコピーすれば大丈夫のようだが(パッケージ化はこれから)
0628デフォルトの名無しさん
垢版 |
2019/01/18(金) 02:59:01.71ID:422ZEWaz
Windowsアプリケーションパッケージングプロジェクトだつけ?それ使うといいよ
0629デフォルトの名無しさん
垢版 |
2019/01/18(金) 09:11:09.95ID:kIKV+V7n
>>628
残念ながら、そいつ使っているんだが上手く行っていません
sqliteのパッケージはsqlite.interop.dllがx86とx64の切り替えをやっていて
.netのbinフォルダでx64,x86のサブフォルダ上にインストールされるんだが、
そのフォルダが「Windowsアプリケーションパッケージングプロジェクト」のbinにコピーされません
0630デフォルトの名無しさん
垢版 |
2019/01/18(金) 18:55:54.77ID:IdrVS7nW
>>629
苦肉の策としてはWindowsアプリケーションパッケージプロジェクトのコンテンツとしてsqliteまわりのdllを入れておくとかかな
プロジェクト内でのフォルダ構造そのままコピーされるからWPFプロジェクト名のフォルダを切って、その下にsqliteのdllを配置してほしいレイアウトで置く感じ

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

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

事務ソフトでアニメーションなんかあっても、ウザいだけ。
0635デフォルトの名無しさん
垢版 |
2019/01/18(金) 23:43:57.71ID:V6j1airp
>>632
でもWimdowsフォームとWPFの違いって、ユーザーから見たらアニメーションぐらいじゃね?

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

もう6年前の話なので、あのわずかな期間を、どれほどの人が覚えているか知らないが。
0638デフォルトの名無しさん
垢版 |
2019/01/19(土) 00:18:01.67ID:75e4SvGx
4Kモニターユーザーとしては、WPFアプリは標準で高DPIに対応してるのが良い。
何もしなくてもSystem DPI Awareで、Per monitor DPI Awareにするのも簡単。
0639デフォルトの名無しさん
垢版 |
2019/01/19(土) 00:18:17.44ID:oMrzH9i0
>>635
ユーザーから見たら同じとか言い出したら中身がC++でWINAPIベタ書きでもPythonかなんかでTcl/Tkで書いても全部一緒ってことになるだろうが
作り手にとって違うなら十分違うんだよ
0642デフォルトの名無しさん
垢版 |
2019/01/19(土) 02:11:35.76ID:FJgPPckz
WPF登場から13年。
Windows95発売からWindows7が発売されるまでが14年。

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

しかしWAPでX64選択しても店子のWPFプロジェクトはAnyCPUが選択されるため
WAPのバイナリは32bitのwpfバイナリイメージになっていたのはびっくりしたわ
(構成マネージャーで手動修正可能だが)
0649デフォルトの名無しさん
垢版 |
2019/01/20(日) 09:51:20.57ID:g1HOkIkx
>>644
MetroStyleしようと思ったらOSS入れないと駄目なくらいWPFでは組み込みサポートないよ
Windows8ではWindows Runtime上で動くWindows Store Appが追加されてたけど、それと勘違いしてる?
0653デフォルトの名無しさん
垢版 |
2019/01/21(月) 18:32:48.11ID:W4SvihMi
あの不人気なフラットデザインをメトロって言うんだよ。
VSで言えば、VS2010から採用された悪評高いのっぺりデザイン。
0663デフォルトの名無しさん
垢版 |
2019/01/22(火) 16:37:46.63ID:WokHO9Ir
僕のアダナを 知ってるかい メトロUIと いうんだぜ
デマを流して もう三月 雨や嵐にゃ 慣れたけど〜
0668デフォルトの名無しさん
垢版 |
2019/01/22(火) 19:49:19.76ID:sLZ546NU
>>667
ソースを貼れば黙らせられるんじゃない?

俺もグラデとボーダー抑えただけのフラットデザインをメトロと呼んでいたなんて初耳だけど
0669デフォルトの名無しさん
垢版 |
2019/01/22(火) 19:50:43.94ID:wSuDIWGq
ID:sLZ546NU\
   ノ)人(\   フ
  人(へニフ )人  )
へ ( 〈●)  ヘ)ノイ
Y Y /// ̄  (●/ノ
ヽノ     _ノ~|
_ノ   / ̄\  / <ボクが一番WPFに詳しいんだ!!!
――、_\二ノ /
  / /  イ/ ̄/
0671デフォルトの名無しさん
垢版 |
2019/01/22(火) 20:22:42.49ID:MXMUazpF
もしかしてwikipediaのこれをみてWPF=メトロって解釈したの?

ttps://ja.m.wikipedia.org/wiki/Windows_Presentation_Foundation
>Windowsストアアプリ

>Windows 8/Windows RTにおいて導入されたWindowsストアアプリ(WinRTアプリ、Modern UIアプリケーション)はWPF同様XAMLによって
>ユーザインタフェース要素を記述し、WPFに類似したプログラミングモデルを提供する。Windows 10においてWindowsストアアプリの後継として導入された、ユニバーサルWindowsプラットフォーム??(Universal Windows Platform, UWP) アプリケーションも基本は同様である。
0675デフォルトの名無しさん
垢版 |
2019/01/23(水) 13:40:33.94ID:HL71aJyT
VS2010って急に重くなってヘルプが使い物にならなくなったバージョンだな。
そしてドキュメントも整備されなくなった。そして記念すべき.net4というアホバージョンが登場。
以後の.netの仕様は互換性は皆無、仕様は右往左往、排他仕様、切捨ての嵐となった。
サポートには苦情の嵐でどうにもならず、多くをオープンソース化してユーザに丸投げ。

この辺りだな、MSの技術力が急低下したのは。
0676デフォルトの名無しさん
垢版 |
2019/01/23(水) 17:54:23.20ID:7Xice4uJ
ホラVS2010がメトロとかわけわからんこと言うから
おじいちゃんが発作起こしちゃったでしょう
0680デフォルトの名無しさん
垢版 |
2019/01/25(金) 09:52:20.19ID:iIPgsGqp
>>652
同一視してる可能性は否めない。
WPFもWin8アプリもWin10アプリもXAML使ってるが、ライブラリもランタイムも違う別物。
0682デフォルトの名無しさん
垢版 |
2019/01/26(土) 10:08:44.16ID:Uh6dxh25
結局WPF is Metroさんは勘違い以前のただの釣りだったのけ?
煽りにしても意味わからんしもともとMetroの定義も曖昧だから
なんか説明してくれると思ったのになあ
0683デフォルトの名無しさん
垢版 |
2019/01/26(土) 18:55:05.39ID:Y7bMbEQa
RenderTargetBitmapをpngやbmpファイルに落とすと
1920*1080とかになると一秒くらい掛かってしまうんですが
もっと速くする方法はないでしょうか?
0689デフォルトの名無しさん
垢版 |
2019/01/31(木) 09:39:30.69ID:vGUFjnx2
そういやパスの長さ260文字の呪いは解消されては居るが、
都合で隠し機能になってレジストリ弄らないよ有効にならないんだよな
0692デフォルトの名無しさん
垢版 |
2019/02/07(木) 01:59:25.27ID:MC0LZezS
WPFスレがまだあったか。こんなもの普及しないと思ってたけどまさかPart22まで伸びてるなんて。

随分と普及してたんだなw
■ このスレッドは過去ログ倉庫に格納されています

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