Я использую пакет Mahapps.Metro и иконки в этом небольшом проекте. Моя цель в основном узнать о WPF и современном дизайне пользовательского интерфейса.
Я использую 3-х рядную сетку. В первом ряду у меня есть элемент панели инструментов, в который я поместил три плитки (из элементов управления Mahapps).
И я добавил эффекты, поэтому, когда я перемещаю мышь над плиткой, она плавно меняет размер до 100x100.
Теперь, когда плитки делают это, строка сетки просто обрезает дно.
Когда я устанавливаю высоту строки сетки на «авто», размер строки изменяется вместе с плиткой. Но он перемещает все остальные элементы в других строках.
Мое желание состоит в том, чтобы размер плиток изменялся, не затрагивая что-либо еще, просто перекрывая нижеследующие элементы. Как и в стандартном меню «Файл / Редактировать / Поиск ...».
Вот мой XAML для этого. «Controls» - это средство доступа к Mahapps.Metro Controls.
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40" /> <!--Menubar-->
<RowDefinition Height="20"/> <!--Where-am-I-Bar-->
<RowDefinition Height="*" /> <!--Content-->
</Grid.RowDefinitions>
<ToolBarTray Grid.Column="0" Grid.Row="0">
<ToolBarTray.Resources>
<Style TargetType="Controls:Tile">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.175" To="100" Storyboard.TargetProperty="Height">
<DoubleAnimation.EasingFunction>
<CubicEase EasingMode="EaseOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.075" To="30" Storyboard.TargetProperty="Height" />
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
<Setter Property="Height" Value="30" />
<Setter Property="Width" Value="100" />
<Setter Property="TitleFontSize" Value="12" />
</Style>
</ToolBarTray.Resources>
<ToolBar >
<StackPanel Orientation="Horizontal">
<Controls:Tile Title="2019-03" VerticalAlignment="Top" VerticalTitleAlignment="Center" HorizontalTitleAlignment="Center"/>
<Controls:Tile Title="2019-02" VerticalAlignment="Top" VerticalTitleAlignment="Center" HorizontalTitleAlignment="Center"/>
<Controls:Tile Title="2019-01" VerticalAlignment="Top" VerticalTitleAlignment="Center" HorizontalTitleAlignment="Center"/>
</StackPanel>
</ToolBar>
</ToolBarTray>
<TextBlock Grid.Column="0" Grid.Row="1" Text="Test123" />
</Grid>
Надеюсь, вы поможете мне с этим.
Привет, ксола