[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 07/31 14:03 / Filesize : 252 KB / Number-of Response : 1038
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 09:09:13.94 ID:KhhA22kJ.net]
Windows Presentation Frameworkについて語るスレ。

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

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

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

2 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 06:09:39.89 ID:urIvfzei.net]
Prism触ったけどなんか俺にはmoduleとかresionとかなんか取っつきにくいわ
まだlivetの方が扱いやすい
しかしlivetは更新きそうもねぇ…

3 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 06:38:28.68 ID:jDR4zwYO.net]
おー
わんだふる
こーでぃ
んぐ

4 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 09:30:03.19 ID:3FEzfd+k.net]
>>2
俺は一人でやっているからmoduleはほとんどつかわないな
resionは画面遷移させたりするからよく使うね
livetはオワコンってどっかで見たような気がする
MVVMパターンでコーディングしていくなら
prism一択だともう、UWP向けもあるし

5 名前:デフォルトの名無しさん [2017/05/11(木) 16:58:28.11 ID:yv1eK+cF.net]
WPFは定着したのか?

6 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 19:47:14.62 ID:7SeHLwtP.net]
煽るなよクズ

7 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 20:29:11.34 ID:ZJ7VD95O.net]
WPFとUWPはコントロールを統一してほしいわ

8 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 21:03:57.37 ID:Iyov9hyd.net]
WPFにもx:bindくださいよ・・・

9 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 21:41:57.64 ID:qZUu09r+.net]
WPFは実験台だったんだよ!!

10 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 22:14:42.24 ID:H/VVixUH.net]
>>6
質問しただけなのに煽り扱いとか草



11 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 09:03:05.08 ID:aVMf/EH4.net]
>>9
silverlight「せやな」

12 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 09:49:53.60 ID:/FU2Mr/k.net]
>>9
WinForms「そんなバカな!?」

13 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 10:41:27.09 ID:178y8u3h.net]
XAML Standard 1.0かあ

> Post specification plans include support of XAML standard in Xamarin Forms and UWP

フフッ

14 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 11:10:06.94 ID:aVMf/EH4.net]
WPFにx:bindがくるの?

15 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 11:47:01.51 ID:178y8u3h.net]
https://github.com/Microsoft/xaml-standard/issues/20

本当にどうするつもりなのやら…

16 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 12:06:16.95 ID:jSPcfUbH.net]
XAML StandardはUWP基準でやったほうが楽っぽいけど、どうなるんだろ?

17 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 20:22:06.68 ID:3U2TPXlN.net]
DataGridViewとDataGridとGridView・・・名前だけでも収拾つかなくなってるな

18 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 12:03:16.66 ID:+XOpMNlS.net]
VS2015upd3のデザイナー上で突然、下記のエラーが起きたんだけどなぜこうなったか分かりますか?
{
"Version": "W.3.2.2.0",
"Guid": "6fe59b26-7383-40d5-947c-7448769a5e81",
"Type": "System.Runtime.InteropServices.COMException",
"Time": "2017/05/13 11:39:38",
"Position": "PresentationCore--->Void SyncFlush()",
"Message": "HRESULT からの例外:0x88980406",
"StackTrace": " 場所 System.Windows.Media.Composition.DUCE.Channel.SyncFlush()\r\n
〜〜〜〜〜〜
System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)"
}

19 名前:18 mailto:sage [2017/05/13(土) 13:38:34.53 ID:+XOpMNlS.net]
自己解決です。
どうやら拡張機能である[BabeLua]をインストールしてたのが原因でした。

20 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 18:08:45.66 ID:Ctz1XYd1.net]
DataGridのRowDetailにDataGridをネストして、更にそのDataGridのRowDetailにDataGridをネストして...
という感じで多階層にデータを取り扱えないかチャレンジしているのですが、
この時、動的に生成された全てのDataGridの中から最後に選択された1つのアイテムを取得する方法ってありますでしょうか?
SelectedItemプロパティを全て同じVMのプロパティにBindしてみたのですが、思うように動いてくれず・・・。



21 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 23:36:54.04 ID:NF1B/L7+.net]
せめてサンプルは出そうよ

22 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 23:45:12.16 ID:H6WdDjEY.net]
高度に発達した天才はキチガイと区別がつかない

