(无法添加图片,所以我会尝试解释它)所以我的程序基本上由两部分组成:一个位图图像,在主窗口(在画布上)扫描和显示,以及一个画布派生类我做的基本上是从图像中获取数据(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>
答案 0 :(得分:0)
也许最快,最简单的方法是将画布放在Viewbox中。
答案 1 :(得分:0)
我知道这不是一个真正的答案,但我认为问题是画布类本身。它没有自动布局或调整其子元素的大小。链接到msdn:http://msdn.microsoft.com/en-us/library/ms609101(v=vs.100).aspx
您可以尝试连接主窗口的resize事件并调用buttonpress调用的相同功能。