拉伸帆布最大化

时间:2012-09-17 19:31:17

标签: c# wpf wpf-controls

(无法添加图片,所以我会尝试解释它)所以我的程序基本上由两部分组成:一个位图图像,在主窗口(在画布上)扫描和显示,以及一个画布派生类我做的基本上是从图像中获取数据(b& w值范围从0到255)并以直方图格式(基本上是条形图)表示它并且它覆盖位图图像(它是透明的,因此您仍然可以看到图像)。

好吧所以我让我的程序正常工作,唯一的问题是我的画布派生类不会拉伸直到我“刷新”屏幕。该类的孩子(窗户形状为矩形)不会随着窗户伸展。

到目前为止看起来很好

然后我最大化它......

然后矩形就会保持原样。直到我点击“显示直方图”按钮它才会消失然后再次点击后,我得到......

...正是我想要的,直方图在屏幕上的正确位置。所以这是我的问题,如何让直方图与主窗口一起拉伸?而不是每次都要刷新它?

<Border Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" BorderBrush="Black" BorderThickness="5" x:Name="testview">
        <local:DrawingCanvas x:Name="pbHistogram" IsHitTestVisible="False"
                                Width="Auto"
                Background="Transparent"
                Height ="{Binding Path=ActualHeight, ElementName=testview}"/>
    </Border>

2 个答案:

答案 0 :(得分:0)

也许最快,最简单的方法是将画布放在Viewbox中。

答案 1 :(得分:0)

我知道这不是一个真正的答案,但我认为问题是画布类本身。它没有自动布局或调整其子元素的大小。链接到msdn:http://msdn.microsoft.com/en-us/library/ms609101(v=vs.100).aspx

您可以尝试连接主窗口的resize事件并调用buttonpress调用的相同功能。