private void mainCanvas_MouseUp(object sender, MouseButtonEventArgs e)
        {
            Point clickPosition = e.GetPosition(mainCanvas);
            GraphicalTemperatureIndication selectedObject = findSelectedObject(clickPosition);

            currentSelectedObject = selectedObject;
        }
        private void displayIndication(int posX, int posY)
        {
            GraphicalTemperatureIndication selectedIndication = graphicalTemperatureIndications[posX, posY];
            SolidColorBrush solidColorBrush = new SolidColorBrush();

            solidColorBrush.Color             = colors[ConvertFromAnalogToRGBValue(selectedIndication.value, 0, 255, 0, 764)];
            selectedIndication.rectangle.Fill = solidColorBrush;
            mainCanvas.Children.Remove(selectedIndication.textBlock);
            selectedIndication.textBlock = Text(posX * 41 + 7, posY * 41 + 12, selectedIndication.value.ToString(), Color.FromRgb(0, 0, 0));
            mainCanvas.Children.Add(selectedIndication.textBlock);
        }
        private Rectangle drawRectangle(int posX, int posY, GraphicalTemperatureIndication graphicalTemperatureIndication)
        {
            Rectangle rectangle = new Rectangle();

            Canvas.SetTop(rectangle, posY * 41);
            Canvas.SetLeft(rectangle, posX * 41);
            rectangle.Width  = 40;
            rectangle.Height = 40;
            graphicalTemperatureIndication.minPos = new Point(posX * 41, posY * 41);
            graphicalTemperatureIndication.maxPos = new Point(posX * 41 + 40, posY * 41 + 40);
            SolidColorBrush solidColorBrush = new SolidColorBrush();

            solidColorBrush.Color = Color.FromRgb(0, 0, 0);
            rectangle.Fill        = solidColorBrush;
            mainCanvas.Children.Add(rectangle);
            return(rectangle);
        }
 public MainWindow()
 {
     InitializeComponent();
     for (int i = 0; i <= 7; i++)
     {
         for (int j = 0; j <= 7; j++)
         {
             graphicalTemperatureIndications[j, i]           = new GraphicalTemperatureIndication();
             graphicalTemperatureIndications[j, i].rectangle = drawRectangle(j, i, graphicalTemperatureIndications[j, i]);
             graphicalTemperatureIndications[j, i].posX      = j;
             graphicalTemperatureIndications[j, i].posY      = i;
         }
     }
     generatePalette();
     foreach (GraphicalTemperatureIndication graphicalTemperatureIndication in graphicalTemperatureIndications)
     {
         displayIndication(graphicalTemperatureIndication.posX, graphicalTemperatureIndication.posY);
     }
 }