我正在尝试为图像创建一个非常简单的编辑器。由于控制面板显示在Canvas的旁边,因此我想在它们之间加一个边框(不过,我对GridSplitter之类的建议持开放态度)。我的Canvas嵌套在ScrollViewer中,嵌套在Border中。当图像加载到画布中时,如果我调整窗口大小,则图像将与其他所有内容一起调整大小。由于我正在编辑此图像,因此我希望将其保持为原始大小,如果Canvas很大,请使用ScrollViewer进行处理。我不知道是否最好将边框放在“控制面板”周围。
XAML代码:
<Border BorderBrush="Black" BorderThickness="2" Grid.Column="2" Grid.Row="0" Grid.RowSpan="10" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ScrollViewer x:Name="canvas_RosetteMap" Height="Auto" Width="Auto" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
<Canvas Grid.Column="2" HorizontalAlignment="Center" Height="Auto" Grid.Row="0" Grid.RowSpan="10" VerticalAlignment="Center" Width="Auto"/>
</ScrollViewer>
</Border>
答案 0 :(得分:0)
您应该改用Grid
。 Canvas
不擅长调整大小,滚动或类似操作。这是一个应该与Image
一起使用的简单示例:
<Border BorderBrush="Black" BorderThickness="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ScrollViewer x:Name="canvas_RosetteMap" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Visible">
<Grid Width="Auto">
<TextBox Background="Beige" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>
</ScrollViewer>
</Border>