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

1デフォルトの名無しさん2017-05-09 09:09:14

Windows Presentation Frameworkについて語るスレ。

前スレ

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

hhttp://echo.2ch.net/test/read.cgi/tech/1458082648/

関連スレ

Windows 10 UWPアプリ開発

hhttp://echo.2ch.net/test/read.cgi/tech/1440150886/

コードを貼る場合は以下のサイトの利用をお勧め。

run codeのチェックは外しておきましょう。

hhttp://ideone.com/

31デフォルトの名無しさん2017-05-20 13:25:14

むしろアセンブラの知識がいらないという発想が全く理解できない。

たぶんキミはPGに向いてない。

61デフォルトの名無しさん2017-05-22 22:40:32

50に設計を依頼したくないな

65デフォルトの名無しさん2017-05-23 08:24:09

どうでもいいけどD-RWMって何を考えてこういうことになるんだろかね。

ROMがRead Only Memoryだから

RAMはRead Writeとかトンデモ理論なの?

Aはなんだと思ってたのかね。

Random Access Memoryなのに。

69デフォルトの名無しさん2017-05-23 18:41:38

>>65

バカは書き込まなくていいぞ w

150デフォルトの名無しさん2017-07-07 09:10:58

UWPは業務向けアプリを作るのにちょっと都合が悪いんだよなぁ・・・

今更WinFormsに戻れってか

153デフォルトの名無しさん2017-07-07 10:46:45

>>150が言ってることが全てを物語ってると思うが、ストアで儲けたいけどタッチ対応出来てWin7でも動く、業務アプリ作るのに制限が無いWPFがUWPにとって邪魔ものなんだろ。

175デフォルトの名無しさん2017-08-09 19:59:55

Windows10でVS2017を使ってWPFを勉強し始めたんだけど、WPFって何かを設定しないとHighDPI認識してくれないの?

検索してdpiAwareをマニフェストに追加してみたりしたけど文字がボケボケになる

どこを設定すれば良いのか教えて欲しい

181デフォルトの名無しさん2017-08-10 03:51:52

>>175

Windows10で文字がボケボケになるのを直すだけなら、dpiAwarenessをSystemに

182デフォルトの名無しさん2017-08-10 20:09:13

>>178

>>181

おお、できた!

dpiAware「ness」かー。

そこまで探せなかった。

ありがとう、助かったよ!

184デフォルトの名無しさん2017-08-13 23:34:18

xamarinはwindows10アプリケーションのみ開発するのには向きますか?

185デフォルトの名無しさん2017-08-14 00:46:30

>>184

スレチ

Xamarin Part5 ©2ch.net

hhttp://mevius.2ch.net/test/read.cgi/tech/1498575762/l50

186デフォルトの名無しさん2017-08-14 01:18:30

>>185

すみません。誘導ありがとうございます。

xamarinとwpfの違いがいまいちわからずにここで聞いてしまいました。

187デフォルトの名無しさん2017-08-14 02:00:53

>>186

ゴミめ

202デフォルトの名無しさん2017-08-25 05:39:30

神に祈る

203デフォルトの名無しさん2017-08-25 21:09:40

>>202

どの神?

アッラー、エホバ、ヤハウェ、ビラコチャ、ケツァルコアトル、アメン、フレイア、天照大神、疫病神?

206デフォルトの名無しさん2017-08-26 00:11:59

>>203

つ >>187

207デフォルトの名無しさん2017-08-26 07:16:27

>>206

ちょまど神を信仰せよと?

ぐぐったらほんまもんの女神様ではないですか。信仰します。

335デフォルトの名無しさん2017-09-19 23:36:43

リボンはノーコメ

「設定」に代表されるなんちゃってフラットデザイン採用した奴は

死んで生き返ってもう一回死ね

363デフォルトの名無しさん2017-09-20 17:25:08

過去ログ見てみたらこんなレスが

921 名前:デフォルトの名無しさん[] 投稿日:2014/08/23(土) 15:42:12.35 ID:qd6ZCp8I

HTML5がくるっていってどのぐらいかね。

開発者的にはHTML5で作るメリットは何もないし、いろんなとこで動かせるメリットはあっても結局パフォーマンスとかデバイス・プラットフォームに最適化出来ないとかでネイティブに対する需要は亡くならんよ。しばらくは。

921 名前:デフォルトの名無しさん[] 投稿日:2014/08/23(土) 15:42:12.35 ID:qd6ZCp8I

HTML5がくるっていってどのぐらいかね。