23 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 09:10:31.52 ID:yWt8l9TR.net]
失念しておりました!下記の通りです。
※View.xaml
<DataTemplate x:Key="Expander">
<ToggleButton IsChecked="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow},
Converter={StaticResource VisbilityToBoolean},Path=DetailsVisibility}">
</ToggleButton>
</DataTemplate>
<DataTemplate x:Key="ChildDataGrid">
<DataGrid ItemsSource="{Binding Children}"
SelectedItem="{Binding SelectedRowItem}"
RowDetailsTemplate="{DynamicResource Child}">
<DataGrid.Columns>
<DataGridTemplateColumn CellTemplate="{StaticResource Expander}" />
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
<DataGrid ItemsSource="{Binding Items}"
SelectedItem="{Binding SelectedRowItem}"
RowDetailsTemplate="{DynamicResource ChildDataGrid}">
<DataGrid.Columns>
<DataGridTemplateColumn CellTemplate="{StaticResource Expander}" />
</DataGrid.Columns>
</DataGrid>

※VM.cs
public object SelectedRowItem{get;set;}
public ObservableCollection<Item> Items{get;set;}
※Model.cs
public class Item{
public int ItemId{get;set;}
public string ItemName{get;set;}
public List<Item> Children{get;set;}}

24 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 09:11:34.75 ID:yWt8l9TR.net]
DataGrid(A)のItem1を選択→展開されたDataGrid(A)のRowDetail内のDataGrid(B)のItem2を選択(ここまでは理想通りにSelectedItemが拾える)
→DataGrid(A)のItem1を再度選択(この時にSelectedItemがnullでセッターに飛んでくる)
といった感じで最終的に選択されたアイテムはItem1である、となって欲しいのですが、うまく行きません。。。

25 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 02:33:43.45 ID:l5Fo+DHG.net]
Xamarin.Forms Feature Roadmap ? Xamarin Forums
https://forums.xamarin.com/discussion/85747/xamarin-forms-feature-roadmap/

Xamarin.Forms for WPF

26 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 02:39:33.97 ID:uA2nqlms.net]
DataGridが大量データに弱すぎて使い物にならない。
せめてExcel並みのパフォーマンスくらい難なく出させてくれよって感じ。

いろいろ調べたけど、結局満足の行く情報も得られず。英語読めないし、日本語文献少なすぎ。
線と文字と縦横のスクロールバーを使って自前の描画をさせることも試したけど、
1ピクセルの細い線が満足に引けないって何なんだか。
見える範囲だけ線と文字を並べるのも速く無かったし。

で、WPFをメインに据えるのは諦めた。

WebBrowserでHTMLやJavaScript使う方がマシだなって思ったら、WPFのWebBrowserが
Windows FormsのWebBrowserより低機能とか、全くどうなってんだか。

WPF何とかならんのかね。。。。。。。。。。

27 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 03:37:37.19 ID:KHEwJCpd.net]
なんかすぐにパフォーマンス的な制約にぶつかるよねWPFって
何で最初からせめてWindows Formは機能的に完全に置き換え可能なように気合いれて作らなかったのか

28 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 03:42:10.64 ID:BkQCepkhb]
サードパーティので解決しそう

29 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 13:11:07.24 ID:t3SNHOM+.net]
できるわけないだろ、常識的に考えて・・・
最近はアセンブラ経験ない奴増えてパフォーマンスに対する認識が低すぎる・・・
どういう処理が重くてどういう処理が軽いが全く認識せずコード書いてる・・・

30 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 13:13:56.09 ID:5vuXYzJT.net]
この2017年にもなってまだアセンブラ意識してコード書かなきゃならんのかよ



31 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 13:25:13.56 ID:t3SNHOM+.net]
むしろアセンブラの知

32 名前:識がいらないという発想が全く理解できない。
たぶんキミはPGに向いてない。
[]
[ここ壊れてます]

33 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 13:30:30.22 ID:Wox1Gkc9.net]
必死すぎワロタ

34 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 14:00:19.52 ID:U9rYpiRi.net]
アセンブラまで行かなくても、ライブラリー類を一切使わず処理を全部基本の文法だけで書いて
パフォーマンスを自分で考える位のことは、プログラミングの勉強の一環として必要かもね。
利便性とパフォーマンスのバランス感覚を身に付けると言うか。

