Я пытаюсь создать список элементов, в котором элементы могут быть расширены по другим элементам при наведении / щелчке / некотором другом событии.
В настоящее время я использую WrapPanel и привязываю Items к ItemsSource элемента ItemsControl.имущество.Элементы выглядят хорошо, и WrapPanel хорошо работает, когда изменяется его размер, но я не могу придумать, каким образом элемент сможет расширяться за пределы своих первоначальных границ, по сравнению с другими элементами в WrapPanel.
Возможно изображениесделает это понятнее.
Вот как выглядят предметы:
И это то, чего я хочу достичь при наведении / нажатии на элемент:
Конечно, элемент должен вернуться к своему первоначальному размеру, когда мышь его покидает.
Это код, который я использую:
СПИСОК:
<ScrollViewer VerticalScrollBarVisibility="Auto">
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:WorkoutsListItem/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</ScrollViewer>
ПУНКТ:
<Border Style="{StaticResource WorkoutsButton}" Height="150" Width="250">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="60"/>
</Grid.RowDefinitions>
<Image Grid.Row="0" Height="70" Width="70"/>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<TextBlock [...]/>
<TextBlock [...]/>
</StackPanel>
<TextBlock Grid.Column="1" [...]/>
<StackPanel Grid.Column="2" Orientation="Horizontal">
<TextBlock [...]/>
<TextBlock [...]"/>
</StackPanel>
</Grid>
</Grid>
</Border>
Спасибо за помощь!