Я хочу создать представление List в WPF (2), которое не меняет промежуток между столбцами и строкой при повторной калибровке, но автоматически изменяет количество столбцов для соответствия.WPF - изменение размера столбца/строки
Что у меня есть:
Что я хочу
Код:
<Window x:Class="WPFApplication.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Test1" Height="800" Width="1000" Loaded="Window_Loaded" Closing="Window_Closing">
<Window.Resources>
<DataTemplate x:Key="ItemTemplate">
<WrapPanel>
<Grid>
<Border BorderThickness="3" BorderBrush="#FF000000" VerticalAlignment="Top">
<Image Width="200" Height="300" Stretch="Fill" DataContext="{DynamicResource Image}" Source="{Binding Image}"/>
</Border>
<Image HorizontalAlignment="Right" VerticalAlignment="Top" DataContext="{DynamicResource Data}" Source="{Binding Status}" Height="100"/>
</Grid>
</WrapPanel>
</DataTemplate>
</Window.Resources>
<Grid x:Name="mainGrid" Margin="0,81,0,0">
<ListView HorizontalContentAlignment="Left" VerticalContentAlignment="Top" Name="View" ItemTemplate="{StaticResource ItemTemplate}" ItemsSource="{Binding Path = DataList}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Margin" Value="5"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalAlignment" Value="Top"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
</Grid>
Это выглядит как эффект [ 'WrapPanel'] (https://msdn.microsoft.com/en- нас/библиотека/system.windows.controls.wrappanel (v = vs.110) .aspx). Вы пытались назначить его как «ItemsPanelTemplate»? – Sinatr
Если я назначил 'WarpPanel'' ItemsPanelTemplate', он работает, но он показывает только одну строку или столбец, а не оба – Randome