public void Add_Authenticity()
        {
            ComboBox processA_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "processA_ComboBox");

            if (processA_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定ProcessA!";
                return;
            }
            ComboBox stateA_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "stateA_ComboBox");

            if (stateA_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定StateA!";
                return;
            }
            ComboBox attributeA_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "attributeA_ComboBox");

            if (attributeA_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定AttributeA!";
                return;
            }
            ComboBox processB_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "processB_ComboBox");

            if (processB_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定ProcessB!";
                return;
            }
            ComboBox stateB_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "stateB_ComboBox");

            if (stateB_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定StateB!";
                return;
            }
            ComboBox attributeB_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "attributeB_ComboBox");

            if (attributeB_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定AttributeB!";
                return;
            }

            Authenticity authenticity = new Authenticity(
                (Process)processA_ComboBox.SelectedItem,
                (State)stateA_ComboBox.SelectedItem,
                (Attribute)attributeA_ComboBox.SelectedItem,
                (Process)processB_ComboBox.SelectedItem,
                (State)stateB_ComboBox.SelectedItem,
                (Attribute)attributeB_ComboBox.SelectedItem
                );

            ((SecurityProperty_EW_VM)DataContext).SecurityProperty.Authenticities.Add(authenticity);
            ResourceManager.mainWindowVM.Tips = "添加了Authenticity:" + authenticity;
        }
        public void Delete_Authenticity()
        {
            ListBox authenticity_ListBox = ControlExtensions.FindControl <ListBox>(this, "authenticity_ListBox");

            if (authenticity_ListBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定要删除的Authenticity!";
                return;
            }

            Authenticity authenticity = (Authenticity)authenticity_ListBox.SelectedItem;

            ((SecurityProperty_EW_VM)DataContext).SecurityProperty.Authenticities.Remove(authenticity);
            ResourceManager.mainWindowVM.Tips = "删除了Authenticity:" + authenticity;
        }
        public void Update_Authenticity()
        {
            ListBox authenticity_ListBox = ControlExtensions.FindControl <ListBox>(this, "authenticity_ListBox");

            if (authenticity_ListBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定要修改的Authenticity!";
                return;
            }
            Authenticity authenticity = (Authenticity)authenticity_ListBox.SelectedItem;

            ComboBox processA_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "processA_ComboBox");

            if (processA_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定ProcessA!";
                return;
            }
            Process processA = (Process)processA_ComboBox.SelectedItem;

            ComboBox stateA_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "stateA_ComboBox");

            if (stateA_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定StateA!";
                return;
            }
            State stateA = (State)stateA_ComboBox.SelectedItem;

            ComboBox attributeA_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "attributeA_ComboBox");

            if (attributeA_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定AttributeA!";
                return;
            }
            Attribute attributeA = (Attribute)attributeA_ComboBox.SelectedItem;

            ComboBox attributeA_Attr_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "attributeA_Attr_ComboBox");

            if (attributeA_Attr_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定AttributeA下的二级属性!";
                return;
            }
            Attribute attributeA_Attr = (Attribute)attributeA_Attr_ComboBox.SelectedItem;

            ComboBox processB_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "processB_ComboBox");

            if (processB_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定ProcessB!";
                return;
            }
            Process processB = (Process)processB_ComboBox.SelectedItem;

            ComboBox stateB_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "stateB_ComboBox");

            if (stateB_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定StateB!";
                return;
            }
            State stateB = (State)stateB_ComboBox.SelectedItem;

            ComboBox attributeB_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "attributeB_ComboBox");

            if (attributeB_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定AttributeB!";
                return;
            }
            Attribute attributeB = (Attribute)attributeB_ComboBox.SelectedItem;

            ComboBox attributeB_Attr_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "attributeB_Attr_ComboBox");

            if (attributeB_Attr_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定AttributeB下的二级属性!";
                return;
            }
            Attribute attributeB_Attr = (Attribute)attributeB_Attr_ComboBox.SelectedItem;

            ObservableCollection <Authenticity> authenticities = ((SecurityProperty_EW_VM)DataContext).SecurityProperty.Authenticities;

            // 判重
            foreach (Authenticity auth in authenticities)
            {
                if (
                    auth.ProcessA == processA &&
                    auth.StateA == stateA &&
                    auth.AttributeA == attributeA &&
                    auth.AttributeA_Attr == attributeA_Attr &&
                    auth.ProcessB == processB &&
                    auth.StateB == stateB &&
                    auth.AttributeB == attributeB &&
                    auth.AttributeB_Attr == attributeB_Attr
                    )
                {
                    ResourceManager.mainWindowVM.Tips = "无效的操作。该条认证性性质已存在";
                    return;
                }
            }

            authenticity.ProcessA             = processA;
            authenticity.StateA               = stateA;
            authenticity.AttributeA           = attributeA;
            authenticity.AttributeA_Attr      = attributeA_Attr;
            authenticity.ProcessB             = processB;
            authenticity.StateB               = stateB;
            authenticity.AttributeB           = attributeB;
            authenticity.AttributeB_Attr      = attributeB_Attr;
            ResourceManager.mainWindowVM.Tips = "修改了Authenticity:" + authenticity;
        }
        public void Update_Authenticity()
        {
            ListBox authenticity_ListBox = ControlExtensions.FindControl <ListBox>(this, "authenticity_ListBox");

            if (authenticity_ListBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定要修改的Authenticity!";
                return;
            }

            ComboBox processA_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "processA_ComboBox");

            if (processA_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定ProcessA!";
                return;
            }
            ComboBox stateA_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "stateA_ComboBox");

            if (stateA_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定StateA!";
                return;
            }
            ComboBox attributeA_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "attributeA_ComboBox");

            if (attributeA_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定AttributeA!";
                return;
            }
            ComboBox processB_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "processB_ComboBox");

            if (processB_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定ProcessB!";
                return;
            }
            ComboBox stateB_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "stateB_ComboBox");

            if (stateB_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定StateB!";
                return;
            }
            ComboBox attributeB_ComboBox = ControlExtensions.FindControl <ComboBox>(this, "attributeB_ComboBox");

            if (attributeB_ComboBox.SelectedItem == null)
            {
                ResourceManager.mainWindowVM.Tips = "需要选定AttributeB!";
                return;
            }

            Authenticity authenticity = (Authenticity)authenticity_ListBox.SelectedItem;

            authenticity.ProcessA             = (Process)processA_ComboBox.SelectedItem;
            authenticity.StateA               = (State)stateA_ComboBox.SelectedItem;
            authenticity.AttributeA           = (Attribute)attributeA_ComboBox.SelectedItem;
            authenticity.ProcessB             = (Process)processB_ComboBox.SelectedItem;
            authenticity.StateB               = (State)stateB_ComboBox.SelectedItem;
            authenticity.AttributeB           = (Attribute)attributeB_ComboBox.SelectedItem;
            ResourceManager.mainWindowVM.Tips = "修改了Authenticity:" + authenticity;
        }