コード例 #1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (this.DataContext is KeyProperty)
            {
                KeyProperty prop = this.DataContext as KeyProperty;

                ViewEditKeyProperty editWindow = new ViewEditKeyProperty(prop);
                editWindow.ShowDialog();
                prop = editWindow.EditProperty;

                prop.OnPropertyChanged(new EventArgs());

                //update all of the textboxes
                var expression = txtInstanceName.GetBindingExpression(Run.TextProperty);
                if (expression != null)
                {
                    expression.UpdateTarget();
                }
                expression = txtGroup.GetBindingExpression(Run.TextProperty);
                if (expression != null)
                {
                    expression.UpdateTarget();
                }
                expression = txtType.GetBindingExpression(Run.TextProperty);
                if (expression != null)
                {
                    expression.UpdateTarget();
                }
                expression = txtInstanceId.GetBindingExpression(Run.TextProperty);
                if (expression != null)
                {
                    expression.UpdateTarget();
                }
            }
        }
コード例 #2
0
        private void mnuEditTGI_Click(object sender, RoutedEventArgs e)
        {
            DatabaseIndex index = (DatabaseIndex)((MenuItem)sender).DataContext;

            ViewEditKeyProperty viewEditKey = new ViewEditKeyProperty(index.TypeId, index.GroupContainer, index.InstanceId);

            if (viewEditKey.ShowDialog().GetValueOrDefault(false))
            {
                index.ModifiedTypeId     = viewEditKey.TypeId;
                index.ModifiedGroupId    = viewEditKey.GroupContainer;
                index.ModifiedInstanceId = viewEditKey.InstanceId;
            }
        }
コード例 #3
0
        private void mnuImportInstance_Click(object sender, RoutedEventArgs e)
        {
            DatabasePackedFile packageFile = (DatabasePackedFile)packageDataGrid.SelectedItem;
            OpenFileDialog     fileDialog  = new OpenFileDialog();

            fileDialog.Filter = "Exported Files (SCP_*)|SCP_*|All Files (*.*)|*.*";
            if (fileDialog.ShowDialog().GetValueOrDefault(false))
            {
                FileInfo fi = new FileInfo(fileDialog.FileName);
                uint     typeId = 0; uint GroupContainer = 0; uint instanceId = 0;
                try
                {
                    string[] fileNameParts = Path.GetFileNameWithoutExtension(fileDialog.FileName).Split('_');
                    string[] tgi           = fileNameParts[fileNameParts.Length - 1].Split('-');
                    typeId         = Convert.ToUInt32(tgi[0].Substring(2), 16);
                    GroupContainer = Convert.ToUInt32(tgi[1].Substring(2), 16);
                    instanceId     = Convert.ToUInt32(tgi[2].Substring(2), 16);
                }
                catch { }
                ViewEditKeyProperty viewEditKey = new ViewEditKeyProperty(typeId, GroupContainer, instanceId);
                if (viewEditKey.ShowDialog().GetValueOrDefault(false))
                {
                    typeId         = viewEditKey.TypeId;
                    GroupContainer = viewEditKey.GroupContainer;
                    instanceId     = viewEditKey.InstanceId;
                }
                DatabaseIndex createdIndex      = null;
                using (FileStream stream = fi.OpenRead())
                {
                    byte[] data = new byte[stream.Length];
                    stream.Read(data, 0, data.Length);
                    createdIndex = packageFile.InsertSubFile(data, typeId, GroupContainer, instanceId);
                }
                if (createdIndex != null)
                {
                    tabControl1.SelectedIndex      = 0;
                    dataGridInstances.SelectedItem = createdIndex;
                    dataGridInstances.ScrollIntoView(createdIndex);
                }
            }
        }