[英]I want to block all body after I click any button on page. How I can do it?
[英]I want To reuse the Style block of First Button for others button too, How should I do?
我為按鈕的 MouseEnter 效果編寫了一個簡單的代碼。 還有 2 個其他按鈕,我想要相同的效果。 我如何重用它們,而不是再次編寫相同的代碼?
<Button Content="Common Factor" FontSize="32" Foreground="White"
Background="#FF3399FF" Width="250" Height="60" Margin="20" >
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.500" Storyboard.TargetProperty="Width" To="300"/>
<DoubleAnimation Duration="0:0:0.500" Storyboard.TargetProperty="Height" To="80"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
<Button Content="Common Factor" FontSize="32" Foreground="White" Background="#FF3399FF" Width="250" Height="60" Margin="20"/>
<Button Content="Common Factor" FontSize="32" Foreground="White" Background="#FF3399FF" Width="250" Height="60" Margin="20"/>
回答你的問題
您可以像這樣在ResourceDictionary
中聲明您的Style
:
<Window.Resources>
<Style TargetType="Button" x:Key="MyButtonStyle">
<Style.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.500" Storyboard.TargetProperty="Width" To="300"/>
<DoubleAnimation Duration="0:0:0.500" Storyboard.TargetProperty="Height" To="80"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
通過給它一個鍵(這里是"MyButtonStyle"
),您可以使用StaticResource
標記從其他地方引用它:
<Button Style="{StaticResource MyButtonStyle}" Content="Common Factor" FontSize="32" Foreground="White" Background="#FF3399FF" Width="250" Height="60" Margin="20"/>
<Button Style="{StaticResource MyButtonStyle}" Content="Common Factor" FontSize="32" Foreground="White" Background="#FF3399FF" Width="250" Height="60" Margin="20"/>
<Button Style="{StaticResource MyButtonStyle}" Content="Common Factor" FontSize="32" Foreground="White" Background="#FF3399FF" Width="250" Height="60" Margin="20"/>
到 go 進一步與 Styles
請注意,如果您沒有通過刪除x:Key="MyButtonStyle"
標記來為Style
指定顯式鍵,那么您的Style
會自動應用於所有沒有顯式Style
屬性集的Controls
。 例如,一個Style
定義如下:
<Window.Resources>
<Style TargetType="Button">
<Style.Setters>
<Setter Property="Background" Value="Red"/>
</Style.Setters>
</Style>
</Window.Resources>
將自動應用於Window
中沒有顯Style
屬性的所有Buttons
。
您可以將您的樣式存儲在任何資源字典 object 中,例如 App.xaml 或Window.Resources
中的MergedDictionary
:
<Window.Resources>
<Style TargetType="Button" x:Key="myStyle">
<Style.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.500" Storyboard.TargetProperty="Width" To="300"/>
<DoubleAnimation Duration="0:0:0.500" Storyboard.TargetProperty="Height" To="80"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
並通過創建StaticResource
類型的對象來重用它:
<Button Style="{StaticResource myStyle}" Content="Common Factor" FontSize="32" Foreground="White" Background="#FF3399FF" Width="250" Height="60" Margin="20"/>
<Button Style="{StaticResource myStyle}" Content="Common Factor" FontSize="32" Foreground="White" Background="#FF3399FF" Width="250" Height="60" Margin="20"/>
<Button Style="{StaticResource myStyle}" Content="Common Factor" FontSize="32" Foreground="White" Background="#FF3399FF" Width="250" Height="60" Margin="20"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.