5

我不知道为什么图像跨越网格右边界,如何修复它?代码如下所示:

    <Grid>
        <Grid Name="grid1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="260" />
                <ColumnDefinition Width="640" />
            </Grid.ColumnDefinitions>
            <Image Grid.Column="1" HorizontalAlignment="Stretch" Margin="0" Name="image1" Stretch="Fill" VerticalAlignment="Stretch" Source="path.png"/>
            <ListView Height="361" HorizontalAlignment="Left" Margin="10,10,0,0" Name="listView1" VerticalAlignment="Top" Width="240" ItemsSource="{Binding}" />
            <Button Content="Add New Gesture" Height="39" HorizontalAlignment="Left" Margin="10,387,0,0" Name="button1" VerticalAlignment="Top" Width="112" Click="button1_Click" />
            <Button Content="Delete" Height="39" HorizontalAlignment="Left" Margin="191,387,0,0" Name="button2" VerticalAlignment="Top" Width="59" />
            <Button Content="Modify" Height="39" HorizontalAlignment="Left" Margin="128,387,0,0" Name="button3" VerticalAlignment="Top" Width="57" />
        </Grid>
    </Grid>
4

2 回答 2

2

这看起来像是您设置的固定宽度的效果(也许您的固定列宽度的总和大于固定窗口宽度?)这将导致网格单元(和图像)离开视图。

如果您希望图像填充窗口中剩余的整个空间,请将第二个ColumnDefinition宽度更改"*"640

<ColumnDefinition Width="*" />
于 2012-11-16T23:20:15.623 回答
0

编辑:事实证明这是错误的,它不是一个可行的解决方案。对不起

好的,所以真的不清楚你的问题到底是什么。如果您提供更多详细信息,人们将能够更轻松地为您提供帮助。

据我所知(这可能完全错误),通过说图像“跨越网格右边界”,您的意思是图像应该只显示在一个列中,但它“溢出”到下一列。

这可以通过向 Image 控件添加以下属性来避免:

Grid.ColumnSpan="1"

所以它将是:

<Image Grid.Column="1" Grid.ColumnSpan="1" HorizontalAlignment="Stretch" Margin="0" Name="image1" Stretch="Fill" VerticalAlignment="Stretch" Source="path.png"/>

这将防止图像溢出到其他列,并限制到它所在的列。正如我之前所说,我不完全确定我理解你的问题,但如果你提供更多细节,我很乐意尝试修改我的回答以更好地帮助你。不过现在,这是我能做的最好的了。

于 2012-11-16T23:33:27.940 回答