C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C#,WPFでのコントロールの再描画


(過去ログ 134 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■79363 / inTopicNo.1)  C#,WPFでのコントロールの再描画
  
□投稿者/ angra (1回)-(2016/03/24(Thu) 17:46:24)

分類:[C#] 

C#、WPFでComboBoxを配置しています。
VisuaklStudio2013です。

ItemsSourceにObservableCollection<ListItem<XXX>> ComboList
をバインドしています。

複数のListがあり、
別のコントロールの状態によって
ComboBoxの要素を動的に変えたいです。

例えば、チェックボックスにチェックが入っていれば
ComboBoxには"1,2,3"、無ければ"あ,い,う,え,お"と表示するなどです。

バインドしている変数に代入するだけでは、
一度画面遷移を行わなければ再描画されません。

コントロールのインスタンスを直接さわらず、
画面遷移も行わずにコントロールの再描画を
実現する方法はありますでしょうか。


引用返信 編集キー/
■79364 / inTopicNo.2)  Re[1]: C#,WPFでのコントロールの再描画
□投稿者/ Hongliang (422回)-(2016/03/24(Thu) 17:53:02)
ComboBoxの要素を変更する際は、ComboListプロパティに別のObservableCollectionを代入し直している、と言う理解で合っていますか?
ComboListプロパティを持っているクラスにINotifyPropertyChangedを実装させ、ComboListのsetでPropertyChangedイベントを発生させるようにすればよさそうですが。
引用返信 編集キー/
■79365 / inTopicNo.3)  Re[2]: C#,WPFでのコントロールの再描画
□投稿者/ angra (2回)-(2016/03/24(Thu) 18:15:48)
2016/03/24(Thu) 18:16:12 編集(投稿者)

No79364 (Hongliang さん) に返信
> ComboBoxの要素を変更する際は、ComboListプロパティに別のObservableCollectionを代入し直している、と言う理解で合っていますか?
> ComboListプロパティを持っているクラスにINotifyPropertyChangedを実装させ、ComboListのsetでPropertyChangedイベントを発生させるようにすればよさそうですが。

ありがとうございます。
即解決しました。

RaisePropertyChangedでラムダ式は〜といったビルドエラーが出たため、
他の方法を模索していたのですが、
フィールド名を変えるとなぜかビルドが通り、期待動作をしました。

ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -