コンテキスト メニューに文字列のリストを表示しようとしています。このアプリには、編集、削除、グループへの追加が可能な人々のデータグリッドが含まれています。私は、人を追加できるさまざまなグループである StudentGroup クラスを持っています (StudentGroup のメンバーの 1 つは名前です)。ViewModel は、グループの完全なリストを取得し、Observable Collection 内に配置します。ユーザーが右クリックして [ユーザーを追加] にカーソルを合わせるたびに、コンテキスト メニューを機能させようとしています -> 監視可能なコレクションの名前文字列を含むサイド メニュー項目が開きます。
これは、StackOverflow で同様の質問を検索してこれまでに試したことですが、まだうまくいきませんでした。
XAML:
<DataGrid.ContextMenu>
<ContextMenu AllowDrop="True" ItemsSource="{Binding Entries}">
<MenuItem Header="Edit" />
<MenuItem Header="Delete"/>
<MenuItem Header="Add User to">
<MenuItem.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>
XAML コード ビハインド ビュー:
private TitleViewMode TVM=new TitleViewMode;
public Welcome()
{
InitializeComponent();
_grid1.ContextMenu.DataContext = TVM;
}
ビューモデル
class TitleViewModel
{
public ObservableCollection<StudentGroup> Entries {get;set;}
private List<StudentGroup> sg1 { get; set;}
public TitletViewModel()
{
sg1 = GetGroups();
Entries = new ObservableCollection<StudentGroup>(sg1);
}
}