Vib*_*nRC 5 c# xaml microsoft-metro windows-8 windows-runtime
我使用的是WrapGrid作为itemscontrol在一个ListView与下面的XAML代码水平呈现项目(WinRT的)
<ItemsPanelTemplate >
<WrapGrid x:Name="ContentGrid" MinWidth="200" MinHeight="0" VerticalAlignment="Top" HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,0,0,5" >
</WrapGrid>
</ItemsPanelTemplate>
Run Code Online (Sandbox Code Playgroud)
现在,当宽度超过并且可以水平添加更多项目时,如何水平拉伸项目MinWidth.(所有项目都与中心对齐,水平两侧有很多空间)
<DataTemplate x:Key="CustomChildItemTemplete">
<Grid Background="Red">
</Grid>
</DataTemplate >
Run Code Online (Sandbox Code Playgroud)
更多细节: 当listview宽度大约为800(大约)时,它显示4个水平项目(最小项目宽度为200)但如果宽度为900(可见4个项目),则空白区域(50 px)位于右侧和左侧的itemscontrol,如何可以通过增加产品宽度删除此空白空间(简单地产品宽度必须是225时listview宽度900)
MinWidth最简单的方法是像这样绑定:
<ItemsControl x:Name="MyItemsControl">
<ItemsPanelTemplate >
<WrapGrid x:Name="ContentGrid" MinWidth="{Binding Path=Width, MinWidth="{Binding RelativeSource={RelativeSource Mode=Self}, Converter={StaticRessource Myconverter}, ConverterParameter=[Here Nb of object that you want in one line]}" MinHeight="0" VerticalAlignment="Top" HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,0,0,5" >
</WrapGrid>
</ItemsPanelTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)
转换器只需将 itemsControl 的宽度除以参数(您想要在一行中的对象的 Nb )。因此对象会自动达到您想要的大小!
| 归档时间: |
|
| 查看次数: |
3337 次 |
| 最近记录: |