Exemplo n.º 1
0
        private RowDefinitions CalculateAndBuildRowDefinitions(HexControlViewModel viewModel)
        {
            RowDefinitions rowDefinition = new RowDefinitions();

            // 1. the first row is the description row
            rowDefinition.Add(new RowDefinition(GridLength.Auto));
            // 2. the second row is a placeholder
            rowDefinition.Add(new RowDefinition(GRID_PLACEHOLDER_MARGIN, GridUnitType.Pixel));

            // 3. all the other rows are actually data-related rows
            for (int index = 0; index < (int)Math.Ceiling(viewModel.Data.Length / 16d); index++)
            {
                rowDefinition.Add(new RowDefinition(GridLength.Auto));
            }

            return(rowDefinition);
        }
Exemplo n.º 2
0
        private ColumnDefinitions CalculateBuildColumnDefinitions(HexControlViewModel viewModel)
        {
            ColumnDefinitions columnDefinitions = new ColumnDefinitions();

            // 1. the first column is the description column
            columnDefinitions.Add(new ColumnDefinition(GridLength.Auto));
            // 2. the second column is a placeholder
            columnDefinitions.Add(new ColumnDefinition(GRID_PLACEHOLDER_MARGIN, GridUnitType.Pixel));

            // 3. add 16 columns for the data
            for (int index = 0; index < Math.Min(16, viewModel.HexValueViewModels.Count); index++)
            {
                columnDefinitions.Add(new ColumnDefinition(GridLength.Auto));
            }

            return(columnDefinitions);
        }
Exemplo n.º 3
0
        private IEnumerable <IControl> BuildHexValueEntries(HexControlViewModel viewModel, int rowCount, int columnCount)
        {
            columnCount -= 2;
            rowCount    -= 2;

            for (int row = 0; row < rowCount; row++)
            {
                for (int column = 0; column < columnCount; column++)
                {
                    int idx = (row * columnCount) + column;

                    if (viewModel.HexValueViewModels.Count - 1 < idx)
                    {
                        break;
                    }

                    var hexValueControl = new HexValueControl();
                    hexValueControl.DataContext = viewModel.HexValueViewModels[idx];
                    Grid.SetRow(hexValueControl, row + 2);
                    Grid.SetColumn(hexValueControl, column + 2);
                    yield return(hexValueControl);
                }
            }
        }