private DataGridTemplateColumn CreateGridTemplateColumn(int index, string columnName)
        {
            DataTemplate cellDataTemplate = new DataTemplate();

            var innerVisualTree = new FrameworkElementFactory(typeof(ContentControl));

            innerVisualTree.SetValue(FrameworkElement.StyleProperty, CellStyle);

            Binding b11 = new Binding(".[" + index + "]");

            //dataTemplate1.VisualTree.SetValue(ContentPresenter.HorizontalAlignmentProperty,HorizontalAlignment.Center);
            innerVisualTree.SetValue(ContentControl.ContentProperty, b11);

            DataTemplateSelector dataTemplateSelector1 = new ViewModelByStrongNameDataTemplateSelector();

            innerVisualTree.SetValue(ContentControl.ContentTemplateSelectorProperty, dataTemplateSelector1);


            cellDataTemplate.VisualTree = innerVisualTree;


            DataGridTemplateColumn dataGridTemplateColumn = new DataGridTemplateColumn
            {
                Header       = columnName,
                IsReadOnly   = true,
                CellTemplate = cellDataTemplate
            };

            return(dataGridTemplateColumn);
        }
Ejemplo n.º 2
0
        private GridViewColumn CreateGridTemplateColumn(int index, string columnName)
        {
            // DataTemplate dataTemplate1 = new DataTemplate();
            // dataTemplate1.VisualTree = new FrameworkElementFactory(typeof(ContentPresenter));
            //var contentPresenterHigh = new ContentPresenter();

            // if (IsDeviceValues)
            // {
            //     Binding b11 = new Binding(".[" + index + "].DeviceValue");
            //     //dataTemplate1.VisualTree.SetValue(ContentPresenter.HorizontalAlignmentProperty,HorizontalAlignment.Center);
            //     dataTemplate1.VisualTree.SetValue(ContentPresenter.ContentProperty, b11);
            // }
            // else
            // {
            //     Binding b11 = new Binding(".[" + index + "].LocalValue");
            //     //dataTemplate1.VisualTree.SetValue(ContentPresenter.HorizontalAlignmentProperty,HorizontalAlignment.Center);
            //     dataTemplate1.VisualTree.SetValue(ContentPresenter.ContentProperty, b11);
            // }
            // DataTemplateSelector dataTemplateSelector1 = new ViewModelByStrongNameDataTemplateSelector();
            // dataTemplate1.VisualTree.SetValue(ContentPresenter.ContentTemplateSelectorProperty, dataTemplateSelector1);

            DataTemplate cellDataTemplate = new DataTemplate();



            var innerVisualTree = new FrameworkElementFactory(typeof(ContentControl));

            innerVisualTree.SetValue(FrameworkElement.StyleProperty, CellStyle);
            if (IsDeviceValues)
            {
                Binding b11 = new Binding(".[" + index + "].DeviceValue");
                //dataTemplate1.VisualTree.SetValue(ContentPresenter.HorizontalAlignmentProperty,HorizontalAlignment.Center);
                innerVisualTree.SetValue(ContentControl.ContentProperty, b11);
            }
            else
            {
                Binding b11 = new Binding(".[" + index + "].LocalValue");
                //dataTemplate1.VisualTree.SetValue(ContentPresenter.HorizontalAlignmentProperty,HorizontalAlignment.Center);
                innerVisualTree.SetValue(ContentControl.ContentProperty, b11);
            }

            DataTemplateSelector dataTemplateSelector1 = new ViewModelByStrongNameDataTemplateSelector();

            innerVisualTree.SetValue(ContentControl.ContentTemplateSelectorProperty, dataTemplateSelector1);


            cellDataTemplate.VisualTree = innerVisualTree;


            GridViewColumn dataGridTemplateColumn = new GridViewColumn
            {
                Header = columnName,
                //IsReadOnly = true,
                CellTemplate = cellDataTemplate
            };

            return(dataGridTemplateColumn);
        }
Ejemplo n.º 3
0
        private static void OnMenuItemsPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var behavior         = (d as DynamicMainMenuBehavior);
            var assosiatedObject = behavior.AssociatedObject;

            if (assosiatedObject == null)
            {
                return;
            }
            var menuItems = behavior.MenuItems;

            assosiatedObject.ContextMenu = new ContextMenu();

            foreach (var menuItem in menuItems)
            {
                if (menuItem is MenuItemViewModel menuItemViewModel)
                {
                    var template = new ViewModelByStrongNameDataTemplateSelector().SelectTemplate(menuItemViewModel.StronglyNamedViewModel, assosiatedObject);
                    var content  = template.LoadContent().GetChildObjects().First();

                    if (content is MenuItem menuItemTemplated)
                    {
                        DisconnectIt(menuItemTemplated);
                        menuItemTemplated.DataContext = menuItemViewModel.StronglyNamedViewModel;
                        assosiatedObject.ContextMenu.Items.Add(menuItemTemplated);
                    }
                }
                else if (menuItem is MenuItemCommandViewModel menuItemCommandViewModel)
                {
                    assosiatedObject.ContextMenu.Items.Add(new MenuItem()
                    {
                        Header = StaticContainer.Container.Resolve <ILocalizerService>()
                                 .GetLocalizedString(menuItemCommandViewModel.NameKey),
                        Command = menuItemCommandViewModel.Command
                    });
                }
            }
        }