35 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 14:07:25.80 ID:l5Fo+DHG.net]
DataGridはWinFormsでもうんこだから。

36 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 16:00:16.10 ID:rnnQH6fx.net]
だよねー
いつ良かったんだろ?

37 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 18:21:04.77 ID:jVqpThIf.net]
DataGridは入力系だから、最大でも数十行マトモに動けば問題ないと思うんだよな
数百数千行表示したければListBox使えばいいよ
Formsと違って、WpfやUwpはListBoxの表現力は高い

38 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 18:58:05.92 ID:A83HeXSo.net]
WPF初期リリースにDataGridが含まれてなかったのは、
Templateいじれば同等の事できるはずだから不要ってことだったのかね?

39 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:59:37.33 ID:DQmNnW2r.net]
RenderTargetBitmap からメタファイルを生成するサンプルって
どこかにありますか?

40 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:44:17.23 ID:9h1Xx+SW.net]
WPFスレでアセンブラどうこう言ってる化石は土に埋まってろよ



41 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:46:30.50 ID:PmwbqNDX.net]
百歩ゆずってCPUの動作、また百歩ゆずって機械語を意識しろなら
わからんでもないけどアセンブラはないねw

しかも正式にはアセンブラじゃなくてアセンブリ言語だしw

42 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:46:34.95 ID:8zMWeNzv.net]
き〜か〜い〜の〜き〜も〜ち〜

43 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 02:00:38.41 ID:k47BBUnj.net]
>>40
すごい知ったかだな。普通にAssemblerもよく使われる。
書籍の題名とかほとんどアセンブラになってるだろう。
最適化の文献や機械語の勉強を一度もしたことないことがすぐ分かる。

44 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 03:50:00.04 ID:xPrtSSgz.net]
おじいちゃんほんと申し訳ないんだけど一生懸命覚えたであろうアセンブラの知識や機械語の知識
現代では君が信じてるほど出番無いんだわ

45 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 05:46:56.15 ID:pa0r6x2E.net]
大昔は、乗除算や分岐が重い処理だから少なくするんだっけ
ちょっと昔は、コンテキストスイッチに気を付けるくらい?
今は何に気を付ければいいん?
マネージ・アンマネージの行き来?

46 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 07:59:15.03 ID:5ysSED91.net]
キャリーフラグの値が欲しいときがある。

47 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 08:09:37.53 ID:B8Y3PA0X.net]
まあ、頑張ってチマチマ最適化しようが、DataGridに数万行突っ込んだら全て終了です

48 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 08:40:00.41 ID:6fwslcYw.net]
仮想化しても駄目なの?

49 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 14:43:55.71 ID:jNq5R9xb.net]
>>42
しょうがないお馬鹿さんだな
アセンブラっていうのはCで言えば「Cコンパイラ」に対応する言葉。
C言語に対応するのは「アセンブリ」。

50 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 15:07:35.59 ID:xCFEt9+J.net]
数万って実際どのくらいかな



51 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 15:26:06.30 ID:1Ubd4ETn.net]
>>48
こういう奴は今でもD-RAMはおかしいD-RWMって言え
とか思ってるんだろうか w

52 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 09:03:17.61 ID:6FuooAR5.net]
そもそもDataGridに何万件もデータを入れようなんて設計が間違っているんじゃない?
それにWPFなら仮想化できるし、そこまで問題にならないような・・・

53 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 09:10:48.84 ID:f1FFPJ6b.net]
>>51
あのさぁ…話ループさせたいだけの下痢便くんはこの世に要らないわけ
分かる?
今すぐ中央線に突っ込んで死ね

54 名前:デフォルトの名無しさん [2017/05/22(月) 10:06:44.67 ID:ZytydYHf.net]
暑いけどまだ夏休みじゃないのにな

55 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 11:41:08.65 ID:eJszv2Pe.net]
毎日が日曜日なんだろ

56 名前:デフォルトの名無しさん [2017/05/22(月) 20:05:09.72 ID:EJo9O8hZ.net]
いまさらListViewがデフォ仮想化されててIsSelectedとBindしても同期されないって知ったのですが
仮想してる場合SelectionChangedから自力でやるしかないのですか?

57 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 20:11:22.91 ID:f1FFPJ6b.net]
ItermsControlの仮想化は欠陥品もいいとこだから切ってるわ
あとはパフォーマンスに端から期待しない設計をすればいい

