自定义UniformGrid导致ItemsControl中的缩放问题

时间:2018-10-17 10:29:44

标签: c# wpf itemscontrol uniformgrid

我在使用自定义UniformGrid控件时遇到问题,该控件无法在应用程序启动时缩放其所有子控件-我必须稍微调整窗口大小才能正确缩放内容。

UniformGrid在ItemsControl中用作ItemsPanel。 ItemsControl ItemsSource绑定到一个视图模型集合,并根据视图模型类型选择UserControls。这是一个片段:

windowB

我的问题是UserControl的某些部分在应用程序启动时未缩放。一个例子是RovIllustrationIndicator UserControl。它包含一个带有网格的Viewbox,该网格包含一个Image控件和一个ItemsControl控件(我已经剥离了不相关的内容):

windowB

在应用程序启动时,Viewbox的高度和宽度均为零。但是,如果我仅将窗口的大小调整为单个像素,则视图框将缩放为正确的大小。

enter image description here

问题是,如果我将顶部ItemsControl ItemsPanel更改为标准UniformGrid,而不是我的自定义WeightedUniformGrid,则它在启动时可以很好地缩放。因此,将WeightedUniformGrid与UserControls结合使用会导致缩放在启动时失败。但是呢?

这是WeightedUniformGrid的实现:

windowA

0 个答案:

没有答案