protected ContextMenu BuildContextMenu() { // menu according to header if (this.Header != null) { Parameter p = this.Header as Parameter; if (p != null) { if (p.Buddy != null && p.CompResult < ComparisonResult.SAME) { ContextMenu cm = new ContextMenu(); cm.UseLayoutRounding = true; MenuItem mi1 = new MenuItem(); mi1.Header = "Eigenschaften übernehmen"; mi1.Command = new RelayCommand((x) => p.AdoptPropertiesOfBuddy()); mi1.Icon = new Image { Source = new BitmapImage(new Uri(@"../Data/icons/menu/menu_OK.png", UriKind.Relative)), Width = 16, Height = 16 }; cm.Items.Add(mi1); return(cm); } else if (p.Buddy == null && p.CompResult == ComparisonResult.UNIQUE && this.OtherParentComp != null) { ContextMenu cm = new ContextMenu(); cm.UseLayoutRounding = true; MenuItem mi1 = new MenuItem(); mi1.Header = "in andere Komponente übertragen"; mi1.Command = new RelayCommand((x) => this.OtherParentComp.AddCopyOfParameter(p, this.User)); mi1.Icon = new Image { Source = new BitmapImage(new Uri(@"../Data/icons/menu/menu_REF_on.png", UriKind.Relative)), Width = 16, Height = 16 }; cm.Items.Add(mi1); return(cm); } } Calculation calc = this.Header as Calculation; if (calc != null) { if (calc.Buddy != null && calc.CompResult == ComparisonResult.SAMENAMEUNIT_DIFFVALUE) { ContextMenu cm = new ContextMenu(); cm.UseLayoutRounding = true; MenuItem mi1 = new MenuItem(); mi1.Header = "Ausdruck übernehmen"; mi1.Command = new RelayCommand((x) => calc.AdoptPropertiesOfBuddy()); mi1.Icon = new Image { Source = new BitmapImage(new Uri(@"../Data/icons/menu/menu_OK.png", UriKind.Relative)), Width = 16, Height = 16 }; cm.Items.Add(mi1); return(cm); } else if (calc.Buddy == null && calc.CompResult == ComparisonResult.UNIQUE && this.OtherParentComp != null) { ContextMenu cm = new ContextMenu(); cm.UseLayoutRounding = true; MenuItem mi1 = new MenuItem(); mi1.Header = "in andere Komponente übertragen"; mi1.Command = new RelayCommand((x) => this.OtherParentComp.AddCopyOfCalculation(calc, this.User)); mi1.Icon = new Image { Source = new BitmapImage(new Uri(@"../Data/icons/menu/menu_REF_on.png", UriKind.Relative)), Width = 16, Height = 16 }; cm.Items.Add(mi1); return(cm); } } } return(null); }