Я пытаюсь для отображения ListView детали через RectangleBox (что мне удалось сделать с помощью ControlTemplate)WPF ListView Display
Моя проблема заключается в том, как RectangleBox организуются на окне. Я хотел бы отображать столько, сколько могу, на одной строке (в зависимости от ширины окна), и когда одна строка заполнена, начните новую и так далее. Организация будет обновляться в зависимости от ширины окна после каждого изменения размера:
Это может дать лучшее представление о том, что я хочу, вы видите каждый RectangleBox (Маркированный 1,2 ...) организации на окно меняется в зависимости от его ширины.
Вот мой текущий код в моем MainWindow XAML:
<ListView Name="PlayerList" ItemsSource="{Binding Players}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
Имея следующий стиль применяется:
<Style TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<GroupBox Header="{Binding Name}" Width="250" Height="125" Name="Disp" HorizontalAlignment="Left">
<GroupBox.HeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding}" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,0,0,0" TextAlignment="Right"></TextBlock>
</StackPanel>
</DataTemplate>
</GroupBox.HeaderTemplate>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Char}"/>
<TextBlock Text="{Binding Item}"/>
</StackPanel>
</GroupBox>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Но до сих пор, UniformGrid была просто failled попытка, я был оглядываясь по сторонам, но не мог найти решение. Надеюсь, это был просто я немой и пропустил что-то очевидное. D:
Спасибо за помощь.
Я действительно не понимаю вашу контрольную таблицу для ListViewItems. Не могли бы вы предоставить некоторые сведения о типе элемента данных и о том, как его следует визуализировать? В противном случае UniformGrid кажется правильным подходом, и он должен работать так, как вы его использовали. – Clemens
Будет ли работать WrapPanel? – Chris
@Clemens UniformGrid имеет некоторые особенности макета, которые не соответствовали тому, что я хотел, путем различения элементов по-разному в зависимости от их числа и тому подобного. Для ControlTemplate, не зная, что вы хотели видеть, я просто перегрузил стиль при реализации RectangleBox (я сделал это, чтобы удалить эффект выделения) – MagiKruiser