我得到了一個包含兩個用戶控件的窗口,一個帶有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是一個不好的選擇?
謝謝。