이 문제가 있습니다 : 이 창을 인스턴스화 한 후 오른쪽에있는 모든 중첩 된 확장명을 엽니 다. (그들 중 7 명이있다). 마지막 요소에는 몇 가지 요소가 있습니다. (텍스트 상자) GridSplitter를 드래그하십시오. 모든 것이 잘되고, 유창하게 일하고 있습니다. 그러나! TextBox 중 하나를 클릭하자마자 드래그하는 것이 천천히 (마우스 드롭이 3 초 이상 지나면) 느리게 진행됩니다. 이 디버그 메시지 출력에 표시되는 텍스트 상자에 클릭하면이 후GridSplitter 매우 느리게 이동
'WpfApplication1.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\PresentationCore.resources\3.0.0.0_de_31bf3856ad364e35\PresentationCore.resources.dll'
'WpfApplication1.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\UIAutomationTypes\3.0.0.0__31bf3856ad364e35\UIAutomationTypes.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
, 미친 천천히 드래그가 발생한다. 디버그 창에서 일시 정지 및 다음 단계로가는 이러한 메시지가 표시 될 때 :
이 코드입니다
'WpfApplication1.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\PresentationCore.resources\3.0.0.0_de_31bf3856ad364e35\PresentationCore.resources.dll'
'WpfApplication1.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\UIAutomationTypes\3.0.0.0__31bf3856ad364e35\UIAutomationTypes.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'MS.Internal.UIElementHelper.InvalidateAutomationAncestors'
Step into: Stepping over non-user code 'System.Windows.UIElement.Measure'
Step into: Stepping over non-user code 'MS.Internal.Helper.MeasureElementWithSingleChild'
Step into: Stepping over non-user code 'System.Windows.Controls.ScrollContentPresenter.MeasureOverride'
Step into: Stepping over non-user code 'System.Windows.FrameworkElement.MeasureCore'
Step into: Stepping over non-user code 'System.Windows.UIElement.Measure'
Step into: Stepping over non-user code 'System.Windows.Controls.Grid.MeasureCellsGroup'
Step into: Stepping over non-user code 'System.Windows.Controls.Grid.MeasureOverride'
Step into: Stepping over non-user code 'System.Windows.FrameworkElement.MeasureCore'
Step into: Stepping over non-user code 'System.Windows.UIElement.Measure'
Step into: Stepping over non-user code 'System.Windows.Controls.ScrollViewer.MeasureOverride'
Step into: Stepping over non-user code 'System.Windows.FrameworkElement.MeasureCore'
Step into: Stepping over non-user code 'System.Windows.UIElement.Measure'
Step into: Stepping over non-user code 'Microsoft.Windows.Themes.ClassicBorderDecorator.MeasureOverride'
Step into: Stepping over non-user code 'System.Windows.FrameworkElement.MeasureCore'
Step into: Stepping over non-user code 'System.Windows.UIElement.Measure'
Step into: Stepping over non-user code 'System.Windows.Controls.Control.MeasureOverride'
Step into: Stepping over non-user code 'System.Windows.Controls.TextBox.MeasureOverride'
Step into: Stepping over non-user code 'System.Windows.FrameworkElement.MeasureCore'
Step into: Stepping over non-user code 'System.Windows.UIElement.Measure'
Step into: Stepping over non-user code 'System.Windows.Controls.WrapPanel.MeasureOverride'
등이 ... (품질을 판단하지 않는, 그냥 테스트입니다, 난 당신의 코드를 복사 ... 그리고 응용 프로그램이 빠르게 실행하고 TextBox
-Elements 중 하나를 집중하면서 내가 유창하고 문제없이 GridSplitter
을 밀어 수
<Window Title="Window 5" x:Class="WpfApplication1.Window5" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.Column="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Expander Grid.Row="0" Grid.Column="0" IsTabStop="False">
<Expander.Header>
<DockPanel>
<TextBlock DockPanel.Dock="Left" Text="Search:" Margin="0,0,3,0" VerticalAlignment="Center" />
<Button DockPanel.Dock="Right" Margin="3,0,0,0" IsTabStop="False">
<Button.Style>
<Style TargetType="Button">
</Style>
</Button.Style>
</Button>
<Button DockPanel.Dock="Right" Margin="3" Content="_Search..." ToolTip="Tooltip search" IsTabStop="False" />
<TextBox DockPanel.Dock="Left" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="3" MinWidth="200" TabIndex="1">
</TextBox>
</DockPanel>
</Expander.Header>
<Expander.Content>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="Criteria 1:" VerticalAlignment="Center" HorizontalAlignment="Right" />
<TextBox Grid.Row="0" Grid.Column="1" />
<TextBlock Grid.Row="0" Grid.Column="2" Text="Criteria 1:" VerticalAlignment="Center" HorizontalAlignment="Right" />
<TextBox Grid.Row="0" Grid.Column="3" />
<TextBlock Grid.Row="1" Grid.Column="0" Text="Criteria 2:" VerticalAlignment="Center" HorizontalAlignment="Right" />
<TextBox Grid.Row="1" Grid.Column="1" />
<TextBlock Grid.Row="1" Grid.Column="2" Text="Criteria 2:" VerticalAlignment="Center" HorizontalAlignment="Right" />
<TextBox Grid.Row="1" Grid.Column="3" />
</Grid>
</Expander.Content>
</Expander>
</Grid>
<Border Grid.Row="1" Grid.Column="0" BorderThickness="1" CornerRadius="4">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="Found Matches..." FontStyle="Italic" Panel.ZIndex="100">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Visible" />
</Style>
</TextBlock.Style>
</TextBlock>
<ListBox Grid.Row="0" Grid.Column="0" TabIndex="2">
<ListBox.Style>
<Style TargetType="ListBox">
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Margin" Value="0,7,0,7" />
</Style>
</ListBox.Style>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="SnapsToDevicePixels" Value="true" />
<Setter Property="OverridesDefaultStyle" Value="true" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Margin="4,0,0,0" CornerRadius="6,0,0,6" SnapsToDevicePixels="true" Background="Transparent">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ContentPresenter Grid.Column="0" />
<Border Padding="10,0,10,0" CornerRadius="4" Grid.Column="1">
<Path Width="13.2457" Height="12.8151" Stretch="Fill" Data="F1 M 78.1398,324.18L 52.5865,298.626C 51.6892,297.728 50.3385,297.459 49.1678,297.946C 47.9971,298.43 47.2305,299.574 47.2305,300.843L 60.6385,326.398L 47.2305,351.952C 47.2305,353.223 47.9971,354.364 49.1678,354.848C 49.5558,355.011 49.9638,355.09 50.3678,355.09C 51.1838,355.09 51.9852,354.77 52.5865,354.171L 78.1398,328.616C 78.7238,328.032 79.0598,327.224 79.0598,326.398C 79.0598,325.572 78.7238,324.764 78.1398,324.18 Z ">
<Path.Style>
<Style TargetType="Path">
<Setter Property="Fill" Value="#FF000000" />
</Style>
</Path.Style>
</Path>
<Border.Style>
<Style TargetType="Border">
<Setter Property="Visibility" Value="Visible" />
<Setter Property="Background" Value="Transparent" />
</Style>
</Border.Style>
</Border>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
<GridSplitter Grid.Row="0" Grid.Column="1" Focusable="False" HorizontalAlignment="Right" ResizeDirection="Columns" ResizeBehavior="PreviousAndNext" VerticalAlignment="Stretch">
<GridSplitter.Style>
<Style TargetType="GridSplitter">
<Setter Property="IsEnabled" Value="True" />
<Setter Property="Width" Value="10" />
</Style>
</GridSplitter.Style>
</GridSplitter>
<Border Grid.Row="0" Grid.Column="2" BorderThickness="0,2,2,2" CornerRadius="0,4,4,0">
<ScrollViewer>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Button Grid.Row="0" Grid.Column="0" Content="Edit" HorizontalAlignment="Right" Margin="0,5,5,0" TabIndex="3">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Focusable" Value="True" />
</Style>
</Button.Style>
</Button>
<Expander Grid.Row="1" Grid.Column="0">
<Expander>
<Expander>
<Expander>
<Expander>
<Expander>
<Expander>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.Column="0" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Path Grid.Row="0" Grid.Column="0" Margin="5" />
<TextBlock Grid.Row="0" Grid.Column="1" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Left" TextAlignment="Left" />
</Grid>
<WrapPanel Grid.Row="2" Grid.Column="0" Orientation="Horizontal">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
</Grid>
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
</Grid>
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBox />
<TextBlock Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="4" Text="Mega Text String Lorem ipsum et asdf asdf adsf asdf asdString Lorem ipsum et asdf asdf adsf asdf asdString Lorem ipsum et asdf asdf adsf asdf asd " FontSize="28" VerticalAlignment="Center" TextWrapping="Wrap" />
</WrapPanel>
</Grid>
</Expander>
</Expander>
</Expander>
</Expander>
</Expander>
</Expander>
</Expander>
</Grid>
</ScrollViewer>
</Border>
</Grid>
</Border>
</Grid>
</Window>
글쎄, 가능한 모든 구성, x86, x64 및 모든 CPU를 디버그/릴리스 모드로 시도했습니다. 변화가 아닙니다. 모든 TextBox가있는 블록에 각 컨트롤을 추가하면 더 느립니다 (중첩 된 스크롤 뷰어 3 ~ 각 끌기 25 초) –
동일한 OS 및 .NET 버전/패치가 설치된 다른 컴퓨터에서이 컨트롤을 시도했지만 실제로 유창하게 작동합니다 ! 도대체 .NET 설치 (모든 컴퓨터는 동일한 이미지에서 복원되었습니다.) –
음 .. 설치를 정말로 재설치 할 수 없습니다. 그것은 분명히 승리 7의 핵심 구성 요소입니다 .. –