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