private void CreateItemIcon() { if (ScoreItem == null) { return; } PanelIcon.Children.Clear(); IconButtonItem iconItem; Button iconButton; string iconPath = string.Empty; ScoreSetting setting; if (string.IsNullOrEmpty(ScoreItem.IconName)) { if (ScoreItem.Type == ScoreObjectType.ScoreGroup) { setting = Settings.FirstOrDefault(s => s.Category == "I" && s.Code == "I_SCOREG"); if (setting != null) { iconPath = setting.Value; } } else { setting = Settings.FirstOrDefault(s => s.Category == "I" && s.Code == "I_STANDARD"); if (setting != null) { iconPath = setting.Value; } } } else { setting = Settings.FirstOrDefault(s => s.Category == "I" && s.Code == ScoreItem.IconName); if (setting != null) { iconPath = setting.Value; } } iconItem = new IconButtonItem(); iconItem.Name = "Icon"; iconItem.Display = "Icon"; iconItem.ToolTip = ScoreItem.Description; iconItem.Icon = iconPath; iconButton = new Button(); iconButton.DataContext = iconItem; iconButton.SetResourceReference(StyleProperty, "ButtonItemTag"); iconButton.Click += IconButton_Click; PanelIcon.Children.Add(iconButton); setting = Settings.FirstOrDefault(s => s.Category == "S" && s.Code == "T_ICON_VIS"); if (setting != null && setting.Value == "T") { PanelIcon.Visibility = Visibility.Visible; } else { PanelIcon.Visibility = Visibility.Collapsed; } }
private void CreateFlagIcons() { if (ScoreItem == null) { return; } PanelFags.Children.Clear(); IconButtonItem iconItem; Button iconButton; ScoreSetting setting; ScoreLangauge langauge; //描述 if (!string.IsNullOrEmpty(ScoreItem.Description)) { iconItem = new IconButtonItem(); iconItem.Name = "Description"; iconItem.Display = "Description"; iconItem.ToolTip = "Show or Close Description"; if (Languages != null) { langauge = Languages.FirstOrDefault(l => l.LangID == LangID && l.Category == "ScoreViewer" && l.Code == "T_ShowDescription"); if (langauge != null) { iconItem.ToolTip = langauge.Display; } } iconItem.Icon = "/UMPScoreSheet;component/Themes/Default/Images/info.png"; if (Settings != null) { setting = Settings.FirstOrDefault(s => s.Category == "I" && s.Code == "I_DESCRIPTION"); if (setting != null) { iconItem.Icon = setting.Value; } } iconButton = new Button(); iconButton.DataContext = iconItem; iconButton.SetResourceReference(StyleProperty, "ButtonItemTag"); iconButton.Click += IconButton_Click; PanelFags.Children.Add(iconButton); } //备注 if (ScoreItem.Comments.Count > 0) { iconItem = new IconButtonItem(); iconItem.Name = "Comments"; iconItem.Display = "Comments"; iconItem.ToolTip = "Show or Close Comments"; if (Languages != null) { langauge = Languages.FirstOrDefault(l => l.LangID == LangID && l.Category == "ScoreViewer" && l.Code == "T_ShowComment"); if (langauge != null) { iconItem.ToolTip = langauge.Display; } } iconItem.Icon = "/UMPScoreSheet;component/Themes/Default/Images/showcomment.png"; if (Settings != null) { setting = Settings.FirstOrDefault(s => s.Category == "I" && s.Code == "I_COMMENT_ITEM"); if (setting != null) { iconItem.Icon = setting.Value; } } iconButton = new Button(); iconButton.DataContext = iconItem; iconButton.SetResourceReference(StyleProperty, "ButtonItemTag"); iconButton.Click += IconButton_Click; PanelFags.Children.Add(iconButton); } //关键项 if (ScoreItem.IsKeyItem) { iconItem = new IconButtonItem(); iconItem.Name = "KeyItem"; iconItem.Display = "KeyItem"; iconItem.ToolTip = "Key Item"; if (Languages != null) { langauge = Languages.FirstOrDefault(l => l.LangID == LangID && l.Category == "ScoreViewer" && l.Code == "T_KeyItem"); if (langauge != null) { iconItem.ToolTip = langauge.Display; } } iconItem.Icon = "/UMPScoreSheet;component/Themes/Default/Images/keyitem.png"; if (Settings != null) { setting = Settings.FirstOrDefault(s => s.Category == "I" && s.Code == "I_KEY_ITEM"); if (setting != null) { iconItem.Icon = setting.Value; } } iconButton = new Button(); iconButton.DataContext = iconItem; iconButton.SetResourceReference(StyleProperty, "ButtonItemTag"); iconButton.Click += IconButton_Click; PanelFags.Children.Add(iconButton); } //附加项 if (ScoreItem.IsAddtionItem) { iconItem = new IconButtonItem(); iconItem.Name = "AdditionItem"; iconItem.Display = "AdditionItem"; iconItem.ToolTip = "Addition Item"; if (Languages != null) { langauge = Languages.FirstOrDefault(l => l.LangID == LangID && l.Category == "ScoreViewer" && l.Code == "T_AddItem"); if (langauge != null) { iconItem.ToolTip = langauge.Display; } } iconItem.Icon = "/UMPScoreSheet;component/Themes/Default/Images/additionalitem.png"; if (Settings != null) { setting = Settings.FirstOrDefault(s => s.Category == "I" && s.Code == "I_ADD_ITEM"); if (setting != null) { iconItem.Icon = setting.Value; } } iconButton = new Button(); iconButton.DataContext = iconItem; iconButton.SetResourceReference(StyleProperty, "ButtonItemTag"); iconButton.Click += IconButton_Click; PanelFags.Children.Add(iconButton); } var controlFlag = ScoreItem.ControlFlag; //控制源 if ((controlFlag & 1) != 0) { iconItem = new IconButtonItem(); iconItem.Name = "ControlSource"; iconItem.Display = "ControlSource"; iconItem.ToolTip = "Control Source Item"; if (Languages != null) { langauge = Languages.FirstOrDefault(l => l.LangID == LangID && l.Category == "ScoreViewer" && l.Code == "T_ControlSource"); if (langauge != null) { iconItem.ToolTip = langauge.Display; } } iconItem.Icon = "/UMPScoreSheet;component/Themes/Default/Images/controlitem.png"; if (Settings != null) { setting = Settings.FirstOrDefault(s => s.Category == "I" && s.Code == "I_CTL_SRC"); if (setting != null) { iconItem.Icon = setting.Value; } } iconButton = new Button(); iconButton.DataContext = iconItem; iconButton.SetResourceReference(StyleProperty, "ButtonItemTag"); iconButton.Click += IconButton_Click; PanelFags.Children.Add(iconButton); } //控制目标 if ((controlFlag & 2) != 0) { iconItem = new IconButtonItem(); iconItem.Name = "ControlTarget"; iconItem.Display = "ControlTarget"; iconItem.ToolTip = "Control Target Item"; if (Languages != null) { langauge = Languages.FirstOrDefault(l => l.LangID == LangID && l.Category == "ScoreViewer" && l.Code == "T_ControlTarget"); if (langauge != null) { iconItem.ToolTip = langauge.Display; } } iconItem.Icon = "/UMPScoreSheet;component/Themes/Default/Images/controltarget.png"; if (Settings != null) { setting = Settings.FirstOrDefault(s => s.Category == "I" && s.Code == "I_CTL_TGT"); if (setting != null) { iconItem.Icon = setting.Value; } } iconButton = new Button(); iconButton.DataContext = iconItem; iconButton.SetResourceReference(StyleProperty, "ButtonItemTag"); iconButton.Click += IconButton_Click; PanelFags.Children.Add(iconButton); } }