0

わかりました、Scolling キャンバスを作成しました (プログラムを開くボタンやその他の操作を行うボタンを入れることもあります)。これは完全に機能しています。しかし、私はそれを .dll にしようとしましたが、私が使用している方法は、ドロップ時に自動スクロールし、それ以上追加できないため、.dll には価値がないことに気付きました。だから私が欲しいのは、コンテンツを自動スクロールし、さらにアイテムを追加できる空のキャンバス(または実際には何でも)です。例:ボタン、テキストブロック、ラベルなど、それらすべてをスクロールします。

編集:コントロールをツールボックスからウィンドウにドラッグして、ボタンなどを追加できるようにしたいのですが、それらは自動スクロールされます。

以下の例。xamlのみ..希望どおりにするには、xamlではなくc#でコーディングする必要があります。ユーザー コントロールとして追加されると、他のコントロールやツールボックス アイテムを追加して自動スクロールすることはできないためです。

<Canvas ClipToBounds="True" x:Name="scrollerCanvas" Height="588">
    <Grid x:Name="OurContainer" Height="588" Background="{x:Null}" ClipToBounds="False">
        <Grid.Clip>
            <RectangleGeometry Rect="0,0,1087,588" RadiusX="30" RadiusY="30" />
        </Grid.Clip>
        <StackPanel Height="800" Margin="1">
            <StackPanel.RenderTransform>
                <TranslateTransform x:Name="scroll" />
            </StackPanel.RenderTransform>

        </StackPanel>

        <Grid.Triggers>
            <EventTrigger RoutedEvent="Canvas.Loaded">
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard RepeatBehavior="Forever">
                            <DoubleAnimation 
                                From="620" To="-450"
                                Storyboard.TargetName="scroll" Storyboard.TargetProperty="Y"
                                Duration="0:0:28" SpeedRatio=".8" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
        </Grid.Triggers>
    </Grid>
</Canvas>
4

1 に答える 1

0

Canvas を内部に持つ ScrollViewer を使用できます。

于 2013-01-12T13:38:24.120 に答える