예제 #1
0
        public override FrameworkElement GetControl(DataPreviewPluginArgument arg)
        {
            HexViewControl grid = new HexViewControl();

            grid.DataContext = arg;
            return(grid);
        }
예제 #2
0
        private void hvc_DataChanged(object sender, EventArgs e)
        {
            if (edit)
            {
                return;
            }
            if (sender == null)
            {
                return;
            }

            edit = true;
            try
            {
                HexViewControl hvc = (HexViewControl)sender;
                if (vs == HexViewControl.ViewState.Hex)
                {
                    boxes[0].Text  = "0x" + HexViewControl.SetLength(hvc.SelectedByte.ToString("x"), 2, '0');
                    boxes[1].Text  = "0x" + HexViewControl.SetLength(hvc.SelectedUShort.ToString("x"), 4, '0');
                    boxes[2].Text  = "0x" + HexViewControl.SetLength(hvc.SelectedUInt.ToString("x"), 8, '0');
                    boxes[3].Text  = "0x" + HexViewControl.SetLength(hvc.SelectedULong.ToString("x"), 16, '0');
                    boxes[10].Text = "0x" + HexViewControl.SetLength(hvc.Offset.ToString("x"), 8, '0');
                }
                else if (vs == HexViewControl.ViewState.UnsignedDec)
                {
                    boxes[0].Text  = hvc.SelectedByte.ToString();
                    boxes[1].Text  = hvc.SelectedUShort.ToString();
                    boxes[2].Text  = hvc.SelectedUInt.ToString();
                    boxes[3].Text  = hvc.SelectedULong.ToString();
                    boxes[10].Text = hvc.Offset.ToString();
                }
                else
                {
                    boxes[0].Text  = hvc.SelectedByte.ToString();
                    boxes[1].Text  = hvc.SelectedShort.ToString();
                    boxes[2].Text  = hvc.SelectedInt.ToString();
                    boxes[3].Text  = hvc.SelectedLong.ToString();
                    boxes[10].Text = hvc.Offset.ToString();
                }

                boxes[4].Text = hvc.SelectedFloat.ToString();
                boxes[5].Text = hvc.SelectedDouble.ToString();
                byte[] b = BitConverter.GetBytes(hvc.SelectedUInt);
                boxes[6].Text = HexViewControl.SetLength(BinaryString(b[0]), 8, '0');
                boxes[7].Text = HexViewControl.SetLength(BinaryString(b[1]), 8, '0');
                boxes[8].Text = HexViewControl.SetLength(BinaryString(b[2]), 8, '0');
                boxes[9].Text = HexViewControl.SetLength(BinaryString(b[3]), 8, '0');

                if (hvc.SelectionLength > 0)
                {
                    boxes[11].Text = BitConverter.ToString(hvc.Selection).Replace("-", " ");
                }
            }
            catch
            {
            }
            finally
            {
                edit = false;
            }
        }