Wpf 在XAML画布上具有放大和缩小功能的滚动条

Wpf 在XAML画布上具有放大和缩小功能的滚动条,wpf,vb.net,xaml,scrollbar,zooming,Wpf,Vb.net,Xaml,Scrollbar,Zooming,我有一个画布,其中包含从代码隐藏生成的图像,我的xaml如下所示 cvsWarehouse是一个实际的画布,在其中生成图像时会进行大量代码隐藏工作,输出窗口如下所示。 当它最大化时,不会显示滚动条。我疯狂地在谷歌上搜索,尽我所能,但仍然无法解决这个问题。我想滚动到画布的末尾。下面还有更多的图像,但是包装或布局变换这里没有任何效果。这也有放大和缩小,但它仍然不会显示滚动条 以下是我所说的内容仍然存在的意思 如何使此滚动条在整个页面中可见。像放大或缩小,最小化或最大化,我有一个类似的

我有一个画布,其中包含从代码隐藏生成的图像,我的xaml如下所示


cvsWarehouse是一个实际的画布,在其中生成图像时会进行大量代码隐藏工作,输出窗口如下所示。

当它最大化时,不会显示滚动条。我疯狂地在谷歌上搜索,尽我所能,但仍然无法解决这个问题。我想滚动到画布的末尾。下面还有更多的图像,但是包装或布局变换这里没有任何效果。这也有放大和缩小,但它仍然不会显示滚动条

以下是我所说的内容仍然存在的意思


如何使此滚动条在整个页面中可见。像放大或缩小,最小化或最大化,我有一个类似的问题,我发现这个问题的第一个答案很有帮助-()。将ScrollViewer应用于画布(已应用布局转换的元素)。scrollviewer必须检测画布大小的变化,才能显示滚动条。另外,我认为您不需要在画布标记-ScrollViewer.CanContentScroll=“True”ScrollViewer.HorizontalScrollBarVisibility=“Visible”ScrollViewer.VerticalScrollBarVisibility=“Visible”中包含这些内容。ScrollViewer标记中的这些定义应该呈现所需的功能

哇。。。现在我看到XAML真的让人头疼。我看没有人能解决这个问题。互联网上到处都是,但还没有合适的解决方案。真的。。。仍然没有解决办法。WPF真的把我搞砸了有人能看看这个问题吗?我正在寻找解决这个问题的方法,而不是针对这个问题的要点。请尽量理解。已经一个星期了,这个问题没有任何进展。。。有人能帮我修复WPF中的这个bug吗?请检查一下这个bug@Kelly Barnard
<ScrollViewer HorizontalScrollBarVisibility="Visible"  VerticalScrollBarVisibility="Visible" >
    <WrapPanel >
        <Grid ScrollViewer.HorizontalScrollBarVisibility="Visible" >
            <Grid.RowDefinitions>
                <RowDefinition Height="25" />
                <RowDefinition Height="20" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="350"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>

            <Menu x:Name="menu1" Grid.Row="0" BorderBrush="AliceBlue" VerticalAlignment="Top" FontFamily="Comic Sans MS" DockPanel.Dock="Top" RenderTransformOrigin="0.48,3.04" >
                <MenuItem Header="_File" Width="92" FontSize="16" FontWeight="Normal" FontFamily="Century Gothic" >

                    <MenuItem Header="_Print"/>
                    <MenuItem Header="_Print Preview"/>
                    <MenuItem Header="_Exit"/>

                </MenuItem>
            </Menu>

            <ToolBar x:Name="toolBar1" Grid.Row="1" Grid.RowSpan="2" BorderBrush="Red"  BorderThickness="3" Margin="0,0,0,900"   Height="30" VerticalAlignment="Top" DockPanel.Dock="Top" >
                <Button x:Name="Zoomin" Click="menuItemZoomin_Click" HorizontalAlignment="Left" Margin="1" Width="90"  FontSize="16" FontWeight="SemiBold" Height="55" RenderTransformOrigin ="0.917,0.587" IsHitTestVisible="True" IsEnabled="True" FontFamily="Century Gothic" Content="Zoom In" />
                <Button x:Name="Zoomout" Click="menuItemZoomout_Click" HorizontalAlignment="Left" Margin="1" Width="90" FontSize="16" FontWeight="SemiBold" RenderTransformOrigin="0.917,0.587" Height="55" FontFamily="Century Gothic" Content="Zoom Out"/>
                <!--<Button x:Name="Print" Click="PrintBtn_Click" HorizontalAlignment="Left" Margin="1" Width="90" FontSize="16" FontWeight="SemiBold" RenderTransformOrigin="0.917,0.587" Height="55" FontFamily="Century Gothic" Content="Print"/>-->
            </ToolBar>



            <Canvas x:Name="cvsWarehouse"  Grid.Row="1"  Focusable="True" ScrollViewer.CanContentScroll="True"  ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Visible"    MouseWheel="Canvas_MouseWheel"  RenderTransformOrigin="0.5,0.5" Margin="15,144,122,151" Grid.ColumnSpan="2"  >
                <Canvas.LayoutTransform>
                    <TransformGroup>
                        <ScaleTransform x:Name ="st1" ScaleX="{Binding Value, ElementName=uiScaleSlider}"
                            ScaleY="{Binding Value, ElementName=uiScaleSlider}"  />
                        <TranslateTransform Y="100" />
                    </TransformGroup>

                </Canvas.LayoutTransform>
            </Canvas>
        </Grid>
    </WrapPanel>