Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Зависимое-свойство ObservableCollection слипается 
:(
    Опции темы
1datr
Дата 25.9.2014, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 10.2.2009

Репутация: нет
Всего: -1



Код

<my1:CommonCtrlKirishi Rows="22" Floors="12">
                <my1:CommonCtrlKirishi.PointsEmptyLeft>
                    <my1:GridPoint X="0" Y="0" />
                    <my1:GridPoint X="0" Y="1" />
                    <my1:GridPoint X="0" Y="2" />
                    <my1:GridPoint X="0" Y="3" />
                    <my1:GridPoint X="0" Y="4" />
                    <my1:GridPoint X="0" Y="5" />
                    <my1:GridPoint X="0" Y="6" />
                    <my1:GridPoint X="0" Y="7" />
                    <my1:GridPoint X="0" Y="8" />
                    <my1:GridPoint X="0" Y="9" />
                    <my1:GridPoint X="0" Y="10" />                    
                </my1:CommonCtrlKirishi.PointsEmptyLeft>
                
                
            </my1:CommonCtrlKirishi>
        </TabItem>
        <TabItem Header="Штабелер 2">

            <my1:CommonCtrlKirishi StackerID="2" Rows="22" Floors="12">

                <my1:CommonCtrlKirishi.PointsEmptyLeft>
                    <my1:GridPoint X="0" Y="0" />
                    <my1:GridPoint X="0" Y="1" />
                    <my1:GridPoint X="0" Y="2" />
                    <my1:GridPoint X="0" Y="3" />
                    <my1:GridPoint X="0" Y="4" />
                    <my1:GridPoint X="0" Y="5" />
                    <my1:GridPoint X="0" Y="6" />
                    <my1:GridPoint X="0" Y="7" />
                    <my1:GridPoint X="0" Y="8" />
                    <my1:GridPoint X="0" Y="9" />
                    <my1:GridPoint X="0" Y="10" />
                    <my1:GridPoint X="0" Y="11" />
                </my1:CommonCtrlKirishi.PointsEmptyLeft>
                <my1:CommonCtrlKirishi.PointsEmptyRight>                   
                    <my1:GridPoint X="0" Y="1" />
                    <my1:GridPoint X="0" Y="2" />
                    <my1:GridPoint X="0" Y="3" />
                    <my1:GridPoint X="0" Y="4" />
                    <my1:GridPoint X="0" Y="5" />
                    <my1:GridPoint X="0" Y="6" />
                    <my1:GridPoint X="0" Y="7" />
                    <my1:GridPoint X="0" Y="8" />
                    <my1:GridPoint X="0" Y="9" />
                    <my1:GridPoint X="0" Y="10" />
                    <my1:GridPoint X="0" Y="11" />
                </my1:CommonCtrlKirishi.PointsEmptyRight>
            </my1:CommonCtrlKirishi>


Код

 // Dependency Property
        public static readonly DependencyProperty PointsEmptyLeftDP = DependencyProperty.Register("PointsEmptyLeft", typeof(ObservableCollection<GridPoint>), typeof(StackerControl), new FrameworkPropertyMetadata(new ObservableCollection<GridPoint>(),DepParamsChanged));
        // .NET Property wrapper
        [Description("Free points in left rack"), Category("Stacker")]
        public ObservableCollection<GridPoint> PointsEmptyLeft
        {
            get
            {
                return (ObservableCollection<GridPoint>)GetValue(PointsEmptyLeftDP);
            }
            set
            {
                SetValue(PointsEmptyLeftDP, value);

            }
        }

        // Dependency Property
        public static readonly DependencyProperty PointsEmptyRightDP = DependencyProperty.Register("PointsEmptyRight", typeof(ItemsChangeObservableCollection<GridPoint>), typeof(StackerControl), new FrameworkPropertyMetadata(new ItemsChangeObservableCollection<GridPoint>(), DepParamsChanged));
        // .NET Property wrapper
        [Description("Free points in right rack"), Category("Stacker")]
        public ItemsChangeObservableCollection<GridPoint> PointsEmptyRight
        {
            get
            {
                return (ItemsChangeObservableCollection<GridPoint>)GetValue(PointsEmptyRightDP);
            }
            set
            {
                SetValue(PointsEmptyRightDP, value);

            }
        }

 public void SetParam(String propname, Object val, object oldval)
        {
            switch (propname)
            {
               ...
                case "PointsEmptyLeft":
                    restruct_left();
                    set_cell_styles();
                    break;
                case "PointsEmptyRight":
                    restruct_right();
                    set_cell_styles();
                    break;
            }
        }

        private static void DepParamsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            StackerControl ctrl = (StackerControl)d;
            
            ctrl.SetParam(e.Property.Name, e.NewValue, e.OldValue);
             
        }


При этом в обеих контролах ячейки вырезаются одинаково и свойство там показывает такое, как будто там одна большая коллекция образуется для всех таких контролов.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0724 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.