| Цитата | Наверное так и должно быть. Ведь ScaleTransform, это что-то типа увеличительного стекла. Может просто изменять физические размеры таблицы вместо масштабирования. Мне кажется так проще будет.
|
Логично, что так и должно быть, вопрос в том, можно ли этого избежать? Просто изменять физические размеры вроде накладнее по ресурсам..
| Цитата | у УИэлемента есть не только маргины, а еще и предпочтительные размеры. фиксируя их - избегаешь растяжения/сжатия
|
Пробовал и Width/Height, и MaxWidth/MaxHeight - ноль эффекта, если ты о них говорил.
| Цитата | Еще, думаю, сработает, если свойству трансформации лэйбла присвоить null (если в разметке, - {x:Null}).
|
Не уверен, что понял, что ты имеешь в виду.
Вот моя разметка:
| Код | <DataTemplate DataType="{x:Type local:Photo}"> <DataTemplate.Resources> <Storyboard x:Key="TouchItem"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="border" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)"> <SplineDoubleKeyFrame KeyTime="00:00:00" Value="-1"/> <SplineDoubleKeyFrame KeyTime="00:00:00.1000000" Value="1"/> <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="-1"/> <SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </DataTemplate.Resources> <Border Padding="1,1,1,1" BorderThickness="1" VerticalAlignment="Center" CornerRadius="5,5,5,5" Background="#FF000000" Margin="3,3,3,3" x:Name="border" RenderTransformOrigin="0.5,0.5" Tag="{Binding Path=FullPath}" MouseLeftButtonDown="Item_MouseLeftButtonDown"> <Border.RenderTransform> <TransformGroup> <ScaleTransform ScaleX="1" ScaleY="1"/> <SkewTransform AngleX="0" AngleY="0"/> <RotateTransform Angle="0"/> <TranslateTransform X="0" Y="0"/> </TransformGroup> </Border.RenderTransform> <Border.BitmapEffect> <DropShadowBitmapEffect Color="#FFFFFFFF" Direction="310" Opacity="0.44" ShadowDepth="4" Softness="0.22" /> </Border.BitmapEffect> <Grid VirtualizingStackPanel.IsVirtualizing="True" Width="100" VirtualizingStackPanel.VirtualizationMode="Recycling" Margin="5" VerticalAlignment="Center"> <Grid.LayoutTransform> <ScaleTransform ScaleX="{Binding Path=Value, ElementName=Zoomer}" ScaleY="{Binding Path=Value, ElementName=Zoomer}" /> </Grid.LayoutTransform> <StackPanel Margin="1" VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling" VerticalAlignment="Center" Background="Black"> <StackPanel.ToolTip> <ToolTip Style="{StaticResource ToolTipStyle}" > <StackPanel Background="Black" HorizontalAlignment="Left" VerticalAlignment="Center"> <Label HorizontalAlignment="Center" Foreground="White" Content="{Binding Path=FileName}"/> </StackPanel> </ToolTip> </StackPanel.ToolTip> <Image Source="{Binding Path=Source, Converter={StaticResource LocalUriToImageConverter}}" VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling"/> <Label HorizontalContentAlignment="Center" FontSize="10" Foreground="White" Content="{Binding Path=FileName}" > </StackPanel> </Grid> </Border> <DataTemplate.Triggers> <EventTrigger RoutedEvent="Mouse.MouseEnter"> <BeginStoryboard Storyboard="{StaticResource TouchItem}"/> </EventTrigger> </DataTemplate.Triggers> </DataTemplate>
|
|