我不知道为什么Image穿过网格右边框,如何修复它? 代码看起来像这样:
<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>
答案 0 :(得分:2)
这看起来像是你设置的固定宽度的效果(也许固定列宽的总和大于固定的窗口宽度?)这会导致网格单元(和图像)离开视图。
如果您希望图片填充窗口中剩余的整个空间,请将第二个ColumnDefinition
宽度更改为"*"
而不是640
:
<ColumnDefinition Width="*" />
答案 1 :(得分: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"/>
这样可以防止图像溢出到其他列,并限制它所在的位置。正如我之前所说,我不完全确定我理解你的问题,但如果你提供更多细节,我会很乐意尝试修改我的答案以更好地帮助你。但是现在,这是我能做的最好的事情。