wpf 关于ContentControl一些记录

来源:互联网 发布:win10内置ubuntu子系统 编辑:程序博客网 时间:2024/05/16 12:11

今天做东西的时候,发现有一个现成的容器是ContentControl,可是自己没有看过,查一下msdn吓了一调,发现什么都有,可是自己做了一个鼠标点击的事件,却没有响应,后来发现上一个virtual的方法。

后来看到一个知道的回答中说可以用一个Content的来给它加一些内容,心想这不是我想要的吗?
可是后来发现我加了一个label进去,没有设置宽高,自动充满了,没有办法了,设置一下方向与宽高,想加两个呢,只能加一个容器,可是自己没有办法,对两个分别的控制啊。
以致在后来的改变外观的时候,我只能遍历了所有的content里面的全部内容。
还好实现了。好险,发现这样的编程没有一点安全感。

for (int i = 0; i < ListRegion.Count; i++)                {                    Grid gridTemp = new Grid();                    gridTemp = (Grid)ListRegion[i].UIE.Content;                    foreach (UIElement element in gridTemp.Children)                    {                        Label labtemp = (Label)element;                        if (labtemp.Content.ToString() == "?" || labtemp.Content.ToString() == flagSelect)                        {                            labtemp.Content = "x";                            labtemp.Visibility = System.Windows.Visibility.Hidden;                        }                    }                    ListRegion[i].CurrentSelectResult = false;                }

以上就是我遍历的代码
下面是一个容器的生成 。

 //编号            Label txtflag = new Label();            txtflag.Height = 40;            txtflag.Width = 40;            txtflag.HorizontalAlignment = HorizontalAlignment.Left;            txtflag.VerticalAlignment = VerticalAlignment.Top;            txtflag.Content = flagCount.ToString();            //标志            Label lbl1 = new Label();            lbl1.Height = 40;            lbl1.Width = 40;            lbl1.HorizontalAlignment = HorizontalAlignment.Right;            lbl1.VerticalAlignment = VerticalAlignment.Top;            string flagSelect = "√";            lbl1.Content = "?";            lbl1.Foreground = Brushes.Red;            lbl1.Visibility = System.Windows.Visibility.Hidden;            gird1.Children.Add(txtflag);            gird1.Children.Add(lbl1);

之后就是一些逻辑的操作了,可是发现设计不清楚的东西。自己理解不清楚的东西。做起来更难。

0 0
原创粉丝点击