Esempio n. 1
0
 void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target)
 {
     switch (connectionId)
     {
     case 1:
         this.infoss = ((DevExpress.Xpf.Core.WaitIndicator)(target));
         return;
     }
     this._contentLoaded = true;
 }
        private void AssociatedObject_Initialized(object sender, EventArgs e)
        {
            if (this.AssociatedObject.Content != null)
            {
                var _GridControls = this.AssociatedObject.FindLogicalChildren <DevExpress.Xpf.Grid.GridControl>();
                //var _buttonControls = this.AssociatedObject.FindLogicalChildren<uImageButton>();
                var  buttonControls = this.AssociatedObject.FindLogicalChildren <SimpleButton>();
                bool _IsEnable      = false;

                // CHOO - 2019-09-03 수정 후 주석제거해야함
                ////if (this.g_App.BASE_INFO.ROLE_CD != "A")
                ////{
                foreach (var item in _GridControls)
                {
                    item.View.AllowEditing = _IsEnable;

                    item.View.PropertyChanged += (snd, evt) =>
                    {
                        if (evt.PropertyName == "AllowEditing")
                        {
                            item.View.AllowEditing = _IsEnable;
                        }
                    };
                }

                // CHOO
                // 2019-09-17
                // 버튼 Enabled 속성 정의 -> 여기서 처리할건지 확인필요
                //foreach (var item in buttonControls)
                //{
                //    if (item.Content.ToString().ToLower() != ("SEARCH").ToLower() || item.Content.ToString().ToLower() != ("EXCEL_DOWNLOAD").ToLower())
                //    {
                //        item.IsEnabled = _IsEnable;

                //        item.IsEnabledChanged += (snd, evt) =>
                //        {
                //            item.IsEnabled = _IsEnable;
                //        };
                //    }
                //}
                ////}

                if (this.AssociatedObject.Content.GetType() == typeof(Grid))
                {
                    GridTemplete = this.AssociatedObject.Content as Grid;

                    if (FindControl.FindLogicalChildren <DevExpress.Xpf.Core.WaitIndicator>(GridTemplete).Count() == 0)
                    {
                        var _name = "_" + this.AssociatedObject.Tag.ToWhiteSpaceOrString() + Guid.NewGuid().ToString().Replace("-", "");

                        Border _border = new Border();
                        DevExpress.Xpf.Core.WaitIndicator _Indicator = new DevExpress.Xpf.Core.WaitIndicator();

                        _Indicator.SetBinding(DevExpress.Xpf.Core.WaitIndicator.NameProperty, _name);
                        _Indicator.Name = _name;
                        _border.Child   = _Indicator;

                        Binding _binding = new Binding("DeferedVisibility");
                        _binding.Converter = new BooleanToVisibilityConverter();
                        _binding.Source    = _Indicator;
                        _border.SetBinding(Border.VisibilityProperty, _binding);

                        _border.Background = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(0x0C, 0x00, 0x00, 0x00));

                        var _columnCount = GridTemplete.ColumnDefinitions.Count;
                        var _rowCount    = GridTemplete.RowDefinitions.Count;

                        _border.SetValue(Grid.ColumnSpanProperty, (_columnCount > 0) ? _columnCount : 1);
                        _border.SetValue(Grid.RowSpanProperty, (_rowCount > 0) ? _rowCount : 1);

                        GridTemplete.Children.Add(_border);
                    }
                }
                else
                {
                    //throw new Exception("usercontrol의 상단은 Grid입니다.");
                }

                InitControl();
            }
        }