带滚动条的动态尺寸画布

时间:2010-04-19 22:16:35

标签: wpf canvas autosize

我正在开发一个没有任何自动布局的简单WPF应用程序。目标是当用户单击(鼠标按下)时,元素(例如textBlock)将出现在鼠标单击的位置。为此,我使用嵌入在1行,1列和scrollviewer(可见)的网格中的画布面板。问题是: 1.调整应用程序窗口大小时,滚动查看器不会变为活动状态。 我希望能够用鼠标拖动自动生长画布。当用户水平/垂直拖动鼠标时,画布应该增长,就像在MS-Excel中一样。

我已经搜索了很多网来解决这个问题,我无法得到答案。在这方面的任何帮助都会很棒。 先谢谢了。

-P

1 个答案:

答案 0 :(得分:1)

我在问这个问题后,我想出了如何进行自由格式布局和自动调整大小。以下是XAML的示例,如果有人需要它或者有更好的建议来改进这个:

                                                                            

        <Ellipse Grid.Column="0" Fill="Red"/>
        <GridSplitter Grid.Column="1" HorizontalAlignment="Stretch"/>

        <!-- Creating a grid with one row and one column"-->
        <ScrollViewer x:Name="ServerLiistCanvasScrollViewer" 
                    HorizontalScrollBarVisibility="Auto" 
                    VerticalScrollBarVisibility="Auto"                         
                      Height="Auto" Width="Auto"
                    Grid.Column="2" >

            <Grid x:Name="drawingGrid" Grid.Column="2" 
                  VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
                  Background="Pink"
                  MouseDown="handleCanvasMouseDown">
            </Grid>        
        </ScrollViewer>


    </Grid>