首页 > 解决方案 > 如何实现代码来修复 WPF 中的标签?

问题描述

我正在处理一个亚音速喷嘴模拟器,我遇到了麻烦,因为如果我改变标签的高度,标签的位置就会改变。

我想用代码修复这个位置,并且能够在没有任何影响的情况下改变高度。

代码如下:

                for (int j = 0; j < columns; j++)
                {
                    System.Windows.Controls.Label lbl = new System.Windows.Controls.Label();
                    lbl.Height = Areas[j] * 30;
                    lbl.Width = rejilla.Width / columns;


                    lbl.Tag = new Point(1, j); 


                    lbl.BorderBrush = new SolidColorBrush(Colors.Gray);
                    lbl.BorderThickness = new Thickness(1);



                    if (nozzleQ1D.ColorCeldaPresion(Pressures[j]) == "Black")
                        lbl.Background = new SolidColorBrush(Colors.Black);
                    if (nozzleQ1D.ColorCeldaPresion(Pressures[j]) == "Firebrick")
                        lbl.Background = new SolidColorBrush(Colors.Firebrick);
                    if (nozzleQ1D.ColorCeldaPresion(Pressures[j]) == "Red")
                        lbl.Background = new SolidColorBrush(Colors.Red);
                    if (nozzleQ1D.ColorCeldaPresion(Pressures[j]) == "Orange")
                        lbl.Background = new SolidColorBrush(Colors.Orange);
                    if (nozzleQ1D.ColorCeldaPresion(Pressures[j]) == "Yellow")
                        lbl.Background = new SolidColorBrush(Colors.Yellow);
                    if (nozzleQ1D.ColorCeldaPresion(Pressures[j]) == "Green")
                        lbl.Background = new SolidColorBrush(Colors.Green);
                    if (nozzleQ1D.ColorCeldaPresion(Pressures[j]) == "Cyan")
                        lbl.Background = new SolidColorBrush(Colors.Cyan);
                    if (nozzleQ1D.ColorCeldaPresion(Pressures[j]) == "Blue")
                        lbl.Background = new SolidColorBrush(Colors.Blue);
                    if (nozzleQ1D.ColorCeldaPresion(Pressures[j]) == "Purple")
                        lbl.Background = new SolidColorBrush(Colors.Purple);
                    if (nozzleQ1D.ColorCeldaPresion(Pressures[j]) == "Indigo")
                        lbl.Background = new SolidColorBrush(Colors.Indigo);


                    stkPanel.Children.Add(lbl);
                }


                rejilla.Children.Add(stkPanel);

标签: wpfpositionlabel

解决方案


推荐阅读