При изменении размера с помощью элементов управления Grid память приложения быстро увеличивается - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть пара Grid в моем приложении, и использование памяти увеличивается с 70 МБ до 300 МБ, когда я постоянно изменяю размер окна (как при уменьшении, увеличении, повторении).

Нет привязок илисобытия в моем приложении, и я уже удалил любую опцию Auto layout, которая была у меня для строк / столбцов.

Это нормально, потому что у меня так много гридов или что-то не так с моим макетом?

Видео: 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...