58 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 20:56:51.57 ID:zMhg6UhV.net]
stackoverflow.com/questions/31176949/binding-selecteditems-of-listview-to-viewmodel
こういうのはどう?

59 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:24:33.03 ID:qkUesmwG.net]
>あとはパフォーマンスに端から期待しない設計をすればいい
パフォーマンスがWin Formsと同等、あとはコントロールなどWin Formsと同等のものが
早いタイミングで用意されてたら、WPFの現状も今とは多少違うものになっていたろうにな

60 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:55:52.23 ID:xSrNGN1H.net]
WPFも.NET Nativeにすれば良かったんだよ。
今からもすれ。



61 名前:デフォルトの名無しさん [2017/05/22(月) 22:34:48.41 ID:MGdDMh7q.net]
>>51
その程度の思考でプログラマーやってることにドン引きだわ。

Excelみたいなアプリを作っちゃいけないんだ。へー。

DataGridの仮想化が糞なのも有名な話だと思うんだが。

62 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:40:32.33 ID:4tsp+V1N.net]
50に設計を依頼したくないな

63 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:43:05.83 ID:5GrenZQq.net]
>>60
WInFormsはListBoxやListViewがお粗末だから、見栄えの良い表にしようとするならDataGridViewを使わざるを得ないが
wpfなら大量データの表示はListViewやListBoxを使えばいい
DataGridは入力する場合だけに使えばいいから、言うほど大量のデータを扱う必要はない

64 名前:デフォルトの名無しさん [2017/05/23(火) 01:38:23.07 ID:04UVyDFy.net]
Excelが何万件ものデータを扱うとき全部オンメモリで
やってるとでも?
その程度の思考でプログラマーやってることにドン引きだわ。

しっかし、相変わらず文句ばかりのスレだね。
そのエネルギーをもっと有効活用すればいいのに。
別にWPF使えとか強要してるわけでもなし、こんな
過疎スレにわざわざからみに来るなんて余程暇なんだな。

65 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:53:54.82 ID:WH5r8h3p.net]
適材適所が理解出来ないお爺ちゃん達には困ったもんだよ、ほんとに。

66 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 08:24:09.32 ID:hLB5M4JB.net]
どうでもいいけどD-RWMって何を考えてこういうことになるんだろかね。

ROMがRead Only Memoryだから
RAMはRead Writeとかトンデモ理論なの?

Aはなんだと思ってたのかね。
Random Access Memoryなのに。

67 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 09:01:09.88 ID:eURNpC6R.net]
>>65
横だが、ROMも機能的にはランダムアクセスメモリーなわけで、ROMと区別するための識別子としてRAMは意味合い的にふさわしくないが
定着しちまったから略語として正しいRWMじゃなくてRAMと言っている

この理屈はアセンブリ言語を定着しているからアセンブラと呼ぶことと同じ理屈だってことじゃないかな
「アセンブリ言語だーと喚くならRWMと呼べ」という主張には一定の正当性があります

68 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 10:39:20.88 ID:/57g/yiT.net]
なんか鳥頭なのかこの話の流れの突っ込みどころ、笑いどころが分かってないのが多いけど、
そもそもWPFのパフォーマンスの話の中で「アセンブラ」なんて頓珍漢な言葉が出てくるのはどうなのっていう
そこだからw

言葉遣いが不適切であるってのはついでの話

69 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 10:58:17.14 ID:qgSsavId.net]
ループ以外のレスをしないでください

70 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:41:38.32 ID:bHvhS1TZ.net]
>>65
バカは書き込まなくていいぞ w



71 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:09:01.46 ID:FoMmFfzc.net]
XAMLのBindingで質問です。

とても単純なケースで説明すると、
XAML側でTextBoxを定義して、Textに
MainWindowに新設したstring testStringをBindするとします。

public partial class MainWindow : Window
{
public string testString { get; set; }


<TextBox x:Name="testTextBox" 〜省略〜 Text="{Binding testString}"/>

この状態において、

コンストラクタ内で
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
testString = "1st set";
}

このコードを実行すると起動時にテキストボックスに"1st set"が入っており想定通りです。
さらに、新規ボタンコントロールを追加して
ボタンが押された際に新しい文字列をテキストボックスに設定するようにするとテキストボックスが更新されません。

private void testButton_Click(object sender, RoutedEventArgs e)
{
testString = "push Button";
}

72 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:16:30.67 ID:CtcOIoTT.net]
>>70
INotifyPropertyChanged

73 名前:69 mailto:sage [2017/05/26(金) 00:22:39.18 ID:FoMmFfzc.net]
しかし、この状態で

private void testButton_Click(object sender, RoutedEventArgs e)
{
testString = "push Button";
// 以下を追加
Binding bind = new Binding("testString");
bind.Source = this;
this.testTextBox.SetBinding(TextBox.TextProperty, bind);
}

とするとテキストボックスは更新されました。

XAML側のBinding指定はコンストラクタなど各ウインドウ?が生成される時にしか有効ではないのでしょうか?
それ以後Bindされているオブジェクトが新しくなる場合は、再度バインドしなおさなくてはならないのでしょうか?

自分の理解では、
オブジェクトが更新された場合の内部挙動はBindingで所持しているプロパティパスを
DataContextからFindして該当プロパティの値を参照する、というようなイメージだったのですが、

どうもこの挙動をみていると、該当プロパティを見つけるところまでは同じですが、
見つけた後、プロパティの中に入っているオブジェクトそのものだけを記憶しているように感じます。
C++的な書き方をするなら
class MainWindow
{
string* testString;
}
// 想定していた挙動
string*& bind_property = MainWindow.testString;
// 実際の挙動
string* bind_property = MainWindow.testString;
みたいな感じですかね。新規オブジェクトのアドレスが代入されるけど、バインドは旧オブジェクトのアドレスをみているようなイメージ。

74 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:28:48.35 ID:FoMmFfzc.net]
>>71
> >>70
> INotifyPropertyChanged

testStringをMainWindowではなく
INotifyPropertyChangedを継承した別クラスにおいて、
そこで通知をうけれるようにする、という事でしょうか?

GUIコントロールからプロパティへのフィードバックが必要な場合はINotifyPropertyChanged
を使う必要があるのかなと思っていたのですが、
プロパティ->GUIコントロールだったとしてもINotifyPropertyChangedが必要なんでしょうか?

75 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 02:07:15.36 ID:t9Hdpjhx.net]
>>73
> GUIコントロールからプロパティへのフィードバックが必要な場合はINotifyPropertyChanged
> を使う必要があるのかなと思っていたのですが、
> プロパティ->GUIコントロールだったとしてもINotifyPropertyChangedが必要なんでしょうか?

これは逆だね
>>70 のコードでもテキストボックスのテキストを打ち変えたら testString の値も変わる
(デフォルトではテキストボックスからフォーカスが外れたとき)
INotifyPropertyChanged を実装するのは testString の値が変更されたことをテキストボックスに通知するため。

> testStringをMainWindowではなく
> INotifyPropertyChangedを継承した別クラスにおいて

インターフェイスなので MainWindow に実装してもいい。もちろん別クラスでもいい。

76 名前:69 mailto:sage [2017/05/26(金) 23:30:26.04 ID:FoMmFfzc.net]
ありがとうございました。
INotifyPropertyChangedで解決できました。
最終的にはPrismいれてBindableを使うようにしました。

ちなみに皆さんは、どこでWPFの情報を収集して学習しましたか?
MSDNだけで十分?
自分は本などは買っておらずネットだけでなんとかしようと思っていたのですが、
WPFのバックエンドの動作などが細かく解説してあるようなページはみつけられなくて・・。
そういったイメージがつかめるととっつきやすいかなーとおもうのですが。

77 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 00:50:54.10 ID:XfIUBFbn.net]
ReactivePropertyのほうが簡単でいいよ。
PrismとReactivePropertyの組み合わせが鉄板。

78 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 22:37:08.09 ID:sdz07quX.net]
>>75
書籍だとエッセンシャルかな

Google先生で十分じゃないかと
便利な世の中になったもんだと思う

79 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 22:43:09.07 ID:Cnbgg+tR.net]
>>77
エッセンシャルに一票
てか、まともなのが和書じゃこれしか見当たらん。

80 名前:69 mailto:sage [2017/05/28(日) 20:09:32.80 ID:wwPe3PxY.net]
みなさん、ありがとうございます。
参考にさせて頂きます。



