Esempio n. 1
0
            //---------------------------------------------------------------------------------------------------------
            /// <summary>
            /// Изменение выбора свойства
            /// </summary>
            /// <param name="sender">Источник события</param>
            /// <param name="args">Аргументы события</param>
            //---------------------------------------------------------------------------------------------------------
            private void OnDataProperties_SelectionChanged(Object sender, SelectionChangedEventArgs args)
            {
                CPropertyModelBase property_model = mPropertiesView.CurrentItem as CPropertyModelBase;

                if (property_model != null)
                {
                    textDescription.Text = property_model.Description;
                }
            }
Esempio n. 2
0
            //---------------------------------------------------------------------------------------------------------
            /// <summary>
            /// Потеря фокуса текстового поля значения строкового типа
            /// </summary>
            /// <param name="sender">Источник события</param>
            /// <param name="args">Аргументы события</param>
            //---------------------------------------------------------------------------------------------------------
            private void OnTextBoxString_LostFocus(Object sender, RoutedEventArgs args)
            {
                CPropertyModelBase property_model = mPropertiesView.CurrentItem as CPropertyModelBase;

                if (property_model != null)
                {
                    property_model.CheckIsValueFromList();
                }
            }
Esempio n. 3
0
            //---------------------------------------------------------------------------------------------------------
            /// <summary>
            /// Установка значения из списка для свойства строкового типа
            /// </summary>
            /// <param name="sender">Источник события</param>
            /// <param name="args">Аргументы события</param>
            //---------------------------------------------------------------------------------------------------------
            private void OnMenuItemSetValueFromListForString_Click(Object sender, RoutedEventArgs args)
            {
                MenuItem           menu_item      = args.OriginalSource as MenuItem;
                CPropertyModelBase property_model = menu_item.Tag as CPropertyModelBase;

                if (property_model != null)
                {
                    property_model.SetValue(menu_item.Header.ToString());
                    property_model.IsValueFromList = true;
                }
            }
Esempio n. 4
0
            //---------------------------------------------------------------------------------------------------------
            /// <summary>
            /// Проверка на значение из списка
            /// </summary>
            //---------------------------------------------------------------------------------------------------------
            protected void CheckIsValueFromList()
            {
                for (Int32 i = 0; i < mProperties.Count; i++)
                {
                    CPropertyModelBase property_model = mProperties[i];

                    if (property_model != null)
                    {
                        property_model.CheckIsValueFromList();
                    }
                }
            }
Esempio n. 5
0
 //---------------------------------------------------------------------------------------------------------
 /// <summary>
 /// Проверка на соответствие фильтру
 /// </summary>
 /// <param name="item">Объект</param>
 /// <returns>Статус проверки</returns>
 //---------------------------------------------------------------------------------------------------------
 protected virtual Boolean OnPropertyViewFilter(Object item)
 {
     if (String.IsNullOrEmpty(FilterString))
     {
         return(true);
     }
     else
     {
         CPropertyModelBase property_model = item as CPropertyModelBase;
         return(property_model.DisplayName.Contains(FilterString, StringComparison.OrdinalIgnoreCase));
     }
 }
Esempio n. 6
0
            //---------------------------------------------------------------------------------------------------------
            /// <summary>
            /// Открытие контекстного меню для списка значений строкового типа
            /// </summary>
            /// <param name="sender">Источник события</param>
            /// <param name="args">Аргументы события</param>
            //---------------------------------------------------------------------------------------------------------
            private void OnButtonStringContextMenu_Click(Object sender, RoutedEventArgs args)
            {
                FrameworkElement   element        = args.Source as FrameworkElement;
                CPropertyModelBase property_model = element.DataContext as CPropertyModelBase;
                ContextMenu        context_menu   = element.ContextMenu;

                if (context_menu != null)
                {
                    if (property_model != null)
                    {
                        property_model.AssingContenxMenuListValues(context_menu);
                    }

                    context_menu.IsOpen = true;
                }
            }
Esempio n. 7
0
            //---------------------------------------------------------------------------------------------------------
            /// <summary>
            /// Выбор шаблона привязки данных
            /// </summary>
            /// <param name="item">Объект</param>
            /// <param name="container">Контейнер</param>
            /// <returns>Нужный шаблон</returns>
            //---------------------------------------------------------------------------------------------------------
            public override DataTemplate SelectTemplate(Object item, DependencyObject container)
            {
                DataTemplate       template = Invalid;
                CPropertyModelBase model    = item as CPropertyModelBase;

                if (model != null)
                {
                    switch (model.PropertyType)
                    {
                    case TPropertyType.Boolean:
                    {
                        template = Boolean;
                    }
                    break;

                    case TPropertyType.Numeric:
                    {
                        template = Numeric;
                    }
                    break;

                    case TPropertyType.Measurement:
                    {
                        template = Measurement;
                    }
                    break;

                    case TPropertyType.Enum:
                    {
                        if (model.IsReadOnly)
                        {
                            template = String;
                        }
                        else
                        {
                            template = Enum;
                        }
                    }
                    break;

                    case TPropertyType.String:
                    {
                        template = String;
                    }
                    break;

                    case TPropertyType.DateTime:
                    {
                        template = DateTime;
                    }
                    break;

                    case TPropertyType.Unknow:
                        break;

                    default:
                        break;
                    }
                }


                return(template);
            }