WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part21 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/05/09(火) 09:09:13.94ID:KhhA22kJ
Windows Presentation Frameworkについて語るスレ。

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
2017/09/24(日) 19:35:02.93ID:2CfoP8Eu
>>397
電動カンナとネイルガンの方が効率が良いだろ。
それより、ちゃんとカンナ掛けした部材を買って使った方が早いぞ。
2017/09/24(日) 20:10:13.12ID:TezdVn6/
そんな判断が下せる人材はとうに脱出してます
2017/09/24(日) 20:37:05.66ID:2CfoP8Eu
そう、日本のIT産業の技術力低下が止まらない。
408デフォルトの名無しさん
垢版 |
2017/09/24(日) 22:31:58.25ID:lZcW7qdX
>>400
クソかなあ? だってユーザーの欲しいのものは、入力しやすいユーザー インター
フェースと、データを一覧で表示することと、Excelに出力することだけだよ。

WPFじゃないとできないことなんて、何もない。枯れたWindows Formsが最強だ。

ブラウザーを使うWebアプリは遅いし、操作性が悪いから誰も喜ばないし。
409デフォルトの名無しさん
垢版 |
2017/09/24(日) 22:39:47.02ID:lZcW7qdX
>>405
カンナがけした具材という点で、Windows Formsのコントロールは完成されている。
もちろん標準コントロールでは貧弱な部分もあるが。様々な有料具材があるので
それを買ってくれば良い。

WPFはXAMLでアニメーションが簡単にできたのは感動したけれど、業務アプリ
で毎回画面が動くのは、目が疲れてウザいだけだった。
2017/09/24(日) 22:42:23.65ID:huw6Eetw
1回なら誤字かなーと思うが
2回も具材と書くのは、もしかして部材という言葉を知らんのだろうか……

>業務アプリで毎回画面が動くのは、目が疲れてウザいだけだった
それ、使い方を盛大に間違えてる
WPFって一々何でもかんでもアニメーションさせる為に使うもんじゃないっすよ
(初期の頃の、ネットニュースとかでの取り上げられ方がアレだったせいで変な勘違いをされるけど)
2017/09/24(日) 22:47:00.41ID:wZOFNGdG
まあいくら言ってもWPFはオワコンなんだけどね
2017/09/24(日) 23:06:19.12ID:PUjxgdIV
まあMSはUWPに移行推奨だろうからね
業務アプリ限定ならwindows10限定以外の問題は
粗方片付いて、残りはオラクルぐらいじゃね?
2017/09/24(日) 23:10:46.23ID:tXjdTiuM
>>408
お前WPF知らねーだろ
2017/09/24(日) 23:18:20.70ID:2CfoP8Eu
>>409
葡萄市か何かの具材を買うといざ修正しようとすると
ライセンスの管理が悪くて見つからなかったり大変だわさ。
2017/09/24(日) 23:49:54.89ID:3aRQaQH2
>>408
逆に考えるとwindows formsで十分なデーター入力や閲覧がメインの業務アプリなんて、wpfの標準コントロールで十分で、mvvmやデーターバインディングを用いて綺麗すっきりに業務アプリつくれる。
2017/09/24(日) 23:51:01.07ID:huw6Eetw
リスト表示の仮想化にだけ、ちょっと慣れがいるけどね
せいぜいそんくらい
2017/09/24(日) 23:51:38.34ID:tXjdTiuM
>>415
MVVM何それってアホなんだよ
2017/09/24(日) 23:53:58.09ID:2CfoP8Eu
MVVM完全無視でバインドだけ使ってもご利益があるぞ。
2017/09/25(月) 00:30:13.04ID:4u8pTLID
formsでも済むようなアプリならWPFでもMVVMなんていらんだろ
イベントドリブンで十分
2017/09/25(月) 00:41:42.75ID:WRsfbJvs
Material Design In XAML Toolkit入れちまえば、大抵のことは誤魔化せるな
2017/09/25(月) 08:08:40.89ID:4mRYDJ7j
WPFは面倒くさいというけど、ReactiveProperty使ってみたらWinFormsよりも楽なんじゃないかと思った。
こういうの最初から標準で用意しておいてほしかった。
2017/09/25(月) 09:05:52.32ID:Iy2FY3fB
INotifyPropertyChangedをいちいち実装するのは面倒だったからなぁ。
WPFに圧倒的に足りなかったのは、こういう使い勝手を向上する細かな作り込みだと思うよ。
2017/09/25(月) 09:52:17.24ID:yMXDEYuv
このスレ見ると、WPF使ってる奴がどれだけ世間ズレしてるか分るな。脳みそが体育会系、時代錯誤。
2017/09/25(月) 11:47:24.20ID:U6y/v+yx
彼等も当時はWPFこそが次世代の標準プラットフォームだと信じて、WinFormsに固執する連中を馬鹿にしてたんだよ
そして今、自分達が時代錯誤と馬鹿にされる立場になったということ
2017/09/25(月) 11:50:37.43ID:Ku8XPUJl
>世間ズレ
日本語の出来ない奴発見
2017/09/25(月) 22:05:49.75ID:Eukv621n
>>419
MVVMもイベントドンブリなんだがなぁ。。
2017/09/25(月) 22:41:44.29ID:SyR0/asg
意外に思う人もいるかもしれないけど
イベント駆動って、ゲームなんかの周期駆動と対立する概念で
プログラムをどのタイミングで走らせるかという
いわば「プログラムの休ませ方」の方式の事だからね
Windows的には
GetMessageやWaitForSingleObjectなどの待機関数で休ませればイベント駆動で
Sleepで休ませれば周期駆動
何をトリガーとしてプログラムがOSからキックされるかっていう
OS用語というわけでもないけど、カーネルスケジューラー由来の割とそのような話
WPFはどう考えてもイベント駆動
2017/09/26(火) 01:50:36.56ID:+5RdjyCt
何言ってるのか意味が分からないけど、WindowsのGUIだって
システム側のコードも含めれば君のいう「周期駆動」だよw

