FrameworkElement.LayoutTransform Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает преобразование графики, которое должно применяться к этому элементу при выполнении макета.
public:
property System::Windows::Media::Transform ^ LayoutTransform { System::Windows::Media::Transform ^ get(); void set(System::Windows::Media::Transform ^ value); };
public System.Windows.Media.Transform LayoutTransform { get; set; }
member this.LayoutTransform : System.Windows.Media.Transform with get, set
Public Property LayoutTransform As Transform
Значение свойства
Преобразование этого элемента должно использоваться. Значение по умолчанию — Identity.
Примеры
В следующем примере показано, как применить к LayoutTransform элементу. В этом примере создается экземпляр Button и он размещается в родительском Gridобъекте. Он также использует LayoutTransform свойство для применения к RotateTransform объекту Button.
Button^ btn2 = gcnew Button();
btn2->Background = Brushes::LightCoral;
btn2->Content = "RotateTransform";
btn2->LayoutTransform = gcnew RotateTransform(45, 25, 25);
Grid::SetRow(btn2, 0);
Grid::SetColumn(btn2, 1);
grid1->Children->Add(btn2);
Button btn2 = new Button();
btn2.Background = Brushes.LightCoral;
btn2.Content = "RotateTransform";
btn2.LayoutTransform = new RotateTransform(45, 25, 25);
Grid.SetRow(btn2, 0);
Grid.SetColumn(btn2, 1);
grid1.Children.Add(btn2);
Dim btn2 As New Button()
btn2.Background = Brushes.LightCoral
btn2.Content = "RotateTransform"
btn2.LayoutTransform = New RotateTransform(45, 25, 25)
Grid.SetRow(btn2, 0)
Grid.SetColumn(btn2, 1)
grid1.Children.Add(btn2)
<Button Grid.Row="0" Grid.Column="1" Background="LightCoral" Content="RotateTransform Applied">
<Button.LayoutTransform>
<RotateTransform CenterX="25" CenterY="25" Angle="45" />
</Button.LayoutTransform>
</Button>
Комментарии
В отличие от RenderTransformэтого, LayoutTransform повлияет на результаты макета.
Настройка преобразования обеспечивает мощные возможности масштабирования и поворота. LayoutTransform Однако игнорирует TranslateTransform операции. Это связано с тем, что поведение системы макета для дочерних элементов FrameworkElement автокорректирует любые смещения в положение масштабируемого или вращаемого элемента в макете и системе координат родительского элемента.
LayoutTransform Может привести к низкой производительности приложения, если он вызывается в сценарии, который не требует полной передачи системой макета. При применении LayoutTransformChildren к коллекции он активирует новую передачу системой макета Panelи заставляет все объекты на экране быть перезапугированы и переупорядочены. Если вы обновляете полный пользовательский интерфейс приложения, эта функция может быть именно тем, что вам нужно. Однако если вам не нужен полный проход макета, используйте RenderTransform свойство, которое не вызывает систему макета, и поэтому обычно лучше подходит для этого сценария.
Примеры LayoutTransform сценариев, в которых полезно использовать: поворот таких элементов, как компоненты меню от горизонтальной до вертикальной или наоборот, масштабирование элементов (масштабирование) на фокусе, обеспечение поведения редактирования и т. д.
Сведения о свойстве зависимостей
| Элемент | Ценность |
|---|---|
| Поле идентификатора | LayoutTransformProperty |
Свойства метаданных, равные свойству true |
AffectsMeasure |