/// <summary>
        /// Sets the active page.
        /// </summary>
        /// <param name="index">The index from the Pages array to set.</param>
        private void SetActivePage(int index)
        {
            if (index < 0 || index >= Records.MasterPageCounter || index == ActivePageIdx)
            {
                return;
            }

            ActivePageIdx = index;
            if (PageNumUpDown.Value.Value - 1 != ActivePageIdx)
            {
                PageNumUpDown.Value = ActivePageIdx + 1;
            }

            PanelCanvas.Children.Clear();
            var page = GetPageBy(ActivePageIdx);

            PanelCanvas.Children.Add(page.GetRootElement());
            PanelCanvas.InvalidateMeasure();
            PanelCanvas.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
            UpdateNavButtonState();

            var record = GetRecordContainingPage(ActivePageIdx);

            if (record != null && record != CurrentRecord)
            {
                DataView.RefreshData(Schema, Data, record.RecordIndex);
                CurrentRecord = record;
            }
            page.ScaleToFit(Scroller);
        }
 private void TxtNodeX_TextChanged(object sender, EventArgs e)
 {
     PanelCanvas.Refresh();
 }
 private void FrmSteadySchematic_Resize(object sender, EventArgs e)
 {
     PanelCanvas.Refresh();
 }