Вопросы WPF (событие SizeChanged, scrollviewer + canvas) - PullRequest
0 голосов
/ 15 октября 2010

Я пытаюсь поместить 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» запускается многократно (бесконечно). Может ли кто-нибудь просветить меня о том, чего я не понимаю? Большое спасибо.

1 Ответ

0 голосов
/ 15 октября 2010

Панель Canvas плохо работает с программами прокрутки.См. сообщение для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...