Пример #1
0
        public static void RoutePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            FrameworkElement fe = d as FrameworkElement;

            if (fe == null || e.NewValue == null && e.OldValue != null)
            {
                return;
            }

            if (DesignerProperties.GetIsInDesignMode(fe))
            {
                DependencyProperty labelText = LabelPropertySelector.TryGetValue(fe.GetType());

                if (labelText != null && fe.NotSet(labelText))
                {
                    fe.SetValue(labelText, e.NewValue);
                }
                return;
            }


            string route = (string)e.NewValue;

            var parent = GetPropertyRoute(fe.Parent ?? fe);

            if (parent != null)
            {
                InititializeRoute(fe, route, e.Property);
            }
            else
            {
                if (fe is IPreLoad)
                {
                    ((IPreLoad)fe).PreLoad += (s, e2) => InititializeRoute(fe, route, e.Property);
                }
                else
                {
                    fe.Loaded += (s, e2) => InititializeRoute(fe, route, e.Property);
                }
            }

            if (fe is DataGrid)
            {
                fe.Initialized += DataGrid_Initialized;
            }

            if (fe is ListView)
            {
                fe.Initialized += ListView_Initialized;
            }
        }
Пример #2
0
        static Common()
        {
            RouteTask += TaskSetTypeProperty;
            RouteTask += TaskSetValueProperty;
            RouteTask += TaskSetLabelText;
            RouteTask += TaskSetUnitText;
            RouteTask += TaskSetFormatText;
            RouteTask += TaskSetIsReadonly;
            RouteTask += TaskSetImplementations;
            RouteTask += TaskSetMove;
            RouteTask += TaskSetCollaspeIfNull;
            RouteTask += TaskSetNotNullItemsSource;
            RouteTask += TaskSetNullValueEntityCombo;
            RouteTask += TaskSetAutomationName;
            RouteTask += TaskSetVoteAutoHide;
            RouteTask += TaskSetMaxLenth;

            LabelOnlyRouteTask += TaskSetLabelText;
            LabelOnlyRouteTask += TaskSetVoteAutoHide;

            DataGridColumnRouteTask          += TaskDataGridColumnSetValueProperty;
            DataGridColumnRouteTask          += TaskDataGridColumnSetLabelText;
            DataGridColumnRouteTask          += TaskDataGridColumnSetReadOnly;
            DataGridColumnLabelOnlyRouteTask += TaskDataGridColumnSetLabelText;

            GridViewColumnRouteTask          += TaskGridViewColumnSetValueProperty;
            GridViewColumnRouteTask          += TaskGridViewColumnSetLabelText;
            GridViewColumnLabelOnlyRouteTask += TaskGridViewColumnSetLabelText;

            ValuePropertySelector.SetDefinition(typeof(FrameworkElement), FrameworkElement.DataContextProperty);
            ValuePropertySelector.SetDefinition(typeof(ListView), ItemsControl.ItemsSourceProperty);
            ValuePropertySelector.SetDefinition(typeof(DataGrid), ItemsControl.ItemsSourceProperty);

            TypePropertySelector.SetDefinition(typeof(FrameworkElement), null);

            LabelPropertySelector.SetDefinition(typeof(FrameworkElement), null);
            LabelPropertySelector.SetDefinition(typeof(HeaderedContentControl), HeaderedContentControl.HeaderProperty);
            LabelPropertySelector.SetDefinition(typeof(TextBlock), TextBlock.TextProperty);
            LabelPropertySelector.SetDefinition(typeof(Label), Label.ContentProperty);
        }