Сетка пользовательских свойств не привязывает обновленные данные - PullRequest
0 голосов
/ 28 ноября 2018

Код Xaml:

<helper:CustomPropertyGridControl x:Name="pgeditEquipment"
                                          ShowMenuButtonInRows="False"
                                          ShowCategories="True"
                                          ExpandCategoriesWhenSelectedObjectChanged="True"
                                          ShowProperties="All"
                                          ScrollViewer.VerticalScrollBarVisibility="Disabled"
                                          SelectedObject="{Binding Path = SelectChildEquipment,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
                        <!--LayoutUpdated="pgEquipment_LayoutUpdated"-->
                        <!--CustomExpand="pgEquipment_CustomExpand"-->
                        <dxprg:PropertyGridControl.PropertyDefinitions>
                            <dxprg:PropertyDefinition PostOnEditValueChanged="True" Path="PartNumber">
                                <dxprg:PropertyDefinition.EditSettings>
                                    <dxe:ButtonEditSettings AllowDefaultButton="False">
                                        <dxe:ButtonEditSettings.Buttons>
                                            <dxe:ButtonInfo Content="SAP Search " Name="btnSapSearch" Command="{Binding Path=SAPSearchCommand}" IsDefaultButton="True" />
                                        </dxe:ButtonEditSettings.Buttons>
                                    </dxe:ButtonEditSettings>
                                </dxprg:PropertyDefinition.EditSettings>

Связывание и команда

    private EquipmentModel _SelectChildEquipment;

            public EquipmentModel SelectChildEquipment
            {
                get
                {               
                    return _SelectChildEquipment;
                }
                set
                {
                    _SelectChildEquipment = value;
                    GetEquipmentDetailsAndVisibilities();
                    RaisePropertyChanged("SelectChildEquipment");
                }
            }

         private void GetEquipmentDetailsAndVisibilities()
         {
            if (_SelectChildEquipment == null) return;
            if (_SelectChildEquipment.ID != Guid.Empty)
            {
                ApplicationState.SelectedEquipment = 
 ApplicationState.EquipmentList.Where(x => x.ID == 
ApplicationState.SelectedEquipment.ID).FirstOrDefault();
                ApplicationState.SelectedChildEquipment = 
ApplicationState.SelectedEquipment.BOMTreeList.Where(X => X.ID == 
_SelectChildEquipment.ID).FirstOrDefault(); ;
                SelectChildDatails();
            }
            ActiveCheck = _SelectChildEquipment.CleanEquipmentStructure;
            if (!ActiveCheck)
            {
                InActiveCheck = true;
            }

            if (_SelectChildEquipment.ID_ObjectType == 
Constants.IdProtectionDesignObjectType && 
ApplicationState.SelectedCustomer.ID_Type != Constants.IdProspectCustomer)
            {
                InUseNotInUseVisibility = true;
            }
            else
            {
                InUseNotInUseVisibility = false;
            }
            ITKKVisibility = _SelectChildEquipment.IsItkkHolderObject;
            PartTypeVisibility = !_SelectChildEquipment.IsItkkHolderObject;
            DeleteButtonVisibility = true;
            RaisePropertyChanged("SelectChildObject");
            RaisePropertyChanged("AttachmentChildList");
        }

       private void SAPSearch()
        {
            try
            {

                    _SelectChildEquipment.PartDescription = PartDescription 
= searchMaterialViewModel.MaterialList[0].MaterialDescription;
                    _SelectChildEquipment.PartDescription_EN= 
ApplicationState.SelectedChildEquipment.PartDescription_EN = 
searchMaterialViewModel.MaterialList[0].MaterialDescription_EN;
                    _SelectChildEquipment.DateTime_LastChange = 
DateTime.Now;

                RaisePropertyChanged("SelectChildEquipment");                                      
            }
            catch (Exception ex)
            {

CustomePropertyMessageBoxControl.ShowErrorMessageWithDetails(ex.Message, 
ex.StackTrace, "Error");
            }
            finally
            {
                Splash.Splasher.CloseSplash();
            }
        }

Мне нужно связать данные в команде поиска sap.Команда уже запускается, и контекст также обновляется, но не пользовательский интерфейс.
При щелчке этого же свойства SelectChildEquipment есть узел дерева, который также должен загружаться.

Есть ли способ решить эту проблему.Это было решено, когда данные перезагружаются, но я хочу, чтобы это было сделано при нажатии на кнопку поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...