예제 #1
0
        static AdminPage()
        {
            var logoMetadata = new PropertyMetadata(() => { return(string.Empty); }, OnLogoChanged);

            LogoProperty = DependencyProperty.Register <string, AdminPage>("Logo", logoMetadata);

            var principalPhotoMetadata = new PropertyMetadata(() => { return(string.Empty); }, OnPrincipalPhotoChanged);

            PrincipalPhotoProperty = DependencyProperty.Register <string, AdminPage>("PrincipalPhoto", principalPhotoMetadata);

            var principalNameMetadata = new PropertyMetadata(() => { return(string.Empty); });

            PrincipalNameProperty = DependencyProperty.Register <string, AdminPage>("PrincipalName", principalNameMetadata);

            var assetsPathMetadata = new PropertyMetadata(() => { return(string.Empty); });

            AssetsPathProperty = DependencyProperty.Register <string, AdminPage>("AssetsPath", assetsPathMetadata);

            var rootMenuMetadata = new PropertyMetadata(() => { return(string.Empty); });

            RootMenuProperty = DependencyProperty.Register <string, AdminPage>("RootMenu", rootMenuMetadata);

            var isLocalMenuMetadata = new PropertyMetadata(() => { return(false); });

            IsLocalMenuProperty = DependencyProperty.Register <bool, AdminPage>("IsLocalMenu", isLocalMenuMetadata);

            var getMenuCodeMetadata = new ActionMetadata(GetMenuCodeActionProduce);

            GetMenuCodeAction = DependencyAction.Register <AdminPage>("GetMenuCode", false, getMenuCodeMetadata);

            var workTitleMetadata = new PropertyMetadata(() => { return(string.Empty); });

            WorkTitleProperty = DependencyProperty.Register <string, AdminPage>("WorkTitle", workTitleMetadata);

            var workDescriptionMetadata = new PropertyMetadata(() => { return(string.Empty); });

            WorkDescriptionProperty = DependencyProperty.Register <string, AdminPage>("WorkDescription", workDescriptionMetadata);

            var showWorkHeaderMetadata = new PropertyMetadata(() => { return(true); }, OnShowWorkHeaderChanged);

            ShowWorkHeaderProperty = DependencyProperty.Register <bool, AdminPage>("ShowWorkHeader", showWorkHeaderMetadata);

            var menuRedirectMetadata = new PropertyMetadata(() => { return(string.Empty); });

            MenuRedirectProperty = DependencyProperty.Register <string, AdminPage>("MenuRedirect", menuRedirectMetadata);

            var themeMetadata = new PropertyMetadata(() => { return("darkblue"); });

            ThemeProperty = DependencyProperty.Register <string, AdminPage>("Theme", themeMetadata);

            var logoStyleMetadata = new PropertyMetadata(() => { return(string.Empty); });

            LogoProperty = DependencyProperty.Register <string, AdminPage>("LogoStyle", logoStyleMetadata);
        }
예제 #2
0
        internal static string ToSerializedValue(this DependencyAction value)
        {
            switch (value)
            {
            case DependencyAction.Satisfy:
                return("satisfy");

            case DependencyAction.Block:
                return("block");
            }
            return(null);
        }
예제 #3
0
        private void AssertDependencySetup <TAction>(
            IVMDescriptor descriptor,
            PathDefinition sourcePath,
            ChangeType[] changeTypes,
            PathDefinition targetPath = null
            ) where TAction : DependencyAction
        {
            var behavior = descriptor.Behaviors.GetNextBehavior <DeclarativeDependencyBehavior>();

            Assert.AreEqual(
                sourcePath.ToString(),
                behavior.Dependencies.First().SourcePath.ToString()
                );

            Assert.IsInstanceOfType(
                behavior.Dependencies.First().Action,
                typeof(TAction)
                );

            CollectionAssert.AreEquivalent(
                changeTypes,
                behavior.Dependencies.First().ChangeTypes
                );

            if (targetPath != null)
            {
                DependencyAction action = behavior.Dependencies.First().Action;
                if (action is ValidationAction)
                {
                    Assert.AreEqual(
                        targetPath.ToString(),
                        ((ValidationAction)action).Target.Path.ToString()
                        );
                }
                else if (action is RefreshAction)
                {
                    Assert.AreEqual(
                        targetPath.ToString(),
                        ((RefreshAction)action).Target.Path.ToString()
                        );
                }
                else
                {
                    Assert.Fail("When asserting a target path the action have to be a RefreshAction or ValidationAction");
                }
            }
        }
 public static string ToSerialString(this DependencyAction value) => value switch
 {