更改DataTemplate中元素的属性并反映更改

时间:2012-08-07 09:38:20

标签: c# wpf datatemplate scaletransform

This是我发布的问题。现在,我无法反映对DataTemplate中的矩形元素所做的更改。我想根据代码隐藏中的一些值和条件来缩放矩形。我做了以下事情:

     foreach (var rectangle in FindVisualChildren<Rectangle>(this))
     {
       if (rectangle.Name == "rectangleBarChart" && isRectangle == false)
       {
             rectangle.Fill = Brushes.MediumVioletRed;
             rectangle.Height = 10;
             rectangle.LayoutTransform = new ScaleTransform(2, 1);
             isRectangle = true;
       }
     }

但是,这些变化没有反映出来,它使用了相同的旧DataTemplate。是否有任何提示要对UI进行更改?

1 个答案:

答案 0 :(得分:0)

rectangle.Fill = Brushes.MediumVioletRed;
            rectangle.Height = 10;
            rectangle.LayoutTransform = new ScaleTransform(2, 1);
            isRectangle = true;
            **rectangle.UpdateLayout();**

使用UpdateLayOut方法进行更新。我希望这会有所帮助。