ただのポーリングである実体をユーザーコード側からはイベントがあった時に
システム側から呼び出されるように見せてるだけ

それはどうでもいいが、WPFだってGUIなんだからそういう意味ではイベントドリブンに決まっているが、
>>419の言ってるのはコードビハインドにイベントハンドラ書いたっていいでしょって意味でしょ
2017/09/26(火) 08:16:39.08ID:fQ+p+tlH
WPFだってWinFormsライクにも書けるのに、
データバインディングやMVVMを理解できない人が文句言っているだけ。
2017/09/26(火) 08:37:47.71ID:yKCix3et
勉強に疲れた君がWinFormなんじゃね?
XAML無しのコードだけで、コンポーネントを書くのは、WinForm厨君にはハードルが高いかも?
2017/09/26(火) 12:31:05.64ID:zc5mvy4I
>>429
イベントベタ書きは良いけど、データバインディング無しでwpfは辛いだろ。
2017/09/26(火) 12:46:51.74ID:pwjvHW00
>>431
x:bindのイベントバインディングの世界へようこそ
wpfもアレ導入すればいいのに・・・・
2017/09/26(火) 13:12:32.50ID:3DlL6rrx
>何言ってるのか意味が分からないけど、WindowsのGUIだって
>システム側のコードも含めれば君のいう「周期駆動」だよw

>ただのポーリングである実体をユーザーコード側からはイベントがあった時に
>システム側から呼び出されるように見せてるだけ

まずどこのレイヤーの話かというのもあるが、それは置いておいて
低レベルなところまで下りて行っても
マウスやキーボードは(タイマーじゃない)割込みで動いているのでイベント駆動だ
OSがマウスやキーボードをポーリングしてたら糞だろ
2017/09/26(火) 13:18:42.90ID:3DlL6rrx
ただ何処のレイヤーのどの部分が何駆動になっているかという話なので
全体的にみてどうこうという話ではない
だからイベント駆動が基調のWindowsのウィンドウで
周期駆動のゲームを動かすこともできるわけで
プログラムの流れ的に、周期的に動くのか
イベントがあるときだけ動くのか、というだけのこと
2017/09/26(火) 13:54:20.63ID:iExFW+NQ
>>433
いつの時代のPCの話よw