開発者的にはHTML5で作るメリットは何もないし、いろんなとこで動かせるメリットはあっても結局パフォーマンスとかデバイス・プラットフォームに最適化出来ないとかでネイティブに対する需要は亡くならんよ。しばらくは。

924 名前:デフォルトの名無しさん[sage] 投稿日:2014/08/23(土) 21:54:13.82 ID:jO0zpBoJ

むしろWebというかHTML5に過剰な期待を持ってる人の方が2周遅れでしょ。

認識が5年はずれてるよ。

928 名前:デフォルトの名無しさん[sage] 投稿日:2014/08/23(土) 23:43:29.58 ID:hPpI01dm [2/2]

>>925

そうだね。5年後に答え合わせしようね。

370デフォルトの名無しさん2017-09-20 17:54:38

>>363

唐突に何?w

正直web系の技術の現状とか全然追えてないからよく分からんが、

HTML5が普及し始めた頃、どこぞのITの社長さんが「HTML5も結局互換性問題がカオスで

使い物にならねえ」って書いてた通りになってるんじゃないの?

367デフォルトの名無しさん2017-09-20 17:35:52

HTML5を嫌がる人への文句の前に

いつまで経っても協調せず、ブラウザ間の動作の違いを無くそうともしないWebブラウザベンダに文句を言ってくれ

373デフォルトの名無しさん2017-09-20 21:00:50

このスレでもまだ時代がとまってるらしい

>>367

>>370

実質Chromeが標準ブラウザだから

それ以外はほとんど対応しなくていい

374デフォルトの名無しさん2017-09-20 21:15:04

>>373

Chromeはファンも多いがアンチも多いよ。

俺は大嫌い。あのUIのすべてが気に入らない。

ここ見ると多めに見積もってせいぜい4割ってところだろうね。

hhttps://webrage.jp/techblog/pc_browser_share/

実際はもっと少ないんじゃないかと思うが…

いつも思うけど、web系の人ってドリーマーというか思い込みが激しいというか

自己陶酔系というか、およそエンジニアっぽくない人が多いよねw

375デフォルトの名無しさん2017-09-20 21:36:12

>>374

計算できないのか?

世界でChrome以外のブラウザかき集めても2〜3割りでそれ以外Chromeって事だろ

379デフォルトの名無しさん2017-09-20 21:49:28

>>375

何でそう喧嘩腰かねw

言ってる傍からドリーマーだけど、どこをどう計算してもそんな結果にならんよw

そもそも集計方法が分からないが、この手の集計は「意識高い系」バイアスを疑うのが常識。

少なくとも日本に限れば、わざわざChrome使うような意識高い系(パソヲタともいう)がそんなに多いとおもえない。

381デフォルトの名無しさん2017-09-20 22:11:43

>>379

偏見(バイアス)にまみれてるのは君だろw

今はweb見るのは大体スマホがメイン

androidのメインブラウザはChrome

ほとんどの人はChromeを普通に使ってる

Chrome 普通の人

FireFox パソオタ

IE Edge 情報弱者

382デフォルトの名無しさん2017-09-20 22:14:53

>>381

>>374の集計はPCだけ。

今時メインはスマホだというのは一理はあるが正しくない。

それはwebページの種類次第でしょう。

本当、エンジニアっぽくない思考回路のお方だね。

388デフォルトの名無しさん2017-09-22 09:54:18

リボンは言っても10年前に登場したUI。新しいハンバーガーメニューやアプリケーションバーのように

普段は説明文を隠してワンタッチで見られるUIについての議論とか無いのかな?

389デフォルトの名無しさん2017-09-22 18:00:24

>>388

それ新しいかね?

そんなUI初代macの」時代からあった気がするんだけど

392デフォルトの名無しさん2017-09-22 19:38:57

>>389

漢字Talkにそんなもんあったっけ?

396デフォルトの名無しさん2017-09-23 10:13:24

冗長と言っても単に記述が長いだけじゃね?

補完は十分に効くし、人が触るものじゃないFormsよりははるかにましになったと思うが。

399デフォルトの名無しさん2017-09-24 17:00:16

日本の会社の業務系アプリ開発で食わしてもらっているが、

あと30年ぐらいはWindows Formsのままだと思うな。

ころころ道具が変わるより、同じカンナとかナズチで仕事をする方が

効率は良いに決まってるし。

402デフォルトの名無しさん2017-09-24 17:26:00

>>399

これが日本の現実か、クソだな

407デフォルトの名無しさん2017-09-24 19:35:03

>>399

電動カンナとネイルガンの方が効率が良いだろ。

それより、ちゃんとカンナ掛けした部材を買って使った方が早いぞ。

410デフォルトの名無しさん2017-09-24 22:31:58

>>402

クソかなあ? だってユーザーの欲しいのものは、入力しやすいユーザー インター

フェースと、データを一覧で表示することと、Excelに出力することだけだよ。

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

ブラウザーを使うWebアプリは遅いし、操作性が悪いから誰も喜ばないし。

411デフォルトの名無しさん2017-09-24 22:39:47

>>407

カンナがけした具材という点で、Windows Formsのコントロールは完成されている。

もちろん標準コントロールでは貧弱な部分もあるが。様々な有料具材があるので

それを買ってくれば良い。

WPFはXAMLでアニメーションが簡単にできたのは感動したけれど、業務アプリ

で毎回画面が動くのは、目が疲れてウザいだけだった。

417デフォルトの名無しさん2017-09-24 23:49:55

>>410

逆に考えるとwindows formsで十分なデーター入力や閲覧がメインの業務アプリなんて、wpfの標準コントロールで十分で、mvvmやデーターバインディングを用いて綺麗すっきりに業務アプリつくれる。

416デフォルトの名無しさん2017-09-24 23:18:21

>>411

葡萄市か何かの具材を買うといざ修正しようとすると

ライセンスの管理が悪くて見つからなかったり大変だわさ。

419デフォルトの名無しさん2017-09-24 23:51:38

>>417

MVVM何それってアホなんだよ

453デフォルトの名無しさん2017-09-27 16:51:09

昔みたいにMSの天下ってわけじゃないから

これから先もずっと下手な手を打っては下火になったら放置プレーして

また新しいの出しての繰り返しだよ

完璧にMSの商売の都合でやってることだから・・・

負けたら次のを出すしか払拭できないからね

保守も大変だからQtとかに乗り換えるか

いっそのことWin32API+独自UIコンポーネントの方が後々楽そう

コロコロ使い捨てする安定しないベンダーのコードにあまり依存しないほうが良いんだろう

C++/CLIとかで書いちゃった人かわいそう

456デフォルトの名無しさん2017-09-27 17:18:41

>>453

VB6は超勝ち組じゃんw

むしろ早く.NETに移行をって口車にのって2002/2003の時代に

マイグレートした人の方が結果的に馬鹿を見てる

458デフォルトの名無しさん2017-09-27 19:51:47

>>456

Windiws10でvb6を切らな切ったのでvb6コンバージョンの仕事か舞い込んできた。あーーーーーーーーーーーーだりぃ。

543デフォルトの名無しさん2017-10-09 22:49:01

UWPコケたらMSはどうするんだろう。

551デフォルトの名無しさん2017-10-10 06:44:06

>>543

すでにコケてますけど。

業務アプリの開発が簡単にできるように変えないと終わる。

552デフォルトの名無しさん2017-10-10 07:32:46

>>551

Oracle使えないのとDataGridを他から買う程度しか問題ないと思うが

他にどのような問題有るの?

560デフォルトの名無しさん2017-10-10 09:20:45

>>552

データベースに直接接続出来るようになったの?

566デフォルトの名無しさん2017-10-10 10:37:42

まーた始まったw

ずいぶん前に一番「成功」しているwebメールでも

デスクトップのメールアプリを代替できないのはなぜかと書いたけど、

カンがいい人ならこの一事からいろ敷衍して考えるけど自分の頭で考えずに

たまたま自分が浸ってる周囲の空気に寄っちゃう人は何言ってもダメだねほんとw

567デフォルトの名無しさん2017-10-10 10:45:17

>>566

メールはとっくに代替してるでしょ

企業のメールもGmail多いよ?

周りを見てみ

572デフォルトの名無しさん2017-10-10 11:12:13

>>567

企業はGmail禁止の所が多くないか。

573デフォルトの名無しさん2017-10-10 11:14:15

>>572

法人向けのGmail契約あるの知らないの?

今時それはさすがに本職かどうか疑われても仕方ないレベルだぞ

575デフォルトの名無しさん2017-10-10 11:33:11

>>573

知らんかったw

ISMS認証とかは無理なんだろうな。

576デフォルトの名無しさん2017-10-10 11:40:19

>>575

あほ

hhttp://www.itmedia.co.jp/news/spv/1205/29/news023.html

577デフォルトの名無しさん2017-10-10 11:49:41

>>576

