我得到了一个包含两个用户控件的窗口,一个带有listview的usercontrol和一个带有其他控件的用户控件。如何动态设置ListView列的数量
事情是这样的:
+-------------------------------------------------+
| header stuff |
+---------------------------+---------------------+
| usercontrol with listview | another usercontrol |
+-------------------------------------------------+
| footer stuff |
+-------------------------------------------------+
问题:在低分辨率的屏幕其只可能看到周围的3列的2,你需要滚动看到THRID列。我想通过动态设置根据宽度显示1,2列还是3列来避免水平滚动。另一个问题是名称可能很长,因此listview中的项目宽度都与最长的名称宽度相同。
代码列表视图:
<ListView Name="lstContacts"
ItemsSource="{Binding Path=Contacts}"
IsSynchronizedWithCurrentItem="True"
ItemContainerStyle="{StaticResource RoundedItem}"
SelectionMode="Single"
HorizontalContentAlignment="Center"
VerticalAlignment="Top"
HorizontalAlignment="Stretch" >
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Margin="3">
<TextBlock FontWeight="Bold" FontSize="20" Text="{Binding Path=Identifier}" HorizontalAlignment="Center" />
<TextBlock FontSize="16" Text="{Binding Path=Name}" HorizontalAlignment="Center" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
如何排序了这一点任何想法?
也许listview是一个不好的选择?
谢谢。