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

レス数が950を超えています。1000を超えると書き込みができなくなります。
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/12/07(木) 12:11:22.31ID:W1xQHq7p
>>850
コントロールテンプレートじゃなかろうか
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border Background="{TemplateBinding Background}">
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Red" />
<Setter Property="FontSize" Value="15" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red" />
<Setter Property="FontSize" Value="15" />
</Trigger>
</Style.Triggers>
</Style>
852デフォルトの名無しさん
垢版 |
2017/12/07(木) 13:40:41.72ID:vSHyWsbi
>>851
回答ありがとうございます。
おっしゃる通りコントロールテンプレートでした。

ttps://blog.jsinh.in/change-background-color-of-selected-listboxitem-listbox-in-wpf/#.WijFpEpl-Ul

上記のページを参照したらクリックの挙動もうまくできました。
2017/12/07(木) 15:44:08.93ID:IRuA+lX8
これからWPFを勉強しようと思うんだけど、どうやって学習すればいいの?

なんか情報がめっちゃ少ないんだけど
2017/12/07(木) 15:54:23.02ID:0nv1/DHM
>>853
あなたには向いてない、止めといた方がいいよ
2017/12/07(木) 15:55:09.73ID:DEpqahu1
>>853
つ http://blog.okazuki.jp/entry/2014/12/27/200015
2017/12/07(木) 15:56:59.89ID:DEpqahu1
>>853
つ https://www.amazon.co.jp/gp/aw/d/4798114200
2017/12/07(木) 15:57:47.23ID:DEpqahu1
>>854
同意する
2017/12/07(木) 15:59:12.70ID:nZL2FdH7
WPFじゃなくてもUWPから勉強しても問題なし。
基本となるデータバインディングやらXAMLやらMVVMの考え方はほぼ共通だし。
コントロールとかXAMLの表現能力とかは違うけど、大した差じゃない。
2017/12/07(木) 15:59:46.39ID:nZL2FdH7
別にUWPの情報の方が多いとかは言ってないからね。
2017/12/07(木) 16:29:55.67ID:W1xQHq7p
C#習得済みならWPFのサンプルがいいかもね
ちょっと目を通すといってもボリュームありぎて困るけどな
https://github.com/Microsoft/WPF-Samples
2017/12/07(木) 16:52:31.22ID:iSZRC5ge
>>854
向き不向き関係無く、WPFかUWPしか、これからは選択肢が無いとオモ。
2017/12/07(木) 17:00:19.88ID:CEomnrTd
WinFormは高dpiにも対応したし
過去の死産が沢山あるので永遠に不滅です
2017/12/07(木) 17:03:54.74ID:+Go9SOnG
不運長久
2017/12/07(木) 17:40:11.83ID:+0QIF/Hj
>>861
他に選択肢が無いなら、向いてない>>853は失業だな
2017/12/07(木) 18:08:25.01ID:RWj85r3T
WPFのRichTextBoxってFormの時より性能(できる内容等)良くなっていますか?
テキストの扱いが、フロードキュメントというものにアクセスしないといけないとか
仕様が変わっているので、学習コストに見合うものか見極めたいのです。
866デフォルトの名無しさん
垢版 |
2017/12/07(木) 18:31:51.66ID:aKBXGesU
UWPのまともなチュートリアルがない
あっても実用レベルじゃない
画面の遷移とかアプリの状態とかその変化のさいのデータの保存とか共有とか
いろいろ知らないといけないことが多いが適切な学習方法がない

本屋に売ってる本もそういう所には触れてない
ボタンを押すと文字が変わるとかいうレベルじゃアプリは作れない

windowsストアアプリのころはまともなチュートリアルがあったのに
2017/12/07(木) 18:53:14.73ID:BPsvGxGu
>>866
画面遷移はprismのサンプル見るのが早い
てかコピペでも何とか成るぞ
868デフォルトの名無しさん
垢版 |
2017/12/07(木) 19:30:04.21ID:70KcxBzP
windowsストアアプリのころはこれでもかと言わんばかりの
かなりいい仕上がりの本が多かった
でもニッチな需要だったのであまり売れなかったみたいだ

UWPになってからいい本が出ないのはある意味windowsストアアプリのせい
2017/12/07(木) 19:41:35.48ID:qnTgxbKH
>>868
UWPに限らず、ここ数年まともな技術本は殆ど出版されてない
技術本の永久氷河期に突入したと思われます。
870デフォルトの名無しさん
垢版 |
2017/12/07(木) 19:47:33.04ID:70KcxBzP
図書館にC#の絵本が入ってて泣いた
2017/12/07(木) 19:48:21.41ID:iSZRC5ge
なんだ〜 ? いい本待ちって、どんだけ他力本願なんだよ?
英語サイト読め! アホ共が・・・
872デフォルトの名無しさん
垢版 |
2017/12/07(木) 19:51:54.46ID:70KcxBzP
最近はググるとstackoverflowが上位に来て邪魔だ
英語でえんえん議論して結果できませんでしたみたいな最後とか多くて邪魔
しかも内容が正確じゃない場合も多くて困る

昔はダイレクトにこうしろみたいなサイトが多くヒットした
2017/12/07(木) 19:52:47.33ID:qnTgxbKH
>>871
上人様、我々凡夫に良い英語サイトを教えてくだされ!
2017/12/07(木) 19:57:46.70ID:qnTgxbKH
>>872
Stack Overflowで延々と議論して結論が出てない事の方が稀だけどねぇ。。
MSDNフォーラムは延々と揚げ足取りが続いて何の答えも出てないことは多々あるが。
と言うかMSDNフォーラムは英語も日本語も箸にも棒にも掛からぬ
2017/12/07(木) 21:38:31.58ID:rdG0qvFp
StackOverflowは重宝している
2017/12/07(木) 22:04:29.06ID:7HwoQbsI
え、あのうざいフォーラムモデレーターはもう検索しても出てこないの?
うそー
2017/12/07(木) 23:18:36.91ID:gBefvYul
>>874
俺も同じ印象持ってるわ
StackOverFlowはそのものズバリの回答にたどり着ける率がかなり高い
2017/12/08(金) 06:41:55.51ID:6V+obqgF
>>868
普通、学習するのが後になればなるほど情報が増えて、
高速道路を走るようにあっという間にキャッチアップ出来るんだけど、
WPFは先人が切り開いた道が誰も通らないから荒れ果てて、自分で道を切り開かないといけないパターンか
2017/12/08(金) 07:01:02.47ID:8a2ZI3ZF
>>877
StackOverFlowは優秀な削除人が居て役に立たないゴミスレを抹消してるらしい
2017/12/08(金) 08:16:39.79ID:qCpKpTuV
xamlが障壁だろうね、htmlのようなものと言っているうちは標準で用意された動作しかできない
何でもできるのはすごいけど可読性が悪い
2017/12/08(金) 10:15:25.17ID:tA4Nn7ut
XAML をいじるツールが HTMLの WYSIWYGツール程度しか容易されてないよね
細かくパラメータ指定はできるけど、XAMLの知識前提だし、
それならXAML直接いじったほうが早いという
882デフォルトの名無しさん
垢版 |
2017/12/08(金) 12:23:32.06ID:HAB7Tinf
xamarin formsのビュワーはクソすぎる
2017/12/08(金) 13:12:00.95ID:qCpKpTuV
Blendでいじるのは限定的で大半はインテリセンスとエディットコンテニューでなんとかなってる感じ
つかエディットコンテニューもっと早くつければよかったのに
2017/12/08(金) 14:31:12.72ID:RuKEqfD/
ちょまど神への信仰と喜捨が不足しているのです
2017/12/08(金) 14:46:00.53ID:57iib+8F
それ以前にWPFやUWPの仕事なんてあるの? 俺っちのところはWinFormしかねぇぞ。
2017/12/08(金) 16:59:04.30ID:RuKEqfD/
家も無いな
2017/12/08(金) 17:00:29.61ID:qCpKpTuV
俺の知ってる普通は何を使うかなんて聞いてこないけどな、分からない任せるの一点張り
前任者が良くない理由で辞めていてその引き継ぎ案件なら指定あるかも知れん
2017/12/08(金) 21:27:54.44ID:6Wxgyjtw
俺はXAMLは良いと思うが、人それぞれだなぁ。
いちいちデザイナーでレイアウトしてプロパティペインでちまちま設定しなきゃならんFormsにはもう戻りたくない。
2017/12/08(金) 22:42:48.69ID:JqV72I9F
XAMLも全部ダメとは言ってない

エディタで書くことができるという方向性はたぶん間違ってなかった
問題はデザイナーを使うだけの層が置いてけぼりになった点だと思う

XAMLを勉強してWPFをマスターして次々とWPFでアプリ開発する開発者だけなら問題なかったが、
XAMLを勉強したいんじゃなくてアプリを作りたいって層は、
XAMLを習得するコストとWPFの将来性を比べて既知の WinForms に行ってしまうよね
2017/12/08(金) 23:08:09.57ID:6Wxgyjtw
Formsと同じようにポトペタ開発だってできるだろ。それこそXAMLに直接触らなくても。
Formsと違うからハードルがあるってことならそりゃ当たり前w
2017/12/08(金) 23:24:02.04ID:0zCKXZ4S
XAMLとWinForms、まるで真反対かのように言ってる人って使ったことないかまったく理解してないかだろうな。
2017/12/08(金) 23:33:23.82ID:JqV72I9F
WPFでXAMLなしでポトペタ開発できるっていうのは詭弁だろ
XAML書けない人はWPF使える人とは言えない
2017/12/09(土) 00:06:52.81ID:fO0VVXq7
つか、Gridレイアウトだけ覚えたらformレベルの用途なら後は何とか成るんだから
それぐらいは勉強しろよとは言いたいな
html知っていれば小一時間でなんとかなる代物だ
2017/12/09(土) 00:16:56.45ID:HnWyWSqq
Head FirstとMicroSoft公認の黒くて分厚い本がWPFにあればもっと普及したのではと思う
895デフォルトの名無しさん
垢版 |
2017/12/09(土) 00:22:36.81ID:y4uhn7j8
gridってスプリッタ―使うのも一苦労なんだが
非常に使いにくい
2017/12/09(土) 00:24:48.22ID:sjZAAH/D
原理主義でちょっとしたことを簡単に実現できなくしたのがいまいち普及しない理由だろ
2017/12/09(土) 00:31:27.04ID:P59xwzO1
大体はGird過激派グループとStackPanel同胞団のどちらかに属する
DockPanelは意外と出番がない、順序で配置変わる仕様が変態くさいし
2017/12/09(土) 00:51:13.59ID:YSr7xyeP
もうボケ老人の繰り言状態だけど、だからWPやXAMLの問題は
保守性の悪さであって必ずしも書きづらいことじゃないってw

見える化ってバズワードがちょっと前に流行ったけど、その観点では
WPFは20年前のVBより退化してる

Formだったら他人の書いたコードでもせいぜいドキュメントアウトラインで包含関係を確認して
あとはFormデザイナでコントロール選択してプロパティーグリッドみれば
一目瞭然でだいたいどうなってるかわかるけど、これがWPFじゅ全然そういう訳にいかない
2017/12/09(土) 01:31:47.76ID:0TYlSAt9
まーでもWinFormsで実現できる程度の見た目で良かったらWPFでもデザイナ使ってぽとペタでできるよね。

WPFとかだとItemTemplate使って出来るようなこととかやりだすと、追いづらくなるのは確かだけど、それはWinFormsだとオーナードローとかになってくるから、より追いにくくなりそう。
2017/12/09(土) 05:15:05.11ID:KFfYNPXO
>>897
DockPanelは、Gridよりコード量が少ないので結構使うけど
2017/12/09(土) 05:44:29.48ID:wuqyJYIG
Pro WPF 4.5 in c# 押し(PDFもころがってるし)
2017/12/09(土) 08:11:06.80ID:D+7i0ltG
>>894
MSは普及させる気ないのかね?

赤字覚悟で本をたくさん出すべき
2017/12/09(土) 08:35:35.94ID:LNYXpqZE
WPFが普及しきる前にストアアプリやUWP推しにいっちゃったからねぇ。
ペゾルド本を出してくれていたらよかった。
2017/12/09(土) 10:32:33.70ID:pqfn8pko
最初で躓いたやつの愚痴ばっかりだな。
新しいことや、他のOSでの開発も出来ない連中ばったりだろう。
2017/12/09(土) 10:35:10.19ID:D+7i0ltG
>>904
自分の事じゃないよ

初心者に対する窓口を広くないとWPFの未来はないって事
開発者の少ない環境なんて、あっという間に切り捨てられて終わる
906デフォルトの名無しさん
垢版 |
2017/12/09(土) 10:35:49.75ID:0SdWVhUU
最初って何にもなかったから脱落してもおかしくなかった
MVVMのフレームワークもない
WPF自体も段階を経てレベルアップしていった
今みたいに恵まれた環境じゃなかった
907デフォルトの名無しさん
垢版 |
2017/12/09(土) 10:37:26.13ID:0SdWVhUU
>>905
WPFはもうMSが見捨てたから未来はないよ
UWPに注力
2017/12/09(土) 10:42:25.96ID:mcVKStJ6
mvvmのせいで普及しない
2017/12/09(土) 10:44:59.50ID:LNYXpqZE
それよりも逆にUWPの未来が見えないんだが。Windows Mobile撤退したらもう存在意義ないんじゃね?
2017/12/09(土) 10:55:42.98ID:BBiO47QN
>>906
WPFは本来の設計思想が全く理解されなかっただけで、フレームワークとしてはちゃんと出来上がってたんだぜ
お前らはRoutingCommandの利用シーンを自信を持って説明できるか?
911デフォルトの名無しさん
垢版 |
2017/12/09(土) 10:57:32.75ID:0SdWVhUU
出来てた割にはメモリリークとかメッセンジャーとかの問題で数年停滞してたじゃないか
ビヘイビアとかいろいろやってたじゃないか
2017/12/09(土) 11:01:07.31ID:P59xwzO1
RoutingCommandって何だよ、RoutedCommandじゃねえの
最近はCaliburn.Microにしてるからコマンド書かずにメソッドだけで済ましてる
913デフォルトの名無しさん
垢版 |
2017/12/09(土) 11:05:53.50ID:0SdWVhUU
mvvmはlistboxなどをバインディングで使うときなんか最悪だよ
選択がかわったことなどのVMがめんどくさい

その点Vのイベントは楽でいい
2017/12/09(土) 11:06:28.29ID:3CrpDS5s
WinFormsに続いてWPFもすでに飼い殺しモード
Mobileがポシャって将来の展望が見えないUWP
どうすんだろうねほんと
2017/12/09(土) 11:06:30.15ID:B67iFoRw
>>911
そりゃそうだ
MVVMとか言われだしたのってWPFが世に出た後だぞ
2017/12/09(土) 11:18:55.23ID:BBiO47QN
>>914
MS自身はElectron使ってるからね
今時Webできない奴なんか放っといても他所へは行けないんだからセールス的にはどうでもいいんだよ
2017/12/09(土) 11:21:28.35ID:ZhOJxZh3
>>916
え、VisualStudio自体もElectronかい?
2017/12/09(土) 11:43:10.65ID:pqfn8pko
>>914
そう、これだってのがないのがダメすぎるMicrosoft。
そのせいと、モバイル捨てたからエコシステム作れない。
2017/12/09(土) 12:11:43.99ID:7Yf8j8jw
Mobileは死んだけど、Hololensとか新機軸のデバイスの展開も見据えると
Win32だけのままじゃダメってのはわかるし個人的にUWPはUWPで続けてくれて良いんだけどね

Desktopをおざなりにするどころかユーザーや開発者に劣化環境を押し付けてくるのが最高にうんこ
920デフォルトの名無しさん
垢版 |
2017/12/09(土) 12:15:01.89ID:0SdWVhUU
Hololensなんてごみじゃん
ただの流向
921デフォルトの名無しさん
垢版 |
2017/12/09(土) 14:28:35.64ID:4L36y9lr
WPF版のペッツォルト本なかったっか?
2017/12/09(土) 14:56:59.28ID:sjZAAH/D
大多数の人がしたいと思ってることが簡単にできないとダメ
画像の表示一つで首かしげるようなものじゃダメ、普及しない
2017/12/09(土) 15:03:44.12ID:l/tJcKjF
MVVMで組まなきゃ駄目って空気を醸し出してしまったのが敗因かな。
2017/12/09(土) 15:20:17.09ID:D+7i0ltG
10年後にはJava FXに負けてるかな?
2017/12/09(土) 15:21:58.42ID:H2sqAc93
もしかしてWinFormの地位が確固たるものになった? WPFとUWPのおかげで・・・
2017/12/09(土) 15:52:05.30ID:iPTGHqKh
>>925
うん5年後に答え合わせをしようよ
2017/12/09(土) 16:05:34.75ID:l/tJcKjF
>>925
vb6.0のおかげです
2017/12/09(土) 20:38:16.72ID:ziJNlv0p
>>903
普及しきるというか普及する気配が最初から全くなく今に至る。
PGの嗅覚をなめてはいけない。
2017/12/09(土) 22:35:13.71ID:M8C/DJ+l
>>926
それ5年前に聞いた
2017/12/09(土) 23:11:38.47ID:ziJNlv0p
>>904
ただの無能の愚痴ならいいんだが事実、ゴミだったからな。
2017/12/09(土) 23:26:13.62ID:LNYXpqZE
無能「事実、ゴミだったからな。」

こういうこと?
2017/12/09(土) 23:29:54.81ID:i+ta5v7N
そういう事
2017/12/09(土) 23:39:13.32ID:ziJNlv0p
>>931
ゴミじゃなきゃなんなんだい? WPFに何か光るものが少しでもあったか?
何もないね。これはPGなら誰でも同意することだろう。
2017/12/09(土) 23:40:57.26ID:D+7i0ltG
>>933
Flexの方が設計は良かったね
2017/12/10(日) 10:49:59.71ID:+bg1ulUg
>>892
普通にできる
2017/12/10(日) 10:51:57.14ID:+bg1ulUg
>>913
えっ???
そこが一番なくらい便利なんだが?
SelectedItemにBindingしておしまいだよ?
2017/12/10(日) 10:54:13.79ID:+bg1ulUg
>>921
ストアアプリか何かのがある
まあ考え方の流用は可な感じ
2017/12/10(日) 10:58:10.12ID:+bg1ulUg
コントロールにName付けてコードビハインドで使えば
WinFormsと同じスタイルで開発できる事を知らない人が多すぎる
2017/12/10(日) 11:16:00.59ID:7Si01GpM
>>938
バインド使った方が楽だろ?
コードビハインドのメンバにバインドして使ってイベントベタ書きにすればハードル下がる。
2017/12/10(日) 11:19:01.67ID:klwCxkV9
それをMSと取り巻きが広めるべきだったな
2017/12/10(日) 11:27:22.95ID:oTsMuCsO
XAML覚えるのだりいいいい
バインディングまわりとか試行錯誤せんとぜんぜん覚えられん
めんどくせええええwww
2017/12/10(日) 11:28:21.09ID:OKZOYtiA
当時MVVMを宣伝した意識高い系連中ってもうほとんど残ってないからな
みんなASP.NET MVCやCoreへ移行してしまった
今入ってきた初心者は当時の意識高い記事に圧倒され、相談に乗ってくれるコミュニティも見つけられないまま去っていく
2017/12/10(日) 11:31:16.14ID:sNUCXrsh
俺は意識低い系だから普通にポトペタでダブルクリックして
イベントにコード書きまくりだねw
動けばいいや
2017/12/10(日) 11:34:42.06ID:oTsMuCsO
宣言型だからさ
ルール覚えるの大変やん

WinFormsならアホの俺でもイベントべた書きすりゃ何か動いた
そっから少しずつ間違いなおして、コード書き足して・・・ってやっとった

XAMLはルール間違うとうごきもせん
しかもてつづき型とちがうからどこで間違ったのかもよくわからんwwww
一晩でおぼえられるIQをくれwwww
2017/12/10(日) 11:46:16.93ID:7Si01GpM
>>940
MSのコードサンプルもブログで見かけるコードサンプルも
コードビハインドとのバインドとイベントベタ書きが多いけどね。

MVVMで書くとWPFの本質以外のコードが増えて
サンプルにならなないからだと思う。

MVVMはXAMLとバインドがちゃんと使えるようになってから
必要に応じて使えば良いと思うのさ。
946デフォルトの名無しさん
垢版 |
2017/12/10(日) 12:01:50.16ID:85i5VHgP
>>936
つうじてないみたいだからいいよ
2017/12/10(日) 12:04:14.03ID:+bg1ulUg
>>939
そりゃあBinding使った方が断然楽だよ
でも苦労したい人が多いみたいだからそんな人達は今まで通りを踏襲すれば良い
人生それぞれなんだから
2017/12/10(日) 12:16:06.77ID:oTsMuCsO
WinFormsのバインどよりずっとむずいやんXAMLのやつ
まあ俺はまだリストボックスまで行ってないからよく知らんけどな!
今日もMSDNのドキュメント読むやで〜
2017/12/10(日) 12:19:59.57ID:oTsMuCsO
あいあyまあ
なんかワイ論点を間違えてたな
バインド自体はええねんで楽で
XMALがむずい!ワイのいいたいことはこれだけや!ほなな!
2017/12/10(日) 12:33:24.56ID:uk3Agmxw
x:Bindをwpfに持ってくるだけで、問題だいぶ片付くんだけどな
ミスったらコンパイルエラー出るし、イベントもバインド出来る
何故かUpdateSourceTriggerが指定できないのは問題だが
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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