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); }
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); }
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 }); } } }