Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

ContentControl becomes slow after showing a ComboBox drop down

$
0
0

WPF applications can be resized very quickly until a CombBox drop down is shown. This is most apparent when the application uses many ContentControl instances. This is best demonstrated with a sample application. Do the following to recreate the issue...

1 - Create  new WPF Application.

2 - Replace the XAML content for the control with the XAML at the end of this post.

3 - Run the application and use the mouse to resize the window, it should be quick and crisp.

4 - Use the drop down arrow on the ComboBox at the top of the window to show its drop down.

5 - Use the mouse to resize the window, it is now significantly slower. The scale of the slowdown
     depends on your machine. On my development machine it is only update 3 or 4 times per 
     second but other developers in the office get better results.

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
       
        <ComboBox Width="100" HorizontalAlignment="Left"/>
       
        <StackPanel Grid.Row="1" Orientation="Vertical">
            <ContentControl><ContentControl><ContentControl><ContentControl><ContentControl>
            <ContentControl><ContentControl><ContentControl><ContentControl><ContentControl>
            <ContentControl><Button Content="Hello"/></ContentControl>
            </ContentControl></ContentControl></ContentControl></ContentControl></ContentControl>
            </ContentControl></ContentControl></ContentControl></ContentControl></ContentControl>
            <StackPanel Orientation="Vertical">
                <ContentControl><ContentControl><ContentControl><ContentControl><ContentControl>
                <ContentControl><ContentControl><ContentControl><ContentControl><ContentControl>
                <ContentControl><Button Content="Hello"/></ContentControl>
                </ContentControl></ContentControl></ContentControl></ContentControl></ContentControl>
                </ContentControl></ContentControl></ContentControl></ContentControl></ContentControl>
                <StackPanel Orientation="Vertical">
                    <ContentControl><ContentControl><ContentControl><ContentControl><ContentControl>
                    <ContentControl><ContentControl><ContentControl><ContentControl><ContentControl>
                    <ContentControl><Button Content="Hello"/></ContentControl>
                    </ContentControl></ContentControl></ContentControl></ContentControl></ContentControl>
                    </ContentControl></ContentControl></ContentControl></ContentControl></ContentControl>
                    <StackPanel Orientation="Vertical">
                        <ContentControl><ContentControl><ContentControl><ContentControl><ContentControl>
                        <ContentControl><ContentControl><ContentControl><ContentControl><ContentControl>
                        <ContentControl><Button Content="Hello"/></ContentControl>
                        </ContentControl></ContentControl></ContentControl></ContentControl></ContentControl>
                        </ContentControl></ContentControl></ContentControl></ContentControl></ContentControl>
                    </StackPanel>
                </StackPanel>
            </StackPanel>
        </StackPanel>
    </Grid>

Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>