セージ の メモ書き

メモこそ命の恩人だ

WPF-MVVM

バインディングエラーの検出

BindingExpression path error BindingExpression path error バインディング先を検出できない場合に表示されるエラー。 デバッグモードの出力画面で確認できる。 <Window.DataContext> <local:MainViewModel /> </Window.DataContext> <StackPanel> <TextBox Text="{Binding SampleProperty}" /> <Button Command="{Binding SampleCommand}" /> </button></textbox></stackpanel>

キー入力検知

XAML InputBindings プロパティ KeyBinding クラス MouseBinding クラス コードビハインド Keyboard.KeyDown イベント XAML InputBindings プロパティ UIElement.InputBindings プロパティ (System.Windows) | Microsoft Docs 入力イベントとコマンドを関連…

ReactiveProperty

ReactiveProperty ReactiveProperty クラス ReactiveCommand クラス メモリリーク ReactiveProperty GitHub - runceel/ReactiveProperty: ReactiveProperty provides MVVM and asynchronous support features under Reactive Extensions. Target framework i…

ObservableCollection してみる

ObservableCollection BindingOperations.EnableCollectionSynchronization メソッド ソート処理 注意事項 ( 全削除+追加の連続動作 ) 対応策 ObservableCollection https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.objectmodel.observabl…

Dictionary ( ディクショナリ ) をバインディング してみる

Dictionary バインディング方法 Dictionary 参考:Dictionary ( ディクショナリ ) してみる - ソーセージ の メモ書き バインディング方法 Key, Value でバインディングできる。 Mode=OneWay を指定すること。 以下のディクショナリをバインディングしてみる…

StringFormat でバインディング してみる

StringFormat StringFormat BindingBase.StringFormat Property (System.Windows.Data) | Microsoft Docs バインディングの書式を指定できる。 {x} にバインディングした値が入る。 シングルバインディング時は {0} のみ使用。 マルチバインディング時は {0}…

値コンバーター ( IValueConverter, IMultiValueConverter ) してみる

値コンバーター IValueConverter インターフェース Convert メソッド ConvertBack メソッド サンプル Bool と Visibility のコンバーター 大小判定 IMultiValueConverter インターフェース 値コンバーター 方法: バインドされたデータを変換する | Microsoft…

Messenger パターン してみる

Messenger ( メッセンジャー ) パターン InteractionRequest クラス Notification クラス Confirmation クラス 自作クラス ( 自作画面の表示 ) Messenger ( メッセンジャー ) パターン Messenger を介して ViewModel から View にメッセージを伝える設計方法…

自動実装プロパティをデータバインディング してみる

自動実装プロパティ バインディング方法 自動実装プロパティ private フィールド のないプロパティ。 EntityFramework を使用する際、このプロパティを使う。 このプロパティにバインディング機能を持たせたい。 イメージはこんな感じ。 「SampleProperty」…

コマンド してみる

ICommand インターフェース DelegateCommand クラス XAML での使用方法 Command プロパティ CommandParameter プロパティ ICommand インターフェース ICommand インターフェイス (System.Windows.Input) | Microsoft Docs コマンドの機能を実装するインター…

バインディング してみる

バインディング 実装方法 INotifyPropertyChanged インターフェース BindableBase クラス DataContext プロパティ バインディング マークアップ拡張 Path Mode 既定値の確認方法 UpdateSourceTrigger バインディング・ソースの切替機能 ElementName Relative…