使用网格控件调整大小时,应用程序内存迅速增加

时间:2018-09-19 17:34:36

标签: wpf xaml

我的应用程序中有几个Grid,当我不断调整窗口大小时(如使其变小,变大,重复),内存使用量从70MB上升到300MB。

我的应用程序中没有绑定或事件,并且我已经删除了行/列的所有自动布局选项。

这是正常现象吗,因为我有太多网格,或者布局有问题吗?

视频:https://i.gyazo.com/e6292fa9b4e065bf1842c69cbd43b853.mp4

<Window x:Class="CanvasDrawTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:CanvasDrawTest"
        mc:Ignorable="d"
        Title="MainWindow" 
        Height="863" 
        Width="1443"
        WindowStyle="SingleBorderWindow"
        WindowStartupLocation="CenterScreen">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="20" />
            <!-- TopGrid -->
            <RowDefinition />
            <!-- MainGrid -->
            <RowDefinition Height="30" />
            <!-- FooterGrid -->
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid Name="TopGrid" Grid.Row="0" Grid.Column="0">
            <Menu>
                <MenuItem Header="File">
                    <MenuItem Name="NewDiagramMenuItem" Header="New Diagram" Click="NewDiagramMenuItem_Click" />
                </MenuItem>
            </Menu>
        </Grid>
        <DockPanel LastChildFill="True" Grid.Row="1" Grid.Column="0">
            <Grid Name="MainGrid" DockPanel.Dock="Top">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="75*"/>
                    <ColumnDefinition Width="643*"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition />
                </Grid.RowDefinitions>
                <Grid Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Margin="0,0,0,0.333">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="150" />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Border Grid.Row="0" Grid.Column="0" BorderBrush="Gray" BorderThickness="0,0,0.4,0">
                        <Grid Name="LeftGrid" />
                    </Border>
                    <Grid Name="CenterGrid" Grid.Row="0" Grid.Column="1">
                        <Grid.RowDefinitions>
                            <RowDefinition />
                            <RowDefinition Height="150" />
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Grid Name="ContentGrid" Grid.Row="0" Grid.Column="1">
                            <TabControl Name="DocumentTabs" BorderThickness="0" />
                        </Grid>
                        <Border Grid.Row="1" Grid.Column="1" BorderBrush="Gray" BorderThickness="0,0.4,0,0">
                            <Grid Name="BottomGrid" />
                        </Border>
                    </Grid>
                </Grid>
            </Grid>
        </DockPanel>
        <Grid Name="FooterGrid" Grid.Row="2" Grid.Column="0">
            <StatusBar Name="StatusBar" Height="30" />
        </Grid>
    </Grid>
</Window>

0 个答案:

没有答案