PS/2の時代だって(キーボドリセット以外は)ソフトはHWバファーをポーリングしてるだけ。
割り込みなんて使わねえよw
USBやBTならなおさらだ
2017/09/26(火) 14:57:22.53ID:3DlL6rrx
そうなのか?それは悪かった
ただ、何処のレイヤーのどの部分に着目するかだから
WPFの話をするときにハードウェアやドライバの話は関係が無いので
WPFはイベント駆動で問題ないけど
2017/09/26(火) 15:26:40.17ID:pwjvHW00
コードビハインドにイベントハンドラを書くスタイルをイベントドリブンと書いちまっただけなんだから
いい加減許してやればいいのに・・・・

あと、wpfのmvvmはデータドリブン型モデルとされています
2017/09/27(水) 08:04:08.96ID:j4Xsuhzh
WPF この先生き残るの?
2017/09/27(水) 08:33:22.38ID:htvdQyi4
C++/CLIのようにMS自身が非推奨にしない限りMFCやWinFormsと同程度には生き残るんじゃないの
2017/09/27(水) 10:52:32.22ID:hDHywsvz
今のところはVS自体の開発に使われてるから基礎的な部分はメンテされてる
VSが完全にHTMLに置き換わったら本格的に終わるね
置き換えの流れはもう止まらないし、今のVSの開発スピードなら次のバージョンでWPF完全排除でもおかしくない
2017/09/27(水) 10:55:30.68ID:at63bDoQ
VSCodeみたいな遅いのは勘弁
2017/09/27(水) 11:08:07.12ID:iAbxKe8E
また夢見てる例の人が着てるけど、HTMLへの移行なんてデメリットだけあって
メリットは一つもないことが本気で理解できないなら相当頭悪いと思うよほんとw

最初ネタで言ってるのかと思ったけどマジで言ってるみたいだから怖いよね
2017/09/27(水) 11:13:23.09ID:j4Xsuhzh
WPFってHTMLと同じ土俵だったの? 知らなかった。
てっきり、画面設計とロジックがWinFormでは分離しがたいから出てきた思想だとばかり思ってた。
2017/09/27(水) 11:15:37.61ID:ZtupZA39
ただ、xamlにcss的な仕組みを取り入れるのは悪くないと思うけどね
styleだけだと冗長だ
2017/09/27(水) 11:17:54.36ID:OnyIuiaa
そもそも分離したいという開発者に会ったことがない。
2017/09/27(水) 11:26:40.45ID:j4Xsuhzh
>>445
業務系のデータ処理だけとかだとWinFromで十分だよね。
これが、製造現場の一部画面が違うだけのページオンパレードのシステムだと大変。
WPFだと、ConcreateContextの参照先をロジック一か所にするだけでOK。
単純な例だけど・・・
2017/09/27(水) 12:14:06.48ID:hDHywsvz
>>442
VSCodeがエディタの天下取った時代に何を言ってるの?
2017/09/27(水) 12:25:22.96ID:KnlAeCk2
>>439
C++/CLIはMSが見放すくらい使われていなかったのか。
2017/09/27(水) 12:27:19.78ID:KnlAeCk2
>>447
atomよりはましたが糞遅いので天下取りは勘弁して
2017/09/27(水) 12:47:54.77ID:dVQpfUDY
>>447
あくまでも「エディタ」な
2017/09/27(水) 16:51:08.90ID:7dA/9JOQ
昔みたいにMSの天下ってわけじゃないから
これから先もずっと下手な手を打っては下火になったら放置プレーして
また新しいの出しての繰り返しだよ
完璧にMSの商売の都合でやってることだから・・・
負けたら次のを出すしか払拭できないからね
保守も大変だからQtとかに乗り換えるか
いっそのことWin32API+独自UIコンポーネントの方が後々楽そう
コロコロ使い捨てする安定しないベンダーのコードにあまり依存しないほうが良いんだろう
C++/CLIとかで書いちゃった人かわいそう
2017/09/27(水) 16:55:38.21ID:7dA/9JOQ
SilverlightやVB6で書いちゃった人もかわいそう
2017/09/27(水) 17:03:13.99ID:dVQpfUDY
>>451
Qtの方が保守はよっぽど大変そうwww
2017/09/27(水) 17:18:41.19ID:qdOMIpVQ
>>451
VB6は超勝ち組じゃんw