81 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:36:45.18 ID:BsTukI6Z.net]
HogeViewModel は名前空間 "clr-namespace:ViewModels に存在しませんとかいうエラーに小一時間悩んだあげく
(実行はできるけどXAMLデザイナーがエラー出ていじれない)
結局ViewModelが参照してるDLLのインターフェースを実装したらそうなることが分かった・・・
意味分からん

82 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 02:38:41.97 ID:VSEcCyJ5.net]
そんなクラス(ロードでき)ないぞ!
というエラーなわけだな

83 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 08:18:09.78 ID:JS2ZXwNm.net]
デザイナーエラーで悩んだこと有ったが、俺の場合は古いBlendのdllがGACに入っていることが問題だったな

84 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 15:41:03.41 ID:wFAG8npl.net]
ねーねー
WPFってメモリリークしやすいっていうけど、リークしてるってのはどういう手法で見つけてるの?

例えば、VS2017の場合とか

85 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 16:26:06.42 ID:ZOQStLdx.net]
>>83
CLR Profiler

86 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:01:22.98 ID:293eyS1y.net]
Prismのインストール方法教えてください

87 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:04:53.79 ID:W7qZGWEB.net]
Prismはソースコードを必要なとこだけコピペして切り貼りして使うもんだよ
ライブラリじゃなくてあくまでサンプル集

88 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 23:35:05.61 ID:O9hXITjG.net]
>>85
NuGet

89 名前:デフォルトの名無しさん [2017/06/03(土) 09:08:04.39 ID:oS+kvV3r.net]
>>86
ワラタw

90 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 09:18:00.73 ID:os85wqX+.net]
実際Prismは本来はそういうものだけどな
最近はフレームワークを自称するようになったけど、元々の位置付けはあくまでサンプルコード



91 名前:デフォルトの名無しさん [2017/06/03(土) 10:31:16.61 ID:rMhcGp0h.net]
>>75
https://www.slideshare.net/mobile/okazuki0130/wpf45-38048141

92 名前:デフォルトの名無しさん [2017/06/05(月) 10:03:11.86 ID:cfgJ7GOo.net]
>>89
そんな昔話をして>>85の質問に対して何か意味あるの?
今は>>87が正解。prism 6で検索してターゲットに
合うものを入れればいい

93 名前:デフォルトの名無しさん mailto:sage [2017/06/05(月) 12:15:27.45 ID:Wbw5uYTG.net]
いや今も昔もPrismって出来合いのままで広汎なアプリの要求に対応できるようには作られてないだろ
基本的にはアプリに応じてカスタマイズして使うもんだし、それが負担になるような小規模のアプリはそもそも想定外
カスタマイズが必要になるまではライブラリとして使うというのはアリだと思うけどね

94 名前:デフォルトの名無しさん mailto:sage [2017/06/05(月) 12:18:28.84 ID:3pDi9kK3.net]
今も2017に対応させたLivetを使ってたりする…

95 名前:デフォルトの名無しさん [2017/06/05(月) 12:46:14.15 ID:cfgJ7GOo.net]
誰一人としてPrismがフルスタックのフレームワークだ
なんて主張してないし
>>85はプロジェクトへの組み込み方聞いてるだけだし

96 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 15:38:51.53 ID:L11NPkLC.net]
他のスレッドでインスタンス化したTextBlockを
UIスレッドでは見れないのはなぜでしょう?

97 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 19:07:49.41 ID:xO5K6/Fq.net]
あなたが仰られているそれが理由ですよ
他のスレッドでインスタンスを作ったから

98 名前:デフォルトの名無しさん mailto:sage [2017/06/10(土) 23:49:29.38 ID:DH1M8ZXTS]
アップデート機能のライブラリでいいのないですか
squirrel.windowsっていうのが良さそうだったんです
exeやdllをまとめてパッケージングするとフルバージョンと差分ができてAmazonS3にあげて参照するとアップデートしてくれる
ただポータブルのソフトにできないみたいで他のを探してるんです

99 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 20:58:15.69 ID:gyPvX65F.net]
差分アップデートの実装ってどうやってるの
差分ファイルを作るライブラリとかないすか

100 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 21:58:05.63 ID:KgLuH5ks.net]
>>98
DLLベースで作ってんの?
違うなら意味ない








[ 続きを読む ] / [ 携帯版 ]

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

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