X



WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part21 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
垢版 |
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/
0851デフォルトの名無しさん
垢版 |
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>
0852デフォルトの名無しさん
垢版 |
2017/12/07(木) 13:40:41.72ID:vSHyWsbi
>>851
回答ありがとうございます。
おっしゃる通りコントロールテンプレートでした。

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

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

なんか情報がめっちゃ少ないんだけど
0858デフォルトの名無しさん
垢版 |
2017/12/07(木) 15:59:12.70ID:nZL2FdH7
WPFじゃなくてもUWPから勉強しても問題なし。
基本となるデータバインディングやらXAMLやらMVVMの考え方はほぼ共通だし。
コントロールとかXAMLの表現能力とかは違うけど、大した差じゃない。
0865デフォルトの名無しさん
垢版 |
2017/12/07(木) 18:08:25.01ID:RWj85r3T
WPFのRichTextBoxってFormの時より性能(できる内容等)良くなっていますか?
テキストの扱いが、フロードキュメントというものにアクセスしないといけないとか
仕様が変わっているので、学習コストに見合うものか見極めたいのです。
0866デフォルトの名無しさん
垢版 |
2017/12/07(木) 18:31:51.66ID:aKBXGesU
UWPのまともなチュートリアルがない
あっても実用レベルじゃない
画面の遷移とかアプリの状態とかその変化のさいのデータの保存とか共有とか
いろいろ知らないといけないことが多いが適切な学習方法がない

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

windowsストアアプリのころはまともなチュートリアルがあったのに
0868デフォルトの名無しさん
垢版 |
2017/12/07(木) 19:30:04.21ID:70KcxBzP
windowsストアアプリのころはこれでもかと言わんばかりの
かなりいい仕上がりの本が多かった
でもニッチな需要だったのであまり売れなかったみたいだ

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

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

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

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

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

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

WPFとかだとItemTemplate使って出来るようなこととかやりだすと、追いづらくなるのは確かだけど、それはWinFormsだとオーナードローとかになってくるから、より追いにくくなりそう。
0903デフォルトの名無しさん
垢版 |
2017/12/09(土) 08:35:35.94ID:LNYXpqZE
WPFが普及しきる前にストアアプリやUWP推しにいっちゃったからねぇ。
ペゾルド本を出してくれていたらよかった。
0904デフォルトの名無しさん
垢版 |
2017/12/09(土) 10:32:33.70ID:pqfn8pko
最初で躓いたやつの愚痴ばっかりだな。
新しいことや、他のOSでの開発も出来ない連中ばったりだろう。
0905デフォルトの名無しさん
垢版 |
2017/12/09(土) 10:35:10.19ID:D+7i0ltG
>>904
自分の事じゃないよ

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

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

Desktopをおざなりにするどころかユーザーや開発者に劣化環境を押し付けてくるのが最高にうんこ
0920デフォルトの名無しさん
垢版 |
2017/12/09(土) 12:15:01.89ID:0SdWVhUU
Hololensなんてごみじゃん
ただの流向
0921デフォルトの名無しさん
垢版 |
2017/12/09(土) 14:28:35.64ID:4L36y9lr
WPF版のペッツォルト本なかったっか?
0922デフォルトの名無しさん
垢版 |
2017/12/09(土) 14:56:59.28ID:sjZAAH/D
大多数の人がしたいと思ってることが簡単にできないとダメ
画像の表示一つで首かしげるようなものじゃダメ、普及しない
0925デフォルトの名無しさん
垢版 |
2017/12/09(土) 15:21:58.42ID:H2sqAc93
もしかしてWinFormの地位が確固たるものになった? WPFとUWPのおかげで・・・
0928デフォルトの名無しさん
垢版 |
2017/12/09(土) 20:38:16.72ID:ziJNlv0p
>>903
普及しきるというか普及する気配が最初から全くなく今に至る。
PGの嗅覚をなめてはいけない。
0933デフォルトの名無しさん
垢版 |
2017/12/09(土) 23:39:13.32ID:ziJNlv0p
>>931
ゴミじゃなきゃなんなんだい? WPFに何か光るものが少しでもあったか?
何もないね。これはPGなら誰でも同意することだろう。
0938デフォルトの名無しさん
垢版 |
2017/12/10(日) 10:58:10.12ID:+bg1ulUg
コントロールにName付けてコードビハインドで使えば
WinFormsと同じスタイルで開発できる事を知らない人が多すぎる
0939デフォルトの名無しさん
垢版 |
2017/12/10(日) 11:16:00.59ID:7Si01GpM
>>938
バインド使った方が楽だろ?
コードビハインドのメンバにバインドして使ってイベントベタ書きにすればハードル下がる。
0941デフォルトの名無しさん
垢版 |
2017/12/10(日) 11:27:22.95ID:oTsMuCsO
XAML覚えるのだりいいいい
バインディングまわりとか試行錯誤せんとぜんぜん覚えられん
めんどくせええええwww
0942デフォルトの名無しさん
垢版 |
2017/12/10(日) 11:28:21.09ID:OKZOYtiA
当時MVVMを宣伝した意識高い系連中ってもうほとんど残ってないからな
みんなASP.NET MVCやCoreへ移行してしまった
今入ってきた初心者は当時の意識高い記事に圧倒され、相談に乗ってくれるコミュニティも見つけられないまま去っていく
0943デフォルトの名無しさん
垢版 |
2017/12/10(日) 11:31:16.14ID:sNUCXrsh
俺は意識低い系だから普通にポトペタでダブルクリックして
イベントにコード書きまくりだねw
動けばいいや
0944デフォルトの名無しさん
垢版 |
2017/12/10(日) 11:34:42.06ID:oTsMuCsO
宣言型だからさ
ルール覚えるの大変やん

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

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

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

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

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