日期:2014-05-17  浏览次数:21071 次

WPF,请问这个布局中的裁剪

<Window x:Class="WPF2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="377" Width="378">
    <Grid HorizontalAlignment="Left" Height="298" Background="Red" VerticalAlignment="Top" Width="173" Margin="0,0,189,0">
        <Button Content="Button" HorizontalAlignment="Left" Margin="128,155,-30,0" VerticalAlignment="Top" Width="75"/>
    </Grid>
</Window>



上面的代码中,Button超出了Grid的边缘,由于相对于Grid的右边距设置的是-30,所有没有被裁剪了。但是,如果把Grid相对于窗体的右边距仅仅增加1,从189增加到190,Button就被裁剪了:


这是什么原因呢?Button超出那么多,为什么仅仅增加1,Button就被裁剪了?

------解决方案--------------------
没有试验出你的效果
你是在设计界面拖动布局?
------解决方案--------------------
试验出效果了,也没搞懂
------解决方案--------------------
估计是grid这个控件无法显示完整的关系导致的吧?。。。。
------解决方案--------------------
用Canvas
------解决方案--------------------
  我把你的代码复制了下没出现你的这样的情况啊
------解决方案--------------------
我测试了一下,有时有出现,得看Grid的Width,放在Canvas就不会
------解决方案--------------------
应该是Margin设为了负数的关系