private async void Refresh(object param)
        {
            if (Global.MessageBox(this, Global.GetStringResource("StringDoYouWantUpdateMoreInfo"), MessageBoxExPredefinedButtons.YesNo) != MessageBoxExButton.Yes)
            {
                return;
            }
            await m_part.RequestMoreInfo();

            m_part.RebuildTags();
            ApplyData();
        }
        private async void RequestMoreInfo(object param)
        {
            if (m_selectedResult == null)
            {
                return;
            }
            if (m_selectedResult.MoreInfoState == PartMoreInfoState.Downloading)
            {
                return;
            }
            else if (m_selectedResult.MoreInfoState == PartMoreInfoState.Available)
            {
                m_selectedResult.PushCopy();
                EditPartViewModel dialogViewModel = new EditPartViewModel(m_selectedResult);
                Global.Dialogs.ShowDialog(this, dialogViewModel);
                if (dialogViewModel.Result == EditPartViewModel.EditPartResult.Ok)
                {
                    m_selectedResult.PopCopy(WorkingCopyResult.Apply);
                }
                else if (dialogViewModel.Result == EditPartViewModel.EditPartResult.Cancel)
                {
                    m_selectedResult.PopCopy(WorkingCopyResult.Restore);
                }
                return;
            }

            try
            {
                ActionsCount++;
                await m_selectedResult.RequestMoreInfo();
            }
            catch
            {
                Global.MessageBox(this, Global.GetStringResource("StringMoreInfoError"), MessageBoxExPredefinedButtons.Ok);
            }
            finally
            {
                ActionsCount--;
            }
        }