CaliburnとMVVMパターンでWPFを使用していて、動的なコンテキストメニューを設定しようとしています。
現在、ViewModelのBindableCollectionにバインドされたアイテムを含むコンテキストメニューがあります。
<UserControl.ContextMenu>
<ContextMenu ItemsSource="{Binding AvailableActions}"
actions:Action.TargetWithoutContext="{Binding}"
ItemContainerStyleSelector="{StaticResource NamedActionStyleSelector}"/>
</UserControl.ContextMenu>
public BindableCollection<NamedAction> AvailableActions { get; set; }
このBindableCollectionは、プログラムの実行中に特定の状況で次のメソッドによって更新されます(ビューモデルでも)。
private void UpdateAvailableActions()
現在のシステムはほとんどの状況でうまく機能しますが、右クリックイベントの後にリストを動的に生成する方が適切であることを示唆するいくつかのエッジケースがあります。
だから私の質問は、ユーザーが右クリックしたときにupdateメソッドを呼び出す(または呼び出される代替メソッドを書く)ための最良の方法を誰かが手伝ってくれるかどうかです。これを行う方法についての助けをいただければ幸いです。
ありがとう