むしろ早く.NETに移行をって口車にのって2002/2003の時代に
マイグレートした人の方が結果的に馬鹿を見てる
2017/09/27(水) 19:48:52.23ID:yGt55oct
>>451
デスクトップパソコンじゃ未だに天下たけどね。
Chrome Book, Mac, Linuxsoなんて少数派だし。
2017/09/27(水) 19:51:46.95ID:yGt55oct
>>454
Windiws10でvb6を切らな切ったのでvb6コンバージョンの仕事か舞い込んできた。あーーーーーーーーーーーーだりぃ。
2017/09/27(水) 20:16:57.06ID:htvdQyi4
>コロコロ使い捨てする安定しないベンダーのコードにあまり依存しないほうが良いんだろう

それが一番激しいのがWebフロントエンドの分野だよな。
みんなサーフィン大変そう。それが楽しいのかも知れんが。
2017/09/27(水) 20:25:10.85ID:m77m4D83
VB6 は充分もと取っただろ
って言うか取りすぎていまだに保守案件があったりするし
2017/09/27(水) 20:26:36.96ID:7dA/9JOQ
>>455
むしろそこが問題なんだよな
デスクトップを踏み台にしてあちこちに手を伸ばして
結局、割食ってるのは従来のデスクトップ
もはやデスクトップでは何しても天下は揺るがないから
不便でも何でも関係ない、どうせユーザーは逃げないから
我慢してもらおうっていう
Win8あたりからそんな感じ
電話ではもう失敗は完全に確定済みだけど
まだタブレットが残ってるから、しばらくはこんな調子だろう
2017/09/27(水) 20:45:27.31ID:7dA/9JOQ
タッチ入力とマウス入力ではあまりにも違いすぎるからUIの統合は無理なんじゃないかと
それはMSもわかってるんだろうけど、デスクトップの圧倒席なシェアを足掛かりにして
その延長でタブレットにも普及させたいっていう思惑があるから
どうしても割食うのはデスクトップになる
既になんだかよくわからないことになってるしな
2017/09/27(水) 21:12:38.64ID:ZtupZA39
タッチ云々はUWPの問題で、wpfは関係ないだろうに・・・・
wpfが出た当時はVistaでしょうが
2017/09/27(水) 21:18:22.54ID:at63bDoQ
タッチもマウスもキーボードもペンも大して違わないのにな。
2017/09/27(水) 21:41:10.80ID:ZtupZA39
結局WPFを使わない理由だけ並べて
勉強サボっているだけだね
2017/09/27(水) 22:25:03.32ID:hZX+opcA
マウス用UIをタッチで操作しにくいことはあるけど
タッチ用UIがマウスで操作しにくいと思ったことはあんまねえな
2017/09/27(水) 22:35:31.61ID:qdOMIpVQ
古典的な抵抗被膜時代のUIならそうだけど、
今時のフリックやスワイプやマルチタッチを多用するUIは厳しいよ
2017/09/28(木) 00:45:19.08ID:l/Bn4oS/
そもUWP以外でタッチ用UIをマウスで操作する機会があんま無いと思うが
ぶっちゃけコンテキストメニューさえ出せりゃどうとでもなるからな
マウスって元々可能な基本操作は少ないし
マウスUIをマウスで触るのに対してタッチUIをマウスで触ることによるストレスの差は小さいのだろ
2017/09/28(木) 00:59:13.38ID:P9C5t0EI
一応Windows 7 からOSがネイティブでタッチパネルに対応してるんで、
WPF4ぐらいからタッチ操作に対応してるんだけどね
2017/09/28(木) 04:52:42.94ID:6NDEsGcN
Webももう衰退するでしょ
今の一般人はPC持ってないんだぜ。
Webサイトの運営してみるとわかるけど、99.9%がスマホからのアクセス。
なら糞遅いWebじゃなくてネイティブアプリでいいじゃん。
2017/09/28(木) 06:33:38.97ID:sFm4HvMq
>>468
Webサイトの数の専用アプリを作るつもりか?
2017/09/28(木) 06:56:34.89ID:e11NXS9Q
>>464
脳みそにウジでも沸いてんだろ。
2017/09/28(木) 06:57:06.76ID:6NDEsGcN
そういう世の中になる。
googleで検索するのではなくてアプリを検索する時代。
2017/09/28(木) 11:08:38.97ID:rOj5x4Su
これからはUWPでしょ? UWPのスレが無いのが不思議。
2017/09/28(木) 11:18:00.87ID:R6l5jQyR
>>471
アプリ検索件数 約900,000,000件 (0.55秒)
とか出るわけ? いやズラ。
2017/09/28(木) 11:34:53.58ID:45VEntxR
>>472
Windows 10 UWPアプリ開発 Part 2 [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1499658092/

何故無いと思った?
2017/09/28(木) 16:45:54.67ID:6NDEsGcN
>>473
「PCの死」と「平等なウェブ世界の終焉」
https://wired.jp/2014/01/16/death-pc-also-mean-end-web/
2017/09/28(木) 17:39:42.44ID:EArNhFzf
>>471
自分の予想と全く逆なのが面白い
2017/09/28(木) 18:19:37.58ID:Ktm1uHRp
Webの衰退は全く考えられない
ブログ読むためだけにアプリ入れるとか面倒すぎてあり得ない
2017/09/28(木) 18:24:40.08ID:e11NXS9Q
2chブラウザとか便利すぎて否定とかありえない。
2017/09/28(木) 18:26:30.40ID:e11NXS9Q
スマホだとyoutubeもtwitterもgoogleマップも全部アプリだよな。
2017/09/28(木) 18:29:30.59ID:Ktm1uHRp
そのような反論は全く意味がない
専用アプリはヘビーユーザー用
2017/09/28(木) 18:33:05.09ID:e11NXS9Q
PCで発展したHTMLのUIとタッチUIでは壁があるんだよ。
2017/09/28(木) 18:34:03.10ID:Ktm1uHRp
あと、専用アプリはサイト間の移動がしにくい
専用アプリから別サイトのURL踏んだら
結局Webブラウザが立ち上がる
2017/09/28(木) 18:37:41.26ID:e11NXS9Q
おれのスマホは専用アプリかブラウザかを選ぶ画面が出てくるけど。
2017/09/28(木) 18:56:49.85ID:PVK4W6Fq
適材適所なんだよなぁ。
Webで統一は時期尚早。
2017/09/28(木) 19:16:03.22ID:65BjN5qm
>>479
twitterこそwebアプリの急先鋒なんだが
https://www.google.co.jp/amp/s/www.suzukikenichi.com/blog/twitter-lite-gets-1m-users-via-homescreen-icon-everyday/amp/
2017/09/28(木) 21:21:18.78ID:6NDEsGcN
アプリインストールの手間こそ減ってきてるんだよなあ
2017/09/28(木) 21:29:56.35ID:8uuR+Uu2
そうだHTML5でwebブラウザ作ろう
2017/09/29(金) 09:07:56.42ID:Gaq810Dx
JavaでOS作ろうみたいな話か。
2017/09/29(金) 14:18:47.52ID:4agIphwV
javascriptで.NetFrameworkとWPF実装すればいんじゃね
2017/09/29(金) 17:53:34.32ID:K1n6MHEs
なんでそんな面倒な個別対応しなきゃならないんだよ
x86-64のエミュレーター作って、とうか仮想マシン作って
Windowsインストールすりゃ全部いけるだろ
2017/09/29(金) 17:54:13.87ID:qTvKjlol
全部Silverlightで動かそう
2017/09/30(土) 08:00:00.67ID:MuRCkIMs
XML系技術は自由度と引き換えに保守性が低下したから技術が使い捨てになってるな。
2017/10/01(日) 15:30:07.05ID:HfTjSKDy
vb6しか使ったことのないオッサンを助けてください。

canvas1内に複数のタッチされた点があって、その一番右側にあるIDと、一番左側にあるIDを取ろうとして、
e.GetTouchPoint(Me.Canvas1).TouchDevice.Id
を、for nextで回そうと思ったんだけど、
そもそもIDの初期値が0で始まるワケでもなく、また終了地が初期値+その端末のマルチタッチの数によるって事で、
どうしていいのか、わかりません。

何かいい方法ありますでしょうか。
(そもそも考え方が間違ってるかも知れませんが〜)
2017/10/01(日) 15:42:37.20ID:YXjJncWi
いや、そもそもなんでマルチタッチのIDなんか区別する必要があるの?
何の意味もないだろ
2017/10/01(日) 16:35:49.49ID:+BZf6Z9D
for eachで回せば解決とかいうオチじゃ
496デフォルトの名無しさん
垢版 |
2017/10/01(日) 18:47:31.29ID:9SrqGqLT
やってないけど普通にタッチ中の点を管理したらいいだけじゃないかな?
辞書にタッチ中の点を記録して

時間の流れ
↓ ポイントAタッチダウン 辞書にAを追加

↓ ポイントBタッチダウン 辞書にBを追加

↓ ポイントAタッチアップ 辞書からAを削除

↓ ポイントCタッチ 辞書にCを追加

好きなタイミングで辞書のX座標を比べて右(最大)のと左(最小)のを出すだけ
2017/10/01(日) 21:43:22.38ID:HfTjSKDy
色々回答&ヒントありがとうございます。

>>497
TouchDownの瞬間でなく、TouchMoveで動かした後、その時点での一番右側にあるIDと、一番左側にあるIDを取りたいのです。
常に辞書というか、配列に入れ続けるしかないですかね。
2017/10/02(月) 09:20:00.15ID:KEGPGNC/
Manipulation系のイベントじゃだめなん?
2017/10/02(月) 10:06:30.35ID:/WGGQuOd
vb6最強!
msがwindows10で引導を渡さんからwindows10対応の仕事が舞い込んで来た。あーーだりぃ。
2017/10/06(金) 10:28:36.39ID:LT64/RfL
上にもあるけど不便な手動のノコギリやカンナを使い続けられる能力が羨ましい
若い時は我慢出来たけど年取ると楽な方へ流れるw
2017/10/06(金) 11:25:10.07ID:Pjx+vQ2Q
それを言い出したら究極的には出来合いのパッケージやノンプログラミングツールを使えという話になる
作る側と使う側が分化しつつあって、WPFのような中途半端なものは衰退していってるのが今時の流れ
2017/10/06(金) 13:22:16.67ID:HnZMHtBc
不便って電動ノコでノコギリの精度は出ないよ。たとえがアホすぎる。
アメリカの住宅レベル2x4作るなら構わんがノコギリ、カンナなしでは日本の家は立たん。
winformをノコギリやカンナに例えてるようだが逆だ。

面倒だが細かくカスタマイズできるWPFこそノコギリやカンナなのだ。
2017/10/06(金) 13:29:46.03ID:Sc8ZiJsi
>>502
電動ノコで手ノコの精度は出るぞ。どちらも使う人次第だ。
2017/10/06(金) 13:33:14.53ID:HnZMHtBc
絶対に出ない。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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