Я довольно новичок в c # и WPF. Я делаю небольшой просмотрщик фотографий. Я хочу иметь сетку фотографий, в которой я могу изменить количество столбцов и размер изображений в зависимости от предпочтений пользователя и размера экрана. Я могу делать все, что мне нужно во время разработки, но я не вижу, как изменить некоторые свойства во время выполнения.
В частности, мне нужно изменить количество столбцов UniforGrid, а также ширину и высоту изображения.
<ListView x:Name="LVMiniaturasGrandes" Margin="23,10,464,270.5" Background="#FF272727" Foreground="White" Visibility="Hidden" BorderBrush="{x:Null}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="4" HorizontalAlignment="Stretch"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<ItemsControl Padding="10">
<StackPanel Orientation="Vertical" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Image Source="{Binding ImagenGrande2}" Width="200" Height="200" HorizontalAlignment="Stretch" VerticalAlignment="Top" Stretch="Uniform" />
<StackPanel Orientation="Horizontal" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<TextBlock Text="{Binding NombreFichero}" HorizontalAlignment="Left" VerticalAlignment="Bottom" Foreground="White" />
<TextBlock Text="{Binding VerEstrellas}" Foreground="Red" TextAlignment="Right" HorizontalAlignment="Right" VerticalAlignment="Bottom"/>
</StackPanel>
</StackPanel>
</ItemsControl>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Я ожидаю, что смогу изменить как количество столбцов, так и высоту и ширину изображений в зависимости от положения элемента управления ползунка и фактического размера пикселя экрана.
Любая помощь приветствуется. Заранее спасибо.
EDIT:
Мне удалось изменить количество столбцов в UniformGrid. Это может быть не очень элегантно, но это работает. Но я все еще не могу получить доступ к ширине и высоте изображений.
private void RejillaImagenesGrandes_Initialized(object sender, EventArgs e)
{
_UGImagenesGrandes = (UniformGrid)sender;
}
Таким образом, я могу получить доступ к UniformGrid и динамически изменять количество столбцов