Windows Presentation Frameworkについて語るスレ。
前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
https://mevius.5ch.net/test/read.cgi/tech/1513175747/
関連スレ
Windows 10 UWPアプリ開発 Part 2
http://mevius.2ch.net/test/read.cgi/tech/1499658092/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
■ このスレッドは過去ログ倉庫に格納されています
2019/05/16(木) 07:52:32.39ID:8fOYIMEO
120デフォルトの名無しさん
2019/05/26(日) 19:50:11.76ID:KIe0CODm hoge{get;set;}
これの意味がわからないのですが、超絶シンプルな例ってないんでしょうか?
例えばテキストボックスコントロールのTEXTにhogeという変数をバインドして、
hogeにプログラムないでhoge="文字";などと代入する
その歳の仲介というイメージなのですが、具体的にどういう動きをするんでしょうか
プログラム内で"文字"をgetして、バインドされたhogeにsetする?なんて意味ですか?
これの意味がわからないのですが、超絶シンプルな例ってないんでしょうか?
例えばテキストボックスコントロールのTEXTにhogeという変数をバインドして、
hogeにプログラムないでhoge="文字";などと代入する
その歳の仲介というイメージなのですが、具体的にどういう動きをするんでしょうか
プログラム内で"文字"をgetして、バインドされたhogeにsetする?なんて意味ですか?
121デフォルトの名無しさん
2019/05/26(日) 19:50:57.04ID:KIe0CODm 要は通常はxamlからhogeの値は参照出来ない
それを許可するための宣言がgetということですかね?
それを許可するための宣言がgetということですかね?
122デフォルトの名無しさん
2019/05/26(日) 19:53:46.88ID:gL51xVlR ただのプロパティやろ
123デフォルトの名無しさん
2019/05/26(日) 19:54:23.45ID:K5jCBK8C124デフォルトの名無しさん
2019/05/26(日) 20:00:05.12ID:CXWnAd1n このレベルからWPFとか素人にハーフマラソン走らせるレベル
125デフォルトの名無しさん
2019/05/26(日) 20:15:28.64ID:7w4cgfO4126デフォルトの名無しさん
2019/05/26(日) 20:23:59.98ID:S2MuqUmA ID:P9kv6fd4の馬鹿か
127デフォルトの名無しさん
2019/05/26(日) 20:34:08.79ID:bvJijhhT 基礎からやろう?って何週間も前からいろんな人から散々言われているのにそういうアドバイスは一切無視して延々と質問続けるだけだからね
ツールは当然一生完成しないし技術は大してつかないで終わるよ
ツールは当然一生完成しないし技術は大してつかないで終わるよ
128デフォルトの名無しさん
2019/05/26(日) 22:17:35.93ID:lD8uie1v >>120
wpfはviewとviewmodelをdatacontextを介してやりとりするんや
例えばmainviewのdatacontextにmainviewmodelクラスを指定した場合、
mainviewmodelクラスのプロパティの値をバインディングすることでviewに表示することができる
c#でもJavaでもプロパティは外部への情報公開を目的としてるから
その意図をそのまま利用しとるだけ
大分ざっくりした説明だけれど、もし全く理解できないのなら前でも誰か言ってたけど、
windows formにするかコードビハインドに書くやり方でまずはやったほうがいい
JavaScriptにもMVVMの概念はあるからそっちから攻めるのもありかもしれない
wpfはviewとviewmodelをdatacontextを介してやりとりするんや
例えばmainviewのdatacontextにmainviewmodelクラスを指定した場合、
mainviewmodelクラスのプロパティの値をバインディングすることでviewに表示することができる
c#でもJavaでもプロパティは外部への情報公開を目的としてるから
その意図をそのまま利用しとるだけ
大分ざっくりした説明だけれど、もし全く理解できないのなら前でも誰か言ってたけど、
windows formにするかコードビハインドに書くやり方でまずはやったほうがいい
JavaScriptにもMVVMの概念はあるからそっちから攻めるのもありかもしれない
129デフォルトの名無しさん
2019/05/26(日) 22:20:05.47ID:lD8uie1v ごめん、Javaのプロパティのとこは無視してくれ
130デフォルトの名無しさん
2019/05/27(月) 07:42:24.34ID:35m6EZY7131デフォルトの名無しさん
2019/05/27(月) 11:51:22.51ID:JRCNDAml >>120
自動実装プロパティっていつ使うのって話ならWPFはほぼ関係ない
自動実装プロパティは.netの機能でWPFは.netの一部
というだけの話
これは基礎からやれって話なのか?だけど
今からならwindows formsは勉強しなくていいと言う人もいるし
実際しなくていいだろう
ただWPFの解説書に.netについての解説なんかないよね
1からやる場合こういう.netの知識が曖昧になっても不思議はないと思う
.netは追加機能も多いし巨大すぎる
自動実装プロパティっていつ使うのって話ならWPFはほぼ関係ない
自動実装プロパティは.netの機能でWPFは.netの一部
というだけの話
これは基礎からやれって話なのか?だけど
今からならwindows formsは勉強しなくていいと言う人もいるし
実際しなくていいだろう
ただWPFの解説書に.netについての解説なんかないよね
1からやる場合こういう.netの知識が曖昧になっても不思議はないと思う
.netは追加機能も多いし巨大すぎる
132デフォルトの名無しさん
2019/05/27(月) 18:13:11.10ID:g3rj1HTz > 今からならwindows formsは勉強しなくていいと言う人もいるし
> 実際しなくていいだろう
何を馬鹿なことを言ってるんだw
最近の初心者向け本では逆にwinformsしか説明してない
WPFなんて眼中にない
> 実際しなくていいだろう
何を馬鹿なことを言ってるんだw
最近の初心者向け本では逆にwinformsしか説明してない
WPFなんて眼中にない
133デフォルトの名無しさん
2019/05/27(月) 18:24:54.78ID:Y0xP1Rix134デフォルトの名無しさん
2019/05/27(月) 19:33:58.77ID:re6ifzAE で、ユニバーサルプラットフォームって
何と何と何があるのかな?
何と何と何があるのかな?
135デフォルトの名無しさん
2019/05/27(月) 21:13:35.13ID:rm61aUh5 UWPとWPFの区別がつかない人がドヤ顔でマウンティング
136デフォルトの名無しさん
2019/05/27(月) 21:27:11.21ID:llXnDosY 最近増えてきたガラスのような表現のフレームワークはWPFですか?
137デフォルトの名無しさん
2019/05/27(月) 21:30:57.15ID:LNS8v7+t いいえ
あれはUWPです
あれはUWPです
138デフォルトの名無しさん
2019/05/28(火) 19:02:40.16ID:ZZsS+Znm xaml islandが出てきて、UWPじゃないとできないという制約が
なくなってきたね。
なくなってきたね。
139デフォルトの名無しさん
2019/05/28(火) 19:15:12.49ID:az36SE/9 そんなのあんだ。
140デフォルトの名無しさん
2019/05/28(火) 19:38:30.31ID:MzojxIZT 逆に今後の新規開発や追加開発ではWPFもういらないってことなんだけどな
既存のWPF部分に手を入れざるを得ない場合を除き、常にWindows Runtimeで作る
それが今後のWPFアプリケーションの唯一の正しい作り方だ
既存のWPF部分に手を入れざるを得ない場合を除き、常にWindows Runtimeで作る
それが今後のWPFアプリケーションの唯一の正しい作り方だ
141デフォルトの名無しさん
2019/05/28(火) 20:56:00.72ID:5uVnslUx142デフォルトの名無しさん
2019/05/29(水) 01:24:16.83ID:l3SpZv82 >>141
さっぱりわからん
さっぱりわからん
143デフォルトの名無しさん
2019/05/29(水) 09:50:06.92ID:v46ep+GI144デフォルトの名無しさん
2019/05/29(水) 12:19:09.94ID:1hOUMMYr Double型をバインディングしたTextboxに小数点を入力するとエラーになり問題、Extended Wpf toolkitのDoubleUpDownをTextboxの代わりに使ったらあっさり解決...
今までわざわざstring型でバインディングして数値だけ入力制限したりあれこれしてたのが無駄だったわ
今までわざわざstring型でバインディングして数値だけ入力制限したりあれこれしてたのが無駄だったわ
145デフォルトの名無しさん
2019/06/01(土) 16:43:20.75ID:228VL8j4 Windows API Code Packというのは機能を拡張するものですか?
c#で使用できるんでしょうか?
c#で使用できるんでしょうか?
146デフォルトの名無しさん
2019/06/01(土) 17:32:12.45ID:Ai3idouJ できるよん
147デフォルトの名無しさん
2019/06/01(土) 19:39:51.72ID:228VL8j4 はい
148デフォルトの名無しさん
2019/06/02(日) 09:43:53.79ID:OPrZ2CcO Directory.GetFileSystemEntriesで画像を取得できますか?
149デフォルトの名無しさん
2019/06/02(日) 10:15:11.60ID:H0pYHCN3 ID:P9kv6fd4の馬鹿か
150デフォルトの名無しさん
2019/06/02(日) 10:25:53.31ID:OPrZ2CcO なんでそんなに攻撃的なんですか?
151デフォルトの名無しさん
2019/06/02(日) 10:36:47.06ID:VOFsXmY2 >>150
関数の仕様をリファレンスで調べてきて引数と戻り値と動作を読んで、それでも分からないことがあったらそこを具体的に質問すると丁寧に答えてもらえるぞ
関数の仕様をリファレンスで調べてきて引数と戻り値と動作を読んで、それでも分からないことがあったらそこを具体的に質問すると丁寧に答えてもらえるぞ
152デフォルトの名無しさん
2019/06/02(日) 10:59:47.73ID:bzcjxT5l wpf関係ないじゃん
何がC#でなにがwpfかもわかってないんでしょ
散々チュートリアルやろ?って忠告を無視して延々と同じような質問繰り返してりゃ答える側も馬鹿らしくなるよ
何がC#でなにがwpfかもわかってないんでしょ
散々チュートリアルやろ?って忠告を無視して延々と同じような質問繰り返してりゃ答える側も馬鹿らしくなるよ
153デフォルトの名無しさん
2019/06/02(日) 12:05:12.73ID:H0pYHCN3154デフォルトの名無しさん
2019/06/02(日) 21:42:55.58ID:1gGjmj25 画像ってのがサムネイルのことならWindows API Code Packで出来るんだが
もう少し自分で調べたほうが良いと思うよ
もう少し自分で調べたほうが良いと思うよ
155デフォルトの名無しさん
2019/06/02(日) 22:13:49.95ID:FzL8t6js Windows API Code PackはForkがいくつもあってどれを使えばいいのか分からないな。
ライセンスも元のMSのページが消えてて良く分からんし。
ライセンスも元のMSのページが消えてて良く分からんし。
156デフォルトの名無しさん
2019/06/02(日) 23:35:24.11ID:1gGjmj25 ただ、ファイルシステムをCodePack使わずにWin32API使うと面倒になるからな
言うほど大変なわけでもないが、独特な管理方法で面食らったわ
言うほど大変なわけでもないが、独特な管理方法で面食らったわ
157デフォルトの名無しさん
2019/06/03(月) 00:00:34.97ID:/fVOuCWc158デフォルトの名無しさん
2019/06/03(月) 15:10:33.38ID:kNKAj5df 社内業務用にpowershell+.NETで簡易GUIを表示するようなアプリケーションを作る場合、商用ライセンスとか必要なんでしょうか?
159デフォルトの名無しさん
2019/06/03(月) 16:58:31.60ID:L8VSMqPX いらんでしょ
160デフォルトの名無しさん
2019/06/03(月) 18:40:28.28ID:dutM1mQ+ どっちの意味だろう?
・(作成するアプリケーションの)商用ライセンス
・(VisualStudioの)商用ライセンス
よく主語が抜けてるとか言われてるけど
この場合、連体修飾語が抜けてるよね(今調べた)
・(作成するアプリケーションの)商用ライセンス
・(VisualStudioの)商用ライセンス
よく主語が抜けてるとか言われてるけど
この場合、連体修飾語が抜けてるよね(今調べた)
161デフォルトの名無しさん
2019/06/03(月) 18:46:53.35ID:oLmmsHsK 後者の意味にしか取れなかった、というか前者の意味がわからん
社内用に作ったアプリに商用ライセンスつけるか、って話?
社内用に作ったアプリに商用ライセンスつけるか、って話?
162デフォルトの名無しさん
2019/06/03(月) 18:50:14.74ID:Y6wyUKBm 社内配布でも基本的にはVSの開発者用ライセンス必要だし、
オープンソース使ってるならライセンス違反にならんように気をつけなあかん
自分個人だけで使うなら特にライセンス気にすることはないだろう
オープンソース使ってるならライセンス違反にならんように気をつけなあかん
自分個人だけで使うなら特にライセンス気にすることはないだろう
163デフォルトの名無しさん
2019/06/03(月) 18:55:21.90ID:dutM1mQ+ うん
前者なら上長に聞けと思った
後者について VisualStudio Community のライセンスを調べたところ、
オープンソースプロジェクトや学習・研究目的ならどんな企業も問題ないが、
相談のケースはクローズドソースと思うので、以下の条件になるはず
・一般企業なら5ユーザーまで
・大企業(250台PCを所有、または売上100万ドル)なら、使用不可
前者なら上長に聞けと思った
後者について VisualStudio Community のライセンスを調べたところ、
オープンソースプロジェクトや学習・研究目的ならどんな企業も問題ないが、
相談のケースはクローズドソースと思うので、以下の条件になるはず
・一般企業なら5ユーザーまで
・大企業(250台PCを所有、または売上100万ドル)なら、使用不可
164デフォルトの名無しさん
2019/06/03(月) 19:23:31.03ID:iKNLzo07 VS Express2015なら無料で使用できますね
あとVS Codeを使うことも可能だが、WPFを開発って結構苦行かもしれんね
あとVS Codeを使うことも可能だが、WPFを開発って結構苦行かもしれんね
165デフォルトの名無しさん
2019/06/03(月) 19:31:36.01ID:gHWgGxDB メモ帳とかでソース書いてWindowsにプリインストールのcsc.exeでコンパイルした場合はVSのライセンスっていらないのかな?
スレチだけど
スレチだけど
166デフォルトの名無しさん
2019/06/03(月) 19:43:46.22ID:kNKAj5df 質問の仕方が悪かったですね
すみません
テキストエディタでpowershellのコードを書き、その中で.NETのFormオブジェクト達を呼び出してGUIを作ります
そのときに、powershellや.NETの商用ライセンス的なものが必要なのか知りたかったです
よろしくお願いします
すみません
テキストエディタでpowershellのコードを書き、その中で.NETのFormオブジェクト達を呼び出してGUIを作ります
そのときに、powershellや.NETの商用ライセンス的なものが必要なのか知りたかったです
よろしくお願いします
167デフォルトの名無しさん
2019/06/03(月) 19:52:03.41ID:dutM1mQ+ まさかの第三
・(実行環境の)商用ライセンス
だった
・(実行環境の)商用ライセンス
だった
168デフォルトの名無しさん
2019/06/03(月) 21:22:12.30ID:51hU7+bN しかもWPFですらない可能性も出てきた
169デフォルトの名無しさん
2019/06/03(月) 22:12:25.81ID:D/nGT1NT OSSなんだしいらないんじゃね?(適当)
社内用ならそんなシビアに調査しなくていいんじゃね?って気もするけど超大手とかだとやっぱしっかりしらべるのかね?
超大手なら周りなり法務なりに聞けで済むか
社内用ならそんなシビアに調査しなくていいんじゃね?って気もするけど超大手とかだとやっぱしっかりしらべるのかね?
超大手なら周りなり法務なりに聞けで済むか
170デフォルトの名無しさん
2019/06/03(月) 22:30:23.86ID:/fVOuCWc >>163
小規模企業でも大企業からの委託案件だとNG
小規模企業でも大企業からの委託案件だとNG
171デフォルトの名無しさん
2019/06/04(火) 07:11:16.82ID:vCNf4oK2 >>170
「自社利用」な
「自社利用」な
172デフォルトの名無しさん
2019/06/04(火) 11:36:40.38ID:K/ci/E6x http://cointoss.hatenablog.com/entry/2017/02/21/121209
上を参考にexeにdllをマージしたのですが
Prism.dll、Prism.Unity.Wpf.dll、Prism.Wpf.dllは
exeのフォルダに置いていないと起動できません。
他のdllは削除しても起動できます。
なにか不足していることがあるのでしょうか?
上を参考にexeにdllをマージしたのですが
Prism.dll、Prism.Unity.Wpf.dll、Prism.Wpf.dllは
exeのフォルダに置いていないと起動できません。
他のdllは削除しても起動できます。
なにか不足していることがあるのでしょうか?
173デフォルトの名無しさん
2019/06/06(木) 03:11:15.75ID:Q2PRQ2hH >>166
不要
不要
174デフォルトの名無しさん
2019/06/12(水) 06:39:45.37ID:6mE/3wpu WPF技術者探しても一人も見つからないあるよ。保守できないあるよ。
175デフォルトの名無しさん
2019/06/12(水) 08:15:06.43ID:1sqooHn/ お前がメンテナになるんだよ
176デフォルトの名無しさん
2019/06/12(水) 08:57:44.10ID:gBdzPl5F 金出しゃいくらでも居るよ
技術者を安いおちんぎんでこき使わないで
技術者を安いおちんぎんでこき使わないで
177デフォルトの名無しさん
2019/06/12(水) 17:09:04.38ID:lPa5yFg1 技術者不足なのか足りてるのか分からん業界だ
178デフォルトの名無しさん
2019/06/13(木) 20:13:48.97ID:Qp/i0hmX core3いいじゃん
これで少し手直ししたらlinuxにwpfもっていけるってことなのかい
これで少し手直ししたらlinuxにwpfもっていけるってことなのかい
179デフォルトの名無しさん
2019/06/13(木) 20:59:16.46ID:vbUZdfMk 残念ながらWPFやWinFormsは.NET CoreでありながらWin限定
WPFは大部分がC++/CLIで書かれているしWindows APIに依存しまくってるから、
まずはそれを全てポータブルな形に再実装しなければならない
百人月クラスの壮大なプロジェクトだ
WPFは大部分がC++/CLIで書かれているしWindows APIに依存しまくってるから、
まずはそれを全てポータブルな形に再実装しなければならない
百人月クラスの壮大なプロジェクトだ
180デフォルトの名無しさん
2019/06/13(木) 21:15:12.81ID:sfQNEli4 100人月で済むならやりゃいいじゃん
壮大なプロジェクトって少なくとも1桁違うやろ
壮大なプロジェクトって少なくとも1桁違うやろ
>>180
一桁はおろか、二桁=1万人月くらいは必要じゃないかな…
一桁はおろか、二桁=1万人月くらいは必要じゃないかな…
182デフォルトの名無しさん
2019/06/13(木) 21:32:10.18ID:09qLCJE0 MS社員の100人月ならドカタのサグラダファミリアだな
183デフォルトの名無しさん
2019/06/13(木) 21:41:06.34ID:Br82W2pC そもそもポータブルなGUIに無理がある
swingの様になりたいのか
swingの様になりたいのか
184デフォルトの名無しさん
2019/06/13(木) 22:01:08.10ID:k5DFsQwe C++/CLIって久しぶりに聞きましたね
もう聞くことはないと思ってた
もう聞くことはないと思ってた
185デフォルトの名無しさん
2019/06/13(木) 23:20:07.43ID:sfQNEli4 そもそもWPFなんだからWindows限定でよくね?
186デフォルトの名無しさん
2019/06/13(木) 23:25:38.96ID:CND6SLBs WPFはフルスクラッチでUIを描画してるから、アーキテクチャ的にはむしろWin限定にするほうが不自然
187デフォルトの名無しさん
2019/06/14(金) 21:47:31.30ID:nRSl3ZvU188デフォルトの名無しさん
2019/06/15(土) 09:19:09.60ID:Ga3aXpPN Chromium+AspNetCore+Blazor
次世代の.NET系デスクトップフレームワークはこうなる
次世代の.NET系デスクトップフレームワークはこうなる
189デフォルトの名無しさん
2019/06/15(土) 09:27:21.19ID:6PSH/Imj 過剰なクライアントサイド志向に対する最近の揺り戻しのムードの中で、サーバーサイドBlazorだけならワンチャンあったかもね
Blazorを正式なプロダクトとして推していくと決めた時点で、クライアントBlazorは廃止してサーバーサイド一本にするべきだった
Blazorといえばwasmのオモチャというイメージを払拭できない限り普及はない
Blazorを正式なプロダクトとして推していくと決めた時点で、クライアントBlazorは廃止してサーバーサイド一本にするべきだった
Blazorといえばwasmのオモチャというイメージを払拭できない限り普及はない
190デフォルトの名無しさん
2019/06/15(土) 09:42:50.74ID:Ga3aXpPN SSRはもとはクライアントでしか動かないjsが鯖で動くすごいって技術
だからjs以外の言語だとSSRはなにも真新しさはない古典的な技術だ
なのでBlazorでサーバーサイドをやる意味はない(api、MVC、Pagesで十分)
クライアントで.NETを動かすことに意味がある
だからjs以外の言語だとSSRはなにも真新しさはない古典的な技術だ
なのでBlazorでサーバーサイドをやる意味はない(api、MVC、Pagesで十分)
クライアントで.NETを動かすことに意味がある
191デフォルトの名無しさん
2019/06/15(土) 09:49:12.97ID:p9QrGiGS Blectron的なやつのことを言いたい?
192デフォルトの名無しさん
2019/06/15(土) 10:13:25.41ID:Ga3aXpPN >>191
Blectronは知らないがElectronの.NET版という意味ならまさにそうだな
ググったらもうすでに同じ発想で取り組んでるOSSユーザーが少なからず居たから
もう暫くしたらBlazorでクロスプラットフォームデスクトップアプリが実用化するんじゃないかな
Blectronは知らないがElectronの.NET版という意味ならまさにそうだな
ググったらもうすでに同じ発想で取り組んでるOSSユーザーが少なからず居たから
もう暫くしたらBlazorでクロスプラットフォームデスクトップアプリが実用化するんじゃないかな
193デフォルトの名無しさん
2019/06/15(土) 10:33:45.61ID:p9QrGiGS >>192
Blectlonでググったかい?
Blectlonでググったかい?
194デフォルトの名無しさん
2019/06/15(土) 15:17:17.19ID:xT5QU/B2 新卒で入った会社(5年前)がWinFormだったな。今も多分そう。
今はWindows用のコード書くことがなくなってしまったが、
あれはあれで生産性高いと思うわ。業務アプリだとデザイン性いらないし
今はWindows用のコード書くことがなくなってしまったが、
あれはあれで生産性高いと思うわ。業務アプリだとデザイン性いらないし
195デフォルトの名無しさん
2019/06/15(土) 15:30:24.49ID:RNWBuCRz WPFも主ターゲットは業務向けだけど、日本のITドカタが業務システムと聞いてイメージするオーダーメイドなシステムとはだいぶ違う
米国では早くからシステムのパッケージ化が進んでいて、
パッケージベンダーにとっては一つ作れば多くの客に売れるから多くの開発リソースを投資してリッチなUIを作ることができる
そういう事情を踏まえて誕生したのがWPFなんだよ
日本でも近年は脱オーダーメイドが進みつつあるけど、既にリッチクライアントの時代が終わってSaaSになっちゃったからWPFの出番は来なかった
米国では早くからシステムのパッケージ化が進んでいて、
パッケージベンダーにとっては一つ作れば多くの客に売れるから多くの開発リソースを投資してリッチなUIを作ることができる
そういう事情を踏まえて誕生したのがWPFなんだよ
日本でも近年は脱オーダーメイドが進みつつあるけど、既にリッチクライアントの時代が終わってSaaSになっちゃったからWPFの出番は来なかった
196デフォルトの名無しさん
2019/06/15(土) 16:35:30.94ID:hWID9DJj 日本の業務アプリには御託並べるWPFプログラマは不要。
黙々と作業に徹するWinformコーダーが居ればよい。
黙々と作業に徹するWinformコーダーが居ればよい。
197デフォルトの名無しさん
2019/06/15(土) 17:08:33.15ID:RjknjEo7 業務にアクティブ要素、動的要素なんていらないからな。
コントロール全部並べてあって使えないところは無効化されてるだけでいい。
状況によって位置が変わるのをすげー嫌がる。操作ミスが増えるだけ。
コントロール全部並べてあって使えないところは無効化されてるだけでいい。
状況によって位置が変わるのをすげー嫌がる。操作ミスが増えるだけ。
198デフォルトの名無しさん
2019/06/16(日) 01:46:25.54ID:AXRRwyW/ バインドしてみたけど、まったくメリットが分からん...
http://marikooota.hatenablog.com/entry/2017/05/30/002059
とか、↓の方が簡単だと思う。
-- xsml --
<StackPanel>
<TextBox x:Name="tb1"/>
<Button Click="btn_Click">Count Up!</Button>
</StackPanel>
-- cs --
int count = 0;
private void btn_Click(object sender, RoutedEventArgs e)
{
count++;
tb1.Text = count.ToString();
}
誰か、バインドのメリットをアホな俺に教えて下さい...
http://marikooota.hatenablog.com/entry/2017/05/30/002059
とか、↓の方が簡単だと思う。
-- xsml --
<StackPanel>
<TextBox x:Name="tb1"/>
<Button Click="btn_Click">Count Up!</Button>
</StackPanel>
-- cs --
int count = 0;
private void btn_Click(object sender, RoutedEventArgs e)
{
count++;
tb1.Text = count.ToString();
}
誰か、バインドのメリットをアホな俺に教えて下さい...
199デフォルトの名無しさん
2019/06/16(日) 01:47:53.07ID:AXRRwyW/ >>198
空白文字消されるんですね; 読みにくくてすみません💦
空白文字消されるんですね; 読みにくくてすみません💦
200デフォルトの名無しさん
2019/06/16(日) 03:49:25.26ID:3DdY3936 バインドの最大なデメリットは天才と無職しか使いこなせないこと。
201デフォルトの名無しさん
2019/06/16(日) 09:03:33.98ID:muf2QdNo >>198
あなたの作りたいツールがボタン押したら
カウントアップするだけの機能だけでよいなら理解する必要はない
でもたいていはそのテキストボックスには外部ファイルを読み取ったり、
データベースからデータをとってきて、集計したり加工した値が入るはずだ
その時にはbtn_clickのコードは肥大化して容易に1,000行を超える
その時には関数に切り分けたりすることを覚えるだろう
さらに進んでいくと、画面を凝ったデザインにしたくなったりユーザーの入力値を検証したくなったりする
そうすると画面のデザインを少し変えただけなのに
うまく動かなくなったりコンパイルエラーを起こすようになってきた
そこで画面は画面だけにしたほうが改修がしやすかったり、
デザインの得意な人にそれを任せることができるようになってくる
システムは機能や役割ごとに適切に分離していたほうが将来的にメリットがあり、
バインディングはそれを実現する仕組みの一つだ
あなたの作りたいツールがボタン押したら
カウントアップするだけの機能だけでよいなら理解する必要はない
でもたいていはそのテキストボックスには外部ファイルを読み取ったり、
データベースからデータをとってきて、集計したり加工した値が入るはずだ
その時にはbtn_clickのコードは肥大化して容易に1,000行を超える
その時には関数に切り分けたりすることを覚えるだろう
さらに進んでいくと、画面を凝ったデザインにしたくなったりユーザーの入力値を検証したくなったりする
そうすると画面のデザインを少し変えただけなのに
うまく動かなくなったりコンパイルエラーを起こすようになってきた
そこで画面は画面だけにしたほうが改修がしやすかったり、
デザインの得意な人にそれを任せることができるようになってくる
システムは機能や役割ごとに適切に分離していたほうが将来的にメリットがあり、
バインディングはそれを実現する仕組みの一つだ
202デフォルトの名無しさん
2019/06/16(日) 10:07:34.99ID:X9An2SCt 三行で
203デフォルトの名無しさん
2019/06/16(日) 10:11:25.65ID:X9An2SCt バインディングは逆に手順が可視化されないのが弱点
よくわからないけど動いていればいいならバインディング
そこまでしっかり自分で制御したいなら通常のコードで
よくわからないけど動いていればいいならバインディング
そこまでしっかり自分で制御したいなら通常のコードで
204デフォルトの名無しさん
2019/06/16(日) 10:14:27.54ID:yX0oMZwq 手順の管理は量が増えると難しくなってスケールしないから
そもそも手順気にしなくていいように宣言的プログラミングしようぜってなったんだよ
ちっぽけなアプリ作るだけなら好きにすればいいさ
そもそも手順気にしなくていいように宣言的プログラミングしようぜってなったんだよ
ちっぽけなアプリ作るだけなら好きにすればいいさ
205デフォルトの名無しさん
2019/06/16(日) 10:14:39.65ID:9Kn5GUQ/ ドヤ顔したいならバインディング
206デフォルトの名無しさん
2019/06/16(日) 10:22:58.12ID:X9An2SCt バインディングにも弱点がある
相互関係で値が決まるときにその相互関係を結局人間が追わなくてはならない場合が出てくる
その時に非常にバグが取りにくい
それでFBはMVVMを捨てた
相互関係で値が決まるときにその相互関係を結局人間が追わなくてはならない場合が出てくる
その時に非常にバグが取りにくい
それでFBはMVVMを捨てた
207デフォルトの名無しさん
2019/06/16(日) 10:24:41.66ID:X9An2SCt スケールと言うけど小規模ならバインディングで対応可能だろうけど
それを超えるとまあ無理だろう
それを超えるとまあ無理だろう
208デフォルトの名無しさん
2019/06/16(日) 10:30:24.72ID:yX0oMZwq 手続き的だと非同期処理も非常に弱い
今の時代非同期が無いということはまずない
非同期処理ではやはり宣言的プログラミングが強い
手順すなわち処理の順番に依存すると非同期処理は急激に難しくなる
今の時代非同期が無いということはまずない
非同期処理ではやはり宣言的プログラミングが強い
手順すなわち処理の順番に依存すると非同期処理は急激に難しくなる
209デフォルトの名無しさん
2019/06/16(日) 10:33:01.62ID:X9An2SCt 従来型はスケールしないと言うけど世間の大規模プロジェクトはほぼ100%
従来型(手続き型)で作られているだろう
手続きが書いてあればツールと人手を使えば解消のめどはつく
宣言的な組み合わせの場合はロジックをすべて脳に入れて考えなくてはならないので
大きくなればなるほど人間が追いつかないと思う
逆にバインディングで大規模プロジェクトが今現在も使われているとは思えない
従来型(手続き型)で作られているだろう
手続きが書いてあればツールと人手を使えば解消のめどはつく
宣言的な組み合わせの場合はロジックをすべて脳に入れて考えなくてはならないので
大きくなればなるほど人間が追いつかないと思う
逆にバインディングで大規模プロジェクトが今現在も使われているとは思えない
210デフォルトの名無しさん
2019/06/16(日) 10:34:56.59ID:X9An2SCt 人間が追い切れない場合は実行してデバッグしかないけど
それがまたバインディングの場合はやりにくい
それがまたバインディングの場合はやりにくい
211デフォルトの名無しさん
2019/06/16(日) 10:36:05.79ID:yX0oMZwq >>209
スケールしないのを金と人数に物を言わせて無理やり作った
それが従来型の大規模開発だな
スケールはしてないんだよ無理してるだけで
脳に入れなきゃいけないことが多いのは手続き的なほう
なぜなら手続==処理の順番に結果が依存するから
長い処理を扱うときに最初から最後まで手順を頭に入れてなければいけない
スケールしないのを金と人数に物を言わせて無理やり作った
それが従来型の大規模開発だな
スケールはしてないんだよ無理してるだけで
脳に入れなきゃいけないことが多いのは手続き的なほう
なぜなら手続==処理の順番に結果が依存するから
長い処理を扱うときに最初から最後まで手順を頭に入れてなければいけない
212デフォルトの名無しさん
2019/06/16(日) 11:36:30.06ID:0yrhG5qH 画面単位で独立したロジックを記述してDBのみ共有する従来のスタイルなら余裕でスケールするよ
WPFは頭のいいアーキテクトがトップダウンでスマートな設計をするスタイルには適している
MSのプロダクトは基本そうやって作られている
一方、従来のバカでもスケールするスタイルで作ろうとするとWPFはフリーダムすぎて無茶苦茶になる
WPFは頭のいいアーキテクトがトップダウンでスマートな設計をするスタイルには適している
MSのプロダクトは基本そうやって作られている
一方、従来のバカでもスケールするスタイルで作ろうとするとWPFはフリーダムすぎて無茶苦茶になる
213デフォルトの名無しさん
2019/06/16(日) 12:48:19.67ID:BOJP8Jll そういうけどできてから10年以上立つけど
そんなに大規模のプロジェクトでWPFが使われてるような形跡がない
webでもMVVMは中規模から小規模向けで大きくなると使い物にならないという評価
そんなに大規模のプロジェクトでWPFが使われてるような形跡がない
webでもMVVMは中規模から小規模向けで大きくなると使い物にならないという評価
214デフォルトの名無しさん
2019/06/16(日) 12:56:44.07ID:35twkBI3 >>213
っVisual Studio
っVisual Studio
215デフォルトの名無しさん
2019/06/16(日) 12:59:52.96ID:6qqET37p 大規模で使い物にならなくなるのは、学習できない月収14万円のコーダーばっか集めてるからやろ
216デフォルトの名無しさん
2019/06/16(日) 13:00:12.87ID:Fx7TO0Mh 大規模な画面アプリなんてあんの?
普通サブシステム単位とかで実装別れると思うけど
普通サブシステム単位とかで実装別れると思うけど
217デフォルトの名無しさん
2019/06/16(日) 13:32:34.96ID:yX0oMZwq218デフォルトの名無しさん
2019/06/16(日) 14:00:08.42ID:uPzprWkd >>216
サブシステムで数百画面とかのシステムもありますので…
サブシステムで数百画面とかのシステムもありますので…
219デフォルトの名無しさん
2019/06/16(日) 14:11:05.99ID:UANb65jp DBとはバインドするのは良くて、画面とのバインドは良くないという論調?
大規模な画面改修を想定しない限り、画面要素のバインドは良い事無いと思う。
作り変えるのが前提のプロトタイプならメリット有るだろうね。
レジに支払い方法追加するみたいに、旧来のロジックはそのままでレイアウトが変わるならバインディングも有効だろうね。
大規模な画面改修を想定しない限り、画面要素のバインドは良い事無いと思う。
作り変えるのが前提のプロトタイプならメリット有るだろうね。
レジに支払い方法追加するみたいに、旧来のロジックはそのままでレイアウトが変わるならバインディングも有効だろうね。
220デフォルトの名無しさん
2019/06/16(日) 16:05:42.44ID:X8m3/+hI >>219
one-way binding(射影)なら良いと思う。
個人的には当初MVVMの利点と言われていた「View(UI)のすげ替えが楽」なんてのは幻想で、
「自動テストが書きやすい(手動によるE2Eテストを減らせる)」というほうに重きをおくべきだと。
one-way binding(射影)なら良いと思う。
個人的には当初MVVMの利点と言われていた「View(UI)のすげ替えが楽」なんてのは幻想で、
「自動テストが書きやすい(手動によるE2Eテストを減らせる)」というほうに重きをおくべきだと。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★6 [樽悶★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★7 [樽悶★]
- 【速報】公然わいせつの疑いで逮捕・送検・略式起訴のAぇ! group 草間リチャード敬太メンバー 脱退を発表 「心の病の療養」に専念 [Ailuropoda melanoleuca★]
- 小野田紀美 経済安保相「悪いことをする外国人、日本にいない状況つくる」 [Hitzeschleier★]
- 中国国際航空が日本便を減便へ、春節休みも SNSでは投稿相次ぐ [七波羅探題★]
- 【🐼🇨🇳】「高市総理VS中国」で日本からパンダはゼロに? 上野動物園「パンダ返還期限」まであと4カ月…★2 [BFU★]
- 【実況】博衣こよりのえちえち声遊楽プロジェクト 共同研究第三弾🧪
- 高市早苗が恐ろしいのは「起こらなくて良かったはずの事態を引き起こしてる」ってところだよな? [592058334]
- 【悲報】立憲岡田「間違った答弁をした高市総理に問題がある」→愛国者ブチギレ炎上 [834922174]
- 珍🏡珍
- 小野田紀美大臣「悪いことをする外国人は日本にいない状況をつくる」 [856698234]
- 【速報】アメリカ「高市総理を支持する。中国の威圧は許せない」 [931948549]
