5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん 転載ダメ©2ch.net:2016/03/16(水) 07:57:28.84 ID:tj30pZlh
Windows Presentation Frameworkについて語るスレ。

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

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

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

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

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

4 :デフォルトの名無しさん:2016/03/21(月) 09:30:09.41 ID:HKtB5lHa
寝ろ

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

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

ってツッコミでOK?

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

8 :デフォルトの名無しさん:2016/03/21(月) 17:40:09.02 ID:ZFYgg5Wq
バインドについてあれこれ調べててこのページを見つけたんだけど
http://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 :デフォルトの名無しさん:2016/03/21(月) 18:05:24.43 ID:b4wXoPlv
そもそもフォーム→モデルとしか値を送らないなら
PropertyChangedなんか不要ですよ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

こんなところじゃね?

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

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

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

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

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

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

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

39 :デフォルトの名無しさん:2016/04/02(土) 09:14:20.25 ID:+H7iCAoB
.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 :デフォルトの名無しさん:2016/04/02(土) 12:20:28.12 ID:FAwdIKpT
そんなものよりいい加減にフォルダ選択ダイアログ実装しろよ
なんでここまで頑なに実装しないのか?
10年だぞ10年?

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

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

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

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

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

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

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

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

47 :デフォルトの名無しさん:2016/04/04(月) 03:15:40.75 ID:aLjGyuE/
ないよ

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

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

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

51 :デフォルトの名無しさん:2016/04/04(月) 18:09:22.84 ID:b1Urfdwz
YES

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

77 :デフォルトの名無しさん:2016/04/20(水) 21:53:42.35 ID:mNDzLHec
WPFってエラーが出たとき何が腐ってるのかわかりにくいな
もうちょっとしたらわかりやすくなるんだろか?

78 :デフォルトの名無しさん:2016/04/21(木) 18:00:51.57 ID:eYf2+2jv
WPFは若干のメンテされるだけで腐れ落ちていくテクノロジー

79 :デフォルトの名無しさん:2016/04/21(木) 19:04:41.18 ID:XvjnQCjN
WinG やら Linq to SQL と同じ運命だな…EFすらもアブネーけど

80 :デフォルトの名無しさん:2016/04/21(木) 23:42:54.19 ID:8YHQDoSB
Win10のエクスプローラーってwpfなん?

81 :デフォルトの名無しさん:2016/04/22(金) 00:06:48.34 ID:6PZwOSRI
WPFで作ったユーザーコントロールをWindowsFormsに貼り付けるってパフォーマンス的にどうなんでしょう?

82 :デフォルトの名無しさん:2016/04/22(金) 00:13:30.79 ID:QlLbwNK7
実際に作ってから気にしたら?

83 :デフォルトの名無しさん:2016/04/22(金) 20:06:31.17 ID:kIni5iDB
>>80
WPFかどうかで言えばNO

84 :デフォルトの名無しさん:2016/04/22(金) 20:14:07.77 ID:7dcQmCf5
>>81
どうしても既存のWPFのコンポーネントを使いたいなら仕方ないけど、WPFの方も新しく作るんならやめとけ
アプリがボタンの見た目をカッコよくするためだけにクッソ重いWPFをロードしてたら
俺なら速攻アンインストールする

85 :デフォルトの名無しさん:2016/04/22(金) 20:16:13.58 ID:70kmKf2y
WPFが重いなんてどんだけヘボプログラマーなんだろ

86 :デフォルトの名無しさん:2016/04/22(金) 21:31:37.49 ID:OoxXSJ+Y
ネタはもういいよ

87 :デフォルトの名無しさん:2016/04/23(土) 18:03:53.40 ID:XYv34q9t
ディレクト×だからげきっぱやだよ!

88 :デフォルトの名無しさん:2016/04/24(日) 00:19:10.78 ID:hj7itNlG
SSDにすれば速くなるよwwww

89 :デフォルトの名無しさん:2016/04/24(日) 00:22:56.39 ID:yMXAuegD
SSD君をおちょくるのは止めろ繰り返すSSD君をおちょくるのは止めろ

90 :デフォルトの名無しさん:2016/04/24(日) 07:56:30.64 ID:PzHVpKBK
Regmonで見ると鬼のようにレジストリアクセスしてるからSSDにすると軽くなる。

91 :デフォルトの名無しさん:2016/04/24(日) 08:13:52.87 ID:hs9TbZdL
ところがSSDじゃなくて謎のデバイスSDDの話なんだわ
絡まれた俺が言うんだから間違いない

92 :デフォルトの名無しさん:2016/04/24(日) 18:30:47.73 ID:P65zrI58
SDDってSilent Dangerous Deviceのこと?

93 :デフォルトの名無しさん:2016/04/24(日) 21:26:50.25 ID:YOklMNkc
スーパーディスクドライブだろ(こなみ)

94 :デフォルトの名無しさん:2016/04/25(月) 09:17:56.27 ID:W8v031Mp
ADDのような精神疾患だろ

95 :デフォルトの名無しさん:2016/05/01(日) 10:09:08.28 ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません


96 :デフォルトの名無しさん:2016/05/01(日) 10:45:32.64 ID:ZxoAm746
>>95
死ね

97 :デフォルトの名無しさん:2016/05/02(月) 05:38:44.84 ID:vK6Lism+
1M もないJpeg画像表示するのになんで10M以上のメモリ消費するんや

98 :デフォルトの名無しさん:2016/05/02(月) 09:36:40.56 ID:/HEiP4n3
デコードしたらおいくらなの

99 :デフォルトの名無しさん:2016/05/09(月) 18:39:32.05 ID:Is8eYYtQ
ソリッドステートロジックだろ

100 :デフォルトの名無しさん:2016/05/11(水) 21:53:18.33 ID:HIUG/S+o
.NET Framework 4.6 インストール環境において描画したオブジェクトが印刷されない場合があります。
https://blogs.msdn.microsoft.com/japan_platform_sdkwindows_sdk_support_team_blog/2016/05/11/

252 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)