好吧,我制作了一个Scolling画布(有时我会在其中放置打开我的程序或执行其他操作的按钮),它工作得很好。但是我尝试将它变成.dll但是我注意到我使用的方法对于.dll来说毫无价值,因为它在drop上自动滚动并且我无法添加更多内容。所以我想要的是一个空白的画布(或任何真正的),自动滚动内容,并让我添加更多的项目。例如:按钮,文本块,标签等,它将滚动所有这些。
编辑:我希望能够将控件从工具箱拖到窗口中,然后在其上添加按钮等,它会自动滚动它们。
以下示例。仅限xaml ..想要以我想要的方式使它必须用c#而不是xaml编码。因为一旦它被添加为用户控件,你就无法向其添加其他控件,工具箱项并期望它们自动滚动..
<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>
答案 0 :(得分:0)
你可以使用带有Canvas的ScrollViewer。