///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public StateDisplay(Frame setFrame, string[] setVaraibleNames) ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// { InitializeComponent(); variableNames = setVaraibleNames; frame = setFrame; frame.ValueChanged += new IntDelegate(frame_ValueChanged); double[] stateVector = frame.State; for (int i = 0; i < stateVector.Length; i++) { ColumnDefinition column = new ColumnDefinition(); column.MinWidth = 40; grid.ColumnDefinitions.Add(column); StateValue stateValue = new StateValue(); stateValue.VariableName = variableNames[i]; Grid.SetColumn(stateValue, grid.ColumnDefinitions.Count - 1); grid.Children.Add(stateValue); stateValue.Value = (float)stateVector[i]; if (stateVector[i] == 0) { stateValue.Active = false; } stateValue.textBox.TextChanged += new TextChangedEventHandler(textBox_TextChanged); } }
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void textBox_TextChanged(object sender, TextChangedEventArgs e) ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// { //get the display StateValue stateValue = (StateValue)((Grid)((TextBox)sender).Parent).Parent; //set the value frame.SetValue(Grid.GetColumn(stateValue), (byte)int.Parse(stateValue.textBox.Text)); }