private void SetDataBindings(View.VoltageMeter meter, RTUSlave rtuSlave) { meter.setName(rtuSlave.mDisplayName); //List<View.VoltageReader> readers = new List<View.VoltageReader>(); //meter.mMeterGrid.Children. = readers; int column = 0; int row = 0; meter.mMeterGrid.RowDefinitions.Add(new RowDefinition()); for (int i = 0; i < rtuSlave.mParameters.Count(); i++) { View.VoltageReader reader = new View.VoltageReader(); meter.mMeterGrid.Children.Add(reader); Grid.SetColumn(reader, column); Grid.SetRow(reader, row); column++; if (column == meter.mMeterGrid.ColumnDefinitions.Count()) { meter.mMeterGrid.RowDefinitions.Add(new RowDefinition()); column = 0; row++; } reader.DataContext = rtuSlave.mParameters[i]; //readers.Add(reader); reader.ReaderName.Content = rtuSlave.mParameters[i].mName; } }
void JumpToPage(int PageIndex) { unBindData(); int column = 0; int row = 0; int startIndex = rowCount * columnCount * (PageIndex - 1); int voltageCount = 0; int num = 0; if (PageIndex != 0) { for (int i = 0; i < mPorts.Count(); i++) { for (int j = 0; j < mPorts[i].mSlaves.Count(); j++) { if (num < startIndex) { num++; continue; } num++; if (voltageCount >= rowCount * columnCount) { break; } VoltageMeterReader.View.VoltageMeter meter = new View.VoltageMeter(); mVoltageGrid.Children.Add(meter); Grid.SetColumn(meter, column); Grid.SetRow(meter, row); column++; if (column == columnCount) { column = 0; row++; } voltageCount++; SetDataBindings(meter, mPorts[i].mSlaves[j]); } } } }