Может ли кто-нибудь объяснить мне связь между ScrollViewer
и SizeChanged
событиями? Всякий раз, когда я помещаю scrollViewer вокруг сетки, происходит большое событие SizeChanged. Какова взаимосвязь между ними? Большое спасибо.wpf ScrollViewer и событие SizeChanged
EDIT:
От комментария mdm20, я заметил, что ActualWidth и ActualHeight сетки непрерывно возрастает, если я обернуть сетки вокруг ScrollViewer. Может ли кто-нибудь объяснить, почему это так? Нужно ли иметь жесткие значения для ширины и высоты сетки?
EDIT # 2:
изменение размера осуществляется с помощью кода, размещенных ниже. Спасибо за глядя в этот
private void chartGrid_SizeChanged(object sender, SizeChangedEventArgs e)
{
textCanvas.Width = chartGrid.ActualWidth;
textCanvas.Height = chartGrid.ActualHeight;
legendCanvas.Children.Clear();
chartCanvas.Children.RemoveRange(1, chartCanvas.Children.Count - 1);
textCanvas.Children.RemoveRange(1, textCanvas.Children.Count - 1);
AddChart();
}
соответствующий код XAML ниже:
<ScrollViewer Name="chartScrollViewer">
<Grid Margin="0" x:Name ="chartGrid" Grid.Column="1" Grid.Row="1" ClipToBounds="True" Background="Transparent" SizeChanged="chartGrid_SizeChanged">
<Canvas Margin="2" Name="textCanvas" ClipToBounds="True" Grid.Column="1" Grid.Row="1" Height="1200">
<Canvas Name="chartCanvas" ClipToBounds="True">
<Canvas Name="legendCanvas" Background="Transparent" />
</Canvas>
</Canvas>
</Grid>
</ScrollViewer>
Увольняют ли они только когда окно загружено или постоянно? – Mark
Его при загрузке окна. Я не могу загрузить загрузку окна из-за постоянных вызовов – thomas1234
Что находится внутри сетки? Вы меняете размер чего-либо в событии sizechanged, создавая цикл? – mdm20