Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 画布与父边框重叠_C#_Wpf_Xaml - Fatal编程技术网

C# 画布与父边框重叠

C# 画布与父边框重叠,c#,wpf,xaml,C#,Wpf,Xaml,我正在努力解决一个布局问题。My usercontrol包含一个边框,画布作为子对象。 此画布包含一个网格,该网格包含2个画布(1列和2行,颜色不同) 我的问题是网格与他右侧的边界重叠,我不知道为什么。我试图将主画布的ClipToBounds属性设置为“True”,但没有效果 你能帮我吗 问题是: 代码如下: <Border Name="MainBorder" BorderBrush="Black" BorderThickness="1"> <Canvas Name="

我正在努力解决一个布局问题。My usercontrol包含一个边框,画布作为子对象。 此画布包含一个网格,该网格包含2个画布(1列和2行,颜色不同)

我的问题是网格与他右侧的边界重叠,我不知道为什么。我试图将主画布的ClipToBounds属性设置为“True”,但没有效果

你能帮我吗

问题是:

代码如下:

<Border Name="MainBorder" BorderBrush="Black" BorderThickness="1">
   <Canvas Name="MainCanvas" Height="30" ClipToBounds="True">
      <Grid Width="{Binding ElementName=MainCanvas, Path=ActualWidth}">
          <Grid.RowDefinitions>
              <RowDefinition Height="5" />
              <RowDefinition Height="5" />
          </Grid.RowDefinitions>
          <Grid.ColumnDefinitions>
              <ColumnDefinition />
          </Grid.ColumnDefinitions>

          <Canvas Name="CanvasTop" Grid.Row="1" Grid.Column="0" Background="Beige" />
          <Canvas Name="CanvasBottom" Grid.Row="0" Grid.Column="0" Background="LightGray" />
      </Grid>
   </Canvas>
</Border>

感谢您的帮助。

我认为是您的Width=“{Binding ElementName=maincavas,Path=ActualWidth}”行导致了这种情况


您可以尝试HorizontalAlignment=“Stretch”而不是width属性吗??这将确保它使用整个宽度。问题解决后,代码中有一个函数以错误的方式调整控件的大小:

public void SetMainCanvasWidth(double size)
{
    Width = Math.Max(2, size); // that line was evil. removed it and it runs
    MainCanvas.Width = Math.Max(2, size);
}

谢谢您的帮助。

不幸的是,布局系统在画布元素内无法工作。很抱歉,您是对的,我只是猜测,我尝试了代码,但无法重现问题。我尝试了您的代码,但没有得到行为描述。这就是你用来制作截图的代码吗?同意Fdooch的说法。发布的代码不会产生这种效果,或者任何像截图一样的远程效果。。。发布的xaml是正确的,没有做任何修改。。。我将调查背后的代码。我确实错过了一些东西。