首吊った方が良い(^o^;

587デフォルトの名無しさん2017-10-10 18:08:03

VB6の業務システムをWeb化したけど

使ってる職員の人に泣きながら「元に戻してください」って言われたわ。

593デフォルトの名無しさん2017-10-10 19:40:18

>>587

vb6の業務システムを泣きながらWindows10対応している俺の立場は。

なーんもしなくてもそのまま問題なく動いてるっぽい(ーー;)

601デフォルトの名無しさん2017-10-11 03:31:53

>>593

掘”った栗

607デフォルトの名無しさん2017-10-11 14:15:19

>>601

ぼっても割に合わん。

動作不良じゃなく元々のバグがかなりあるOrz

当時のブビプログラマーのレベルはこんなもんだがw

611デフォルトの名無しさん2017-10-11 19:44:00

mvvmやxaml,データーバインディングは作りたいアプリがあったので作りながら覚えれたけど、次のステップとしてリアクティブプログラミングやろうとしたがリアクティブはかなり敷居高そうだな

615デフォルトの名無しさん2017-10-11 20:14:17

>>611

ReactiveProperty/ReactiveCommandの話なら、すごく楽だよ。

逆に今までの苦労は何だったのかと思うほど。

626デフォルトの名無しさん2017-10-15 10:50:00

>>615

それは、ある程度使えるようになってからだろ?

その前段階の覚える段階の敷居が(目標がないと)高いって意味じゃね?

617デフォルトの名無しさん2017-10-11 21:11:59

遅いらしいし、コントロール揃ってないし、なんかめんどくさそうだし、将来WPFが

主流になるんだったら覚えてもいいけど、まあもうちょっと枯れてからでいいやと

思い続けてとうとう今日に至る

618デフォルトの名無しさん2017-10-11 21:19:31

>>617

10年経っでるのに枯れてないとな。

627デフォルトの名無しさん2017-10-15 11:14:03

>>626

prismなんかで組んでいるようだから、2,30分も有れば基本的なことは出来るよ

635デフォルトの名無しさん2017-11-02 10:50:49

prism.UnityとかAutofac等のDIコンテナ使うとMVVMの理解は深まるけど

DIコンテナの理解を深めないといけないという自転車操業

650デフォルトの名無しさん2017-11-05 23:23:34

データコンテキストってなんなの…

全然使い方がわからない…

WPFほんと難しい…自分の頭の悪さに引くわ…

655デフォルトの名無しさん2017-11-06 01:08:49

>>650

すごく単純に言えば、バインディングに使用する複数の変数を任意の1つのオブジェクト(クラス)にまとめておくだけの機能だよ。

(各変数はそれぞれプロパティとして定義する)

660デフォルトの名無しさん2017-11-06 18:15:35

>>650

難しいのは考え方だろうね

データコンテキストが難しいと感じるなら、根本的に発想の転換が必要なんだと思う

657デフォルトの名無しさん2017-11-06 13:12:40

>>655

んー…分からん…

色んなサイト見ても全部微妙に違ってどれを参考にしたら良いかもわからん

MVVMだとどの部分に書くんだ?

659デフォルトの名無しさん2017-11-06 13:55:12

>>657

Contextって名前が曖昧すぎる。

DataHogeと同じで名前に意味はない。

DataContextにはViewModelのインスタンスを設定してDataCintext=ViewModelだと思ってればよいのだ。

658デフォルトの名無しさん2017-11-06 13:38:44

んー…なんというか…。書くとか書かないとかというか、、データソースなんだよ

663デフォルトの名無しさん2017-11-06 22:42:59

>>658

>>659

>>660

せっかく説明してくれてるのに理解出来なくてごめんよ…

元々プログラミング始めたばかりの自分にはハードル高いよな…

this.DataContext=table;

とかだとXAMLにBinding tableって指定してる所と紐づけるって解釈で良いのかな?

MVVMでアプリを作ってみてるんだけど、C#の言語自体の理解もまだまだだからすげぇ難しい…

this.DataContext=table;←これもModelクラスに書くべきなのかViewModelに書くのかよく分かってない

View→ViewModel→Modelって関係になっててV,VMとMは切り離して考えるのは分かるんだけど、例えばModelクラスに書いてる処理(例えばデータベースの値をDataGridに表示させるとか)をどうやってViewModelから取得したらいいの?

プロパティとか使うの?

664デフォルトの名無しさん2017-11-06 23:48:48

>>663

それは Xamlには Binding だけでいい

667デフォルトの名無しさん2017-11-07 01:05:32

>>663

細かいことは省略した大雑把な例だけど、

class Table

{

int A { set; get; }

int B { set; get; }

}

this.DataContext=new Table();

と設定しておくと、{Binding Path=A}とか{Binding Path=B}って書けるようになる。("Path="は省略可)

669デフォルトの名無しさん2017-11-07 06:48:37

>>663

ビューモデルとデータコンテキストの紐付けはxamlの中に記述する。

xamlはhtml見たいな画面記述言語じゃなくてc#(.net)のインスタンスを記述する言語。

671デフォルトの名無しさん2017-11-07 09:12:13

>>669

>xamlはhtml見たいな画面記述言語じゃなくてc#(.net)のインスタンスを記述する言語。

それXAML一般じゃなくてWPF限定だから気をつけた方がいいよ

UWPやSilverlightでは.NETオブジェクトはアンマネージドなXAML DOMのラッパー

だからC#でツリー組むよりXAMLをテキストで読ませたほうが速かったりする

672デフォルトの名無しさん2017-11-07 09:22:11

>>671

そうなの?

じゃ、UWPのxamlとWPFのではかなり別もんなのか

690デフォルトの名無しさん2017-11-07 21:28:27

>悩まされる

悩まなくね?

ボタンのラベルを他から参照する事が無い、次の画面に持ち越さずその場限りの使い捨てで良いならコードビハインド

692デフォルトの名無しさん2017-11-07 22:53:53

>>690

>ボタンのラベルを他から参照する事が無い、次の画面に持ち越さずその場限りの使い捨てで良いならコードビハインド

そう。悩まないんだ!すごいねー。それで可搬性のあるコードになるんだー(棒

みんなそうなるといいねー。すてきー(呆

766デフォルトの名無しさん2017-11-14 19:44:59

ちょまど神は、可愛くて漫画がプロ並みでプログラミングも出来るがオタクだな。

中川しよう子と同じ香りがする

767デフォルトの名無しさん2017-11-14 20:53:34

>>766

いつも思うけど、公人でもプライバシー売ってる芸能人でもない一般人に粘着する奴って

ストーカーと同じ。気色悪いわ。他人の前に自分自身をよく見てみろ。

自分で自分をおかしいと思わないなら、あんた人間として壊れてるよマジで。

言っても無駄だと思うけど。

768デフォルトの名無しさん2017-11-14 21:17:09

>>767

なんでオレに言う。

別嬪さんは全部好きだが彼女に特別興味があるわけではない。

784デフォルトの名無しさん2017-11-20 20:19:45

一番かんたんなのはICommadを実装したクラスを用意する

だがコマンド毎にクラスとか毎回手間すぎて禿げるので

DelegateCommandやRelayCommandを作るか作ってあるものを利用する

これはMVVMフレームワークごとに呼び方が違うだけでやりたいことは一緒

hhttps://ideone.com/D0rrm7

788デフォルトの名無しさん2017-11-20 23:01:16

>>784

わざわざ作って頂いて本当にありがとうございます

質問なのですが

class ViewModel

{

FooModel fooModel = new FooModel();

public ICommand testbutton { get; set; }

public ViewModel()

{

testbutton = new TestButtonCommand { model = fooModel };

}

}

以下の行はどういう意味なのでしょうか?

testbutton = new TestButtonCommand { model = fooModel };

また

class TestButtonCommand : ICommand

{

public event EventHandler CanExecuteChanged;

public bool CanExecute(object parameter) => true; // ←ここをfalseにするとボタン押せないのを確認する

public void Execute(object parameter)

{

model.test();

}

ボタンを押した際に特に何も指定していない以下の部分がボタンの状態を確認しているのでしょうか?

自分の頭が悪過ぎるのもありますがやっぱり難しいです…

public bool CanExecute(object parameter) => true

789デフォルトの名無しさん2017-11-21 00:15:42

>>788

ボタンはコマンドのCanExecuteの戻り値を見てボタンの実行の可否を判断してる

当然ながら状態変わったと通知しないと変更されても気づかない

というか普通にググって順番に見て言って ” 勉強 ”してからわからないことを聞いたほうがいいよ

入門者の数だけみんなレスしないといけない

ここはそんな場所じゃない

831デフォルトの名無しさん2017-11-24 03:41:09

PCでアプリ作るならこれで作れ、というものを作らないとな。

WPFの分かりやすいやつというかUWPの制限緩いやつというか。

今のMicrosoftはまったくビジョンがない。

834デフォルトの名無しさん2017-11-24 11:46:49

>>831

ビジョンはあるでしょ

・業務アプリはWebへ完全移行

・ネイティブアプリはコンシューマ向けのWebサービスのクライアントだけが残るので、それに特化したシンプルなプラットフォーム(UWP)があればよい

835デフォルトの名無しさん2017-11-24 11:57:45

>>834

あなたのビジョンでしょw

Microsoftは何も言っていない。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする