[表示 : 全て 最新50 1-99 2ch.scのread.cgiへ]
Update time : 04/19 22:07 / Filesize : 15 KB / Number-of Response : 77
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sageteoff [2016/03/16(水) 07:57:28.84 ID:tj30pZlh.net]
Windows Presentation Frameworkについて語るスレ。

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

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

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
ideone.com/

2 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 15:31:34.45 ID:rNMa/DoZ.net]
2げっろ。
WPFばかり弄っていると面白いんだけれどなぁ。
FormsのをメンテしたりHTMLを弄っていたりして、
忘れかけてからWPFに戻ると、あれれれれー?
ってなる(´・ω・`)

3 名前:デフォルトの名無しさん [2016/03/21(月) 08:35:11.60 ID:LZK+quSR.net]
眠い

4 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 09:30:09.41 ID:HKtB5lHa.net]
寝ろ

5 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 13:15:25.24 ID:Oj1Hxqq+.net]
これはきっと、wpfの開発環境が眠くなるほど退屈だということが言いたいのだと思う。
配置可能なコントロールを凸型、L字型とかにしたらどうか。

6 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 13:54:26.63 ID:Ob/N9SLW.net]
テトリスかよ!

ってツッコミでOK?

7 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 14:47:38.22 ID:b4wXoPlv.net]
クリックしようとすると逃げる系で

8 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 17:40:09.02 ID:ZFYgg5Wq.net]
バインドについてあれこれ調べててこのページを見つけたんだけど
qiita.com/ledsun/items/6f4ef754e5ae2507e531
ReactivePropertyを使うとプロパティを定義するだけでPropertyChangedEventArgsやらをいちいち書く必要が無くなるってのは解ったんだけど
それならwpfにName属性つけて直接cs上からプロパティを書き換えるのと結局は同じになる気がするんだけど、何が利点なの?

今はコード上からフォームの値を反映させるだけで、フォーム上に入力された値をプロパティに反映させるという双方向での処理は考えてないけど
双方向のバインドをしないのであればメリットってあんま無かったりする?

上記ページの途中に出てくるこれ
public MainWindow(){
InitializeComponent();
var vm = new ViewModel();
DataContext = vm; // DataContextにViewModelをバインド
vm.Message.Value = "Hello"; // DataContextのプロパティーを更新すると画面に反映
}
DataContextを経由する必要って何・・・?
直接this.Message.Text="hello"ってやるんじゃダメなのと思ってしまう

9 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 18:05:24.43 ID:b4wXoPlv.net]
そもそもフォーム→モデルとしか値を送らないなら
PropertyChangedなんか不要ですよ

PropertyChangedの説明がしたいからわざわざモデル経由してんだろ
お前理解力に乏しすぎ
よく生きてこれたな

10 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 18:14:15.98 ID:b4wXoPlv.net]
悪かった言い過ぎた



11 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 18:36:47.42 ID:ZFYgg5Wq.net]
という事は、双方向に値を送る事が出来るコントロールって結構限られてるよね。テキストボックスのテキストとか、チェックボックスのチェック状態とか。
逆に、ラベルの背景色とか表示・非表示状態みたいにコントロール側からどうしようもないプロパティは積極的にバインドを使って値を更新する度にPropertyChangedを送る必要はあまり無いって事?

12 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 19:05:23.15 ID:wwpOinJ6.net]
そう思うならノーバインディング、ノーMVVMで書けばいいがな。

13 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 19:08:29.43 ID:wGZ3MPGj.net]
Formsみたいなイベントドリブンで書くモデルがWPFでも有名になれば、息を吹き返すと俺は信じてる
業務アプリの連中を如何に引きこむかが大事

14 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 20:53:27.31 ID:6JHA5k3e.net]
>>8
最後のやり方でなんら問題ない。

15 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 21:01:16.62 ID:wwpOinJ6.net]
>>13
いやMicrosoftのサンプル見たらコードビハインドだぞ。

16 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 22:45:57.52 ID:v8ItZ5me.net]
>>13
バインディング?MVVM?何それおいしいの?
ってな状態でWPFを使ってても、全く問題ないしね。

17 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 23:04:31.96 ID:Ob/N9SLW.net]
>>16
ただ、ListBoxはItemsSourceにぶち込めばいいとは言っても
バインディングが判らなければチンプンカンプンでした

使えないわけじゃないけど何が起こっているのか理解できず気持ち悪い

18 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 23:42:03.57 ID:Qi7IeHBk.net]
ListBoxでバインディング使わないならItems.Addでいいと思う

19 名前:デフォルトの名無しさん mailto:sage [2016/03/22(火) 00:01:32.49 ID:g51nH/57.net]
バグの温床ではないか?

20 名前:デフォルトの名無しさん mailto:sage [2016/03/22(火) 21:04:57.90 ID:YRPl9VX5.net]
そこまで嫌わなくても…
MVVMじゃなくてもDataContextにVM用意した方が開発しやすかないか?



21 名前:デフォルトの名無しさん mailto:sage [2016/03/22(火) 21:43:22.16 ID:e+TK8yQr.net]
自動テストしない人には伝わらないよ

22 名前:デフォルトの名無しさん mailto:sage [2016/03/22(火) 22:00:15.93 ID:UU9O+pzp.net]
MVVMが快適なことはここにいる人は分かっているけど
アレの複雑さでwpfが捨てられるとしたら悲しいってお話です

23 名前:デフォルトの名無しさん mailto:sage [2016/03/22(火) 22:06:16.32 ID:BNkHKMpg.net]
快適なんですか?

24 名前:デフォルトの名無しさん mailto:sage [2016/03/22(火) 22:37:10.69 ID:vWbCsYUq.net]
MVVM使わなくても快適だよ

25 名前:デフォルトの名無しさん mailto:sage [2016/03/22(火) 23:11:03.61 ID:UU9O+pzp.net]
>>23
とりあえずソースがすっきりするから精神衛生上好ましい

26 名前:デフォルトの名無しさん mailto:sage [2016/03/22(火) 23:51:54.18 ID:FPulOekY.net]
WPFが複雑だからMVVMという抽象化が必要なのであり、
MVVMがメリットなどと抜かすのは本末転倒である

27 名前:デフォルトの名無しさん mailto:sage [2016/03/22(火) 23:59:04.73 ID:XZnF6fHK.net]
MVVMはどこで使っても便利ですがな
どこで使っても便利なものは存在がメリットに決まってるではないですか

28 名前:デフォルトの名無しさん mailto:sage [2016/03/23(水) 00:08:45.00 ID:aPO3Xwoc.net]
Behaviorsが必要になるとややこしくて困る。

29 名前:デフォルトの名無しさん mailto:sage [2016/03/23(水) 12:43:46.96 ID:5650verW.net]
javascriptのMVVMフレームワークは喜んで使うが
WPFは頼まれても金積まれても嫌だ

30 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 12:19:34.27 ID:7IRyPeEw.net]
TextBoxとComboBoxのフォントサイズを高さに合わせたいのですがどうしたらいいですか?



31 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 14:19:03.97 ID:lScmALHQ.net]
元の大きさが違うから
1.BorderでTextBox囲って、TexBoxのBorderを見えなくする
2.TextBoxのVerticalAriment=centerにする
3.Gridなどで調整

こんなところじゃね?

32 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 14:58:15.97 ID:7IRyPeEw.net]
GridにTextBoxを置いていますが、テキストボックスのサイズが変わってもフォントサイズは変わりません
ButtonならButton>ViewBox>Textblock>文字列で解決できたのですが・・・

33 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 15:41:21.43 ID:rEcwjniS.net]
自身のActualHeightをFontSizeにバインディングするとか。
Converterで値調整する必要はあると思うけど。

34 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 16:28:20.63 ID:7IRyPeEw.net]
Converter使っても名前空間に存在しませんってエラー出て出来ません・・・
オートコンプリートには自分の作ったクラスが出てくるんですが・・・

35 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 16:46:28.52 ID:7IRyPeEw.net]
何故か分からないけど直りました・・・

36 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 16:49:56.72 ID:IEw+mgNm.net]
VS2015はときどきおかしくなるよね

37 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 16:58:25.39 ID:7IRyPeEw.net]
VS2015の問題ですかね?

38 名前:デフォルトの名無しさん mailto:sage [2016/03/31(木) 18:01:34.28 ID:IEw+mgNm.net]
あなたの場合がそうであるかは知らない(見てない)けれどオートコンプリート周りで不具合が発生することは経験している
そして立ち上げなおしたらなおってる

39 名前:デフォルトの名無しさん mailto:sage [2016/04/02(土) 09:14:20.25 ID:+H7iCAoB.net]
.NET Framework 4.6.2 Preview のリリース
https://blogs.msdn.microsoft.com/visualstudio_jpn/2016/03/31/announcing-net-framework-4-6-2-preview/

ソフト キーボードのサポートにより、Windows 10 で WPF のスタイラス/タッチ入力を無効化しなくても
WPF アプリケーションでタッチ キーボードが自動的に起動、破棄されるようになりました。
4.6.2 より前のバージョンでは、WPF アプリケーションでのタッチ キーボードの起動や破棄が
明示的にはサポートされておらず、WPF のスタイラス/タッチ入力を無効化する必要があります。
これは、Windows 8 以降のタッチ キーボードが
アプリケーション内のフォーカスをトラックする方法が変更されたことによるものです。

WPF アプリケーションはシステムの DPI を検知できるため、
アプリケーションがレンダリングされるモニターの DPI に応じて、
Windows によりアプリケーションの画面サイズが変更されます。
このため、鮮明さが低下したりテキストがぼやけたりすることがあります。
4.6.2 より前のバージョンでは、WPF アプリケーションでモニターごとに DPI を検知するには
高度なネイティブ コードが必要でした。

最近は高 DPI 環境やハイブリッド DPI 環境がエコシステムで普及してきたため、
これに対応して WPF アプリケーションで Per-Monitor DPI がサポートされるようになりました。
WPF アプリケーションで Per-Monitor DPI を有効にする方法については、
サンプルおよび開発者向けガイドを参照してください。

40 名前:デフォルトの名無しさん mailto:sage [2016/04/02(土) 12:20:28.12 ID:FAwdIKpT.net]
そんなものよりいい加減にフォルダ選択ダイアログ実装しろよ
なんでここまで頑なに実装しないのか?
10年だぞ10年?



41 名前:デフォルトの名無しさん mailto:sage [2016/04/02(土) 12:30:55.28 ID:hp/cyjqX.net]
こっちのほうが重要

デスクトップ アプリを UWP に変換 (Project Centennial)
既存の Windows デスクトップ アプリ (WPF、Windows Forms を含む) を、ユニバーサル Windows プラットフォーム (UWP) に変換する機能 (英語) が提供されました。

42 名前:デフォルトの名無しさん mailto:sage [2016/04/02(土) 14:02:07.42 ID:9Mhqjl0D.net]
やっとPer-Monitor DPIが実装されたか

43 名前:デフォルトの名無しさん mailto:sage [2016/04/02(土) 23:44:16.61 ID:qKlqTMqs.net]
>>40
前提が間違っている
WPFはWinFormsと併用するもの

44 名前:デフォルトの名無しさん mailto:sage [2016/04/02(土) 23:48:43.21 ID:zBsov1ne.net]
>>43
実用上はそれもありだが、MessageBoxはちゃんと対応してるでしょ
それはそうとWindows7ApiCodepackのダイアログだけでも入れろと思いませんか?

45 名前:デフォルトの名無しさん mailto:sage [2016/04/03(日) 18:28:17.23 ID:eU0OsDcG.net]
>>43
いつのまにそういう流れになったのか?
winfomsをぼろくそに言ってたのにな

ニートのくせに両親にじじいばばあ、老害とぼろくそに言いながらただ飯食ってるようなものじゃない?

46 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 01:52:12.18 ID:3M3YC+8j.net]
UWPでは画像ファイル名にxxx.scale-180.pngとかつけると
DPIに応じて自動で切り替えてくれますが、
WPFにはこれに相当する機能はありますか?

47 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 03:15:40.75 ID:aLjGyuE/.net]
ないよ

48 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 03:22:45.83 ID:2eeZhl1u.net]
厳しい現実の到来

49 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 03:48:38.42 ID:3M3YC+8j.net]
ありがとうございました。

50 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 18:09:05.43 ID:3f5oJ1nB.net]
WPFはおすすめですか?



51 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 18:09:22.84 ID:b1Urfdwz.net]
YES

52 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 19:14:02.52 ID:lUR13ZZt.net]
やめとけ
今からやるならASP.NET MVC

53 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 21:32:20.87 ID:ONo6jj6s.net]
用途が違うものを同列に語られてもな。

54 名前:デフォルトの名無しさん mailto:sage [2016/04/04(月) 21:51:39.31 ID:2eeZhl1u.net]
悲しい世界

55 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 04:59:00.92 ID:fV+iiYuy.net]
用途は人月いくらで金を稼ぐことだな

56 名前:デフォルトの名無しさん mailto:sage [2016/04/05(火) 09:32:54.47 ID:0p1/0bFp.net]
ああ〜っと
WPFは仕事がないから用途は趣味ですもんね

57 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 22:02:07.99 ID:6gPuUqWy.net]
配布後にアップデートさせたい場合はってどうしてる?
アンインストールさせて、最新のexeを再インストールさせる?

58 名前:デフォルトの名無しさん mailto:sage [2016/04/06(水) 22:30:48.04 ID:J5zl/jID.net]
解凍して全部上書きしてね(はーと)

59 名前:デフォルトの名無しさん mailto:sage [2016/04/07(木) 10:05:13.25 ID:QF7PeTIh.net]
clickonceという仕組みがあるんやで

60 名前:デフォルトの名無しさん mailto:sage [2016/04/07(木) 10:22:33.46 ID:RIDbA16L.net]
ClickOnceと聞く度に
「管理権限を無視してインストールできてしまうのは好ましくない」
って騒いだアホを思い出すので止めていただきたい



61 名前:デフォルトの名無しさん mailto:sage [2016/04/07(木) 12:19:51.39 ID:9xI4Whcy.net]
それってセキュリティがお煩いんでしょ?

62 名前:デフォルトの名無しさん mailto:sage [2016/04/07(木) 18:34:36.77 ID:WuhhdB+c.net]
IsEnabledプロパティをバインドしても、プロパティのgetが呼び出されません
変更イベントは発生させています

63 名前:デフォルトの名無しさん mailto:sage [2016/04/07(木) 18:38:32.22 ID:WuhhdB+c.net]
自己解決しました

64 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 02:52:12.30 ID:GhCX/kWB.net]
TabControlでContentTemplateでListViewとかを設定すると
全部のタブページで1つのListviewを使いまわしてる感じになるんですが
これをTabItem度にする方法ってないでしょうか?

65 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 11:30:19.12 ID:1qpNdq6N.net]
TabItem毎にTemplateを設定してあげたらいい

66 名前:デフォルトの名無しさん mailto:sage [2016/04/09(土) 11:44:08.14 ID:mgVSaoeW.net]
ContentTemplate弄るなら、直接ListViewは書かず現在ListViewが書いてあるところにContentPresenterを書いておき
ListBoxはContentに書くのが筋じゃないかな

67 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 19:11:05.05 ID:te0JtNtM.net]
マウスホイールをどっちに転がしてもスクロールが下に行ったり
移動値が変(数ページ分位飛ぶ)なんですが、どの辺に原因があるとこんな挙動になるんですかね?

68 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 20:06:23.42 ID:dGOrpD9s.net]
マウスが原因

69 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 20:15:06.69 ID:d1aqF31N.net]
マウスのホイールのロータリーエンコーダーが壊れているんだろうね

70 名前:デフォルトの名無しさん mailto:sage [2016/04/11(月) 20:19:21.03 ID:Il1nOA/K.net]
イエローハットでホイール買えや



71 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 05:07:22.79 ID:UFGwOhXr.net]
他のコントロールだと問題無いようなのでマウスが原因では内容です。
ListviewのGridView使う時だけおかしいんですよね
他の表示方法ではおかしくなりませんでした。

おまけにウィンドウのサイズを変えるとスクロールバーのスクロール位置が変わったりするのが謎すぎる

72 名前:デフォルトの名無しさん mailto:sage [2016/04/12(火) 07:05:40.10 ID:wMDrKH2b.net]
以前似たような症状になったことあるけどその時は
ListViewのScrollViewer.CanContentScrollをTrueにしたのが原因だった

73 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 03:12:53.97 ID:VbbC8Uk5.net]
x:Bindがない言われるんだがなんでや?

74 名前:デフォルトの名無しさん mailto:sage [2016/04/15(金) 04:41:11.53 ID:VbbC8Uk5.net]
アプデしたら使えたわ
てかUwpだった

75 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 18:57:23.89 ID:P7Tju0N+.net]
ユーザーコントロールを作ったんですが、普通に実行出来てもデザイナで「TestBrush" が認識されないか、アクセスできません。」
とエラーが出てそのコントロールを置いたウィンドウが表示されません。
クラスライブラリにしてプロジェクトを分けてるんですが、なんか設定しないとダメなんでしょうか?

76 名前:デフォルトの名無しさん mailto:sage [2016/04/19(火) 19:44:35.99 ID:lPFKUnKE.net]
>>75
エラーメッセージ通りだろとしか言えない






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<15KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef