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 timer_Elapsed(object sender, ElapsedEventArgs e) { int PortID = ((ExTimer)sender).TimerID; for (int i = 0; i < mPorts[PortID].mSlaves.Count(); i++) { RTUSlave slave = mPorts[PortID].mSlaves[i]; ExTimer timer = new ExTimer(); timer.TimerID = i; timer.AutoReset = false; timer.Interval = 1000; timer.Tag = new int[] { PortID, i }; timer.Elapsed += slave_timer_elapsed; timer.Start(); //Thread thread = new Thread(new ParameterizedThreadStart(thread_exec)); //thread.Start(new int[] { PortID, i }); } }