Я пытаюсь поместить ScrollViewer, обернутый вокруг Canvas (график некоторых сигналов), но я не могу заставить его работать.
Прежде всего, у меня есть пользовательский элемент управления, который создает двухмерные линейные графики (из книги, которой я следую), и я пытаюсь изменить ее, чтобы настроить ее для своих собственных нужд. Соответствующие части:
Мое приложение (Window1.xaml)
<Grid Grid.Column="1" Grid.Row="2">
<local:LineChartControlLib x:Name="originalChart" Xmin="0" Xmax="51.2" Ymin="-3" Ymax="3" Background="White" Title="" GridlinePattern="DashDot" />
</Grid>
UserControl:
<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">
<Canvas Name="chartCanvas" ClipToBounds="False">
<Canvas Name="legendCanvas" Background="Transparent" />
</Canvas>
</Canvas>
Если я поместил ScrollViewer вокруг любой из сеток холста в моем приложении, холст не будет отображаться, и время выполнения будет очень медленным. Если я помещаю ScrollViewer вокруг сетки или холста в пользовательский элемент управления, событие «chartGrid_SizeChanged» запускается многократно (бесконечно). Может ли кто-нибудь просветить меня о том, чего я не понимаю? Большое спасибо.