Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
305
Binding Context Menu in a XamGrid
posted

Hi,

I'd like to be able to bind context menu for a xamGrid to a property in my viewmodel. It tried a number of things picked up from different places but it didnt work. My latest attempt is below

                <igMenu:ContextMenuService.Manager>
                    <igMenu:ContextMenuManager ModifierKeys="None">
                        <igMenu:ContextMenuManager.ContextMenu>
                            <igMenu:XamContextMenu  ItemsSource="{Binding ContextMenuItems}">
                                <igMenu:XamContextMenu.ItemTemplate>
                                    <DataTemplate>
                                        <TextBlock Text="{Binding Label}" />
                                    </DataTemplate>
                                </igMenu:XamContextMenu.ItemTemplate>
                            </igMenu:XamContextMenu>
                        </igMenu:ContextMenuManager.ContextMenu>
                    </igMenu:ContextMenuManager>
                </igMenu:ContextMenuService.Manager>

in c#

    public class Data {
        public string Header { get; set; }
    }

...

// This is in my ViewModel class

        private ObservableCollection<Data> _contextMenuItems = new ObservableCollection<Data>();

        public ObservableCollection<Data> ContextMenuItems {
            get { return _contextMenuItems; }
            set { _contextMenuItems = value; }
        }

Am I missing anything?

 

Thank you,

 

Eugene

 

Parents
No Data
Reply
  • 40030
    Offline posted

    Hi Eugene, 

    The XamContextMenu technically isn't in the VisualTree, as it floating in a popup. So it doesn't pick up standard DataContext inheritance. 

    Instead, your binding has to have a source set via a StaticResource. 

    -SteveZ

Children