0
我實現了自定義視圖使用的代碼基於http://msdn.microsoft.com/en-us/library/ms748859.aspx拉伸/套牌,以適應ListView中
在「TileView」我將如何設置ListView的伸展每個圖塊以適合可用空間的ListView。即適合恰好3列在ListView即使ListView的變化大小(即,保持每一瓦片總是1/3寬)
<l:PlainView x:Key="tileView" ItemTemplate="{StaticResource centralTile}" />
<DataTemplate x:Key="centralTile">
<StackPanel>
<Grid HorizontalAlignment="Center">
<Image Source="{Binding [email protected]}" />
</Grid>
<TextBlock Text="{Binding [email protected]}" />
<TextBlock Text="{Binding [email protected]}" />
</StackPanel>
</DataTemplate>
編輯:
我有ListView中使用上述進行顯示的X磚和在該示例中更改以下XAML:
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<WrapPanel Width="{Binding (FrameworkElement.ActualWidth),
RelativeSource={RelativeSource
AncestorType=ScrollContentPresenter}}"
ItemWidth="{Binding (ListView.View).ItemWidth,
RelativeSource={RelativeSource AncestorType=ListView}}"
MinWidth="{Binding (ListView.View).ItemWidth,
RelativeSource={RelativeSource AncestorType=ListView}}"
ItemHeight="{Binding (ListView.View).ItemHeight,
RelativeSource={RelativeSource AncestorType=ListView}}"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<UniformGrid Columns="3"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
這正是我所需要的,如果ListView調整列的大小也將調整。
現在我需要弄清楚如何動態地更改UniformGrid列:)