Wpf - шаблон кнопки
привет,
У меня есть много кнопок, определенных таким образом. Цель состоит в том, чтобы определить небольшой масштаб анимации при нажатии на кнопку. Я хотел бы определить шаблон для повторного использования одного и того же кода и просто определить его в качестве параметра . Я попробовал Решение ниже, но я не знаю, как управлять изображением, чтобы повторно использовать код. Не могли бы вы помочь, пожалуйста ? Я начинаю в WPF
<Button Name="BTN_L" Margin="475,215,387,0" Padding="5" Background="Transparent" VerticalAlignment="Top" Height="224" Click="BTN_L_Click"> <Button.Template> <ControlTemplate TargetType ="{x:Type Button}"> <Grid RenderTransformOrigin="0.5,0.5" x:Name="RootGrid" Margin="1,0,4,4" > <Image Source="pack://application:,,,/myNamespace;component/resources/L.png" Margin="0,0,-5,0" /> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> <ControlTemplate.Triggers> <Trigger Property ="IsPressed" Value ="True"> <Setter TargetName="RootGrid" Property="RenderTransform"> <Setter.Value> <ScaleTransform ScaleX="0.97" ScaleY="0.95"/> </Setter.Value> </Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Button.Template> </Button>
Что я уже пробовал:
<UserControl.Resources> <Style x:Key="BTN_L" TargetType="Button"> <Setter Property="Control.Template"> <Setter.Value> <ControlTemplate TargetType ="{x:Type Button}"> <Grid RenderTransformOrigin="0.5,0.5" x:Name="RootGrid" Margin="1,0,4,4" > <Image Source="pack://application:,,,/myNamespace;component/resources/L.png" Margin="0,0,-5,0" /> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </Grid> <ControlTemplate.Triggers> <Trigger Property ="IsPressed" Value ="True"> <Setter TargetName="RootGrid" Property="RenderTransform"> <Setter.Value> <ScaleTransform ScaleX="0.97" ScaleY="0.95"/> </Setter.Value> </Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </UserControl.Resources>
А потом в коде :
<Button Style="{StaticResource BTN_L}..."