Ok tôi có ứng dụng WPF trong đó tôi có từ điển tài nguyên. Trong từ điển tôi có một phong cách mới cho một Button
trông như thế này:WPF Thêm thuộc tính tùy chỉnh trong điều khiển
<Style x:Key="MenuButtonStyle" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Image x:Name="Imager" RenderOptions.BitmapScalingMode="HighQuality" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Source="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Tag}" VerticalAlignment="Center" HorizontalAlignment="Center" Stretch="UniformToFill"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Imager" Property="Width" Value="24" />
<Setter TargetName="Imager" Property="Height" Value="24" />
</Trigger>
<Trigger Property="IsPressed" Value="true">
<Setter TargetName="Imager" Property="Width" Value="16" />
<Setter TargetName="Imager" Property="Height" Value="16" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Và sử dụng mụt lẹo ở mí mắt này trong XAML của tôi như thế này:
<Button x:Name="Home" Style="{DynamicResource MenuButtonStyle}" Width="20" Height="20" Tag="\Images\Home.png"/>
<Button x:Name="Settings" Style="{DynamicResource MenuButtonStyle}" Width="20" Height="20" Tag="\Images\Settings.png"/>
Bây giờ những gì tôi muốn làm là, Tạo bất động sản mới trong Button
phong cách đặt tên OverWidth
và OverHeight
để sử dụng nó như thế này:
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Imager" Property="Width" Value= OVERWIDTH/>
<Setter TargetName="Imager" Property="Height" Value= OVERHEIGHT/>
</Trigger>
và trong XAML:
<Button x:Name="Home" Style="{DynamicResource MenuButtonStyle}" Width="20" Height="20" Tag="\Images\Home.png" OVERWIDTH = "24"/>
Tôi thậm chí không biết nếu điều này là có thể. Tôi không muốn sử dụng Binding SomeIntenger
từ mã C#. Cảm ơn trước.