【问题标题】:Canvas won't follow fullscreen window?画布不会跟随全屏窗口?
【发布时间】:2012-12-10 21:22:27
【问题描述】:

我得到的图层如下:

<Window>
  <Grid>
     <Scrollviewer>
        <Canvas>
          ....
        <Canvas/>
     <Scrollviewer/>
  <Grid/>
<Window/>

现在,如果我希望我的网格扩展并跟随窗口的高度和宽度,我使用以下代码:

<Window Title="MainWindow" Name="Window" MinHeight="500" MinWidth="800">

<Grid Height="{Binding ElementName=Window, Path=Height}" Width="{Binding ElementName=Window, Path=Width}" x:Name="theGrid">
    <Grid.RowDefinitions>
        <RowDefinition Height="436*" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Margin="0,50,15,66">
        <Canvas MinWidth="{Binding ElementName=theGrid, Path=Width}" MinHeight="{Binding ElementName=theGrid, Path=Height}" Name="canvas1">
                <Canvas.LayoutTransform>
                    <ScaleTransform ScaleX="{Binding Path=Value, ElementName=slider1}"
                                    ScaleY="{Binding Path=Value, ElementName=slider1}"/>
                </Canvas.LayoutTransform>
            </Canvas>
    </ScrollViewer>

当我通过拉动窗口的边/角来调整窗口大小时,这可以正常工作.. !但!当我点击右上角的“全屏”按钮时,它只显示最后一张图片网格的网格大小。像这样:

就像它在“全屏”之后不会重新绘制网格一样...... 帮帮我?

【问题讨论】:

    标签: c# wpf grid window size


    【解决方案1】:

    您明确设置网格的WidthHeight 是否有特定原因? 将网格Margin 设置为 0 将始终将 Grid 设置为窗口大小

        <Grid Margin="0" x:Name="theGrid">
            <Grid.RowDefinitions>
                <RowDefinition Height="436*" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
    
     <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Margin="0,50,15,66">
            <Canvas Margin="0" Name="canvas1">
                    <Canvas.LayoutTransform>
                        <ScaleTransform ScaleX="{Binding Path=Value, ElementName=slider1}"
                                        ScaleY="{Binding Path=Value, ElementName=slider1}"/>
                    </Canvas.LayoutTransform>
                </Canvas>
        </ScrollViewer>
    

    【讨论】:

    • 如果我这样做,那么我的滚动查看器将永远不会显示
    猜你喜欢
    • 2013-08-02
    • 1970-01-01
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    相关资源
    最近更新 更多