2013-08-16 78 views
3

我想讓上下文菜單顯示一個字符串列表。該應用程序包含可編輯,刪除和添加到組中的人員的數據網格。我有一個類StudentGroup,它們是不同的組,可以添加一個人(其中一個StudentGroup的成員是Name)。 ViewModel檢索組的完整列表並將其放入Observable集合中。我試圖使上下文菜單工作,以便每當用戶右鍵單擊並將鼠標懸停在添加用戶到 - >它打開一個側面menuitems包含Observable集合的名稱字符串。將可觀察集合綁定到上下文菜單

這是我迄今爲止通過在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); 
    } 

} 

回答

1

這應該工作

<MenuItem Header="Add User to" ItemsSource="{Binding Entries}"> 
    <MenuItem.ItemTemplate> 
     <DataTemplate> 
      <MenuItem Header="{Binding Name}"></MenuItem> 
     </DataTemplate> 
    </MenuItem.ItemTemplate> 
</MenuItem> 
相關問題