先上代碼:
<Window.Style>
<Style TargetType="{x:Type Window}">
<Setter Property="WindowState" Value=https://www.cnblogs.com/T-ARF/p/"{Binding Tag, RelativeSource={RelativeSource Mode=Self}, UpdateSourceTrigger=PropertyChanged,Delay=100}"/>
<Style.Triggers>
<Trigger Property="WindowState" Value=https://www.cnblogs.com/T-ARF/p/"Maximized">
<Trigger.EnterActions>
<BeginStoryboard x:Name="bs">
<Storyboard Storyboard.TargetProperty="Tag" Duration="0:0:0" >
<ObjectAnimationUsingKeyFrames>
<DiscreteObjectKeyFrame KeyTime="0:0:0">
<DiscreteObjectKeyFrame.Value>
<WindowState>normal</WindowState>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<RemoveStoryboard BeginStoryboardName="bs"/>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
</Window.Style>
主要思路讓windowstatte系結到一個無關緊要的且具有propertychanged的屬性上,
所以Tag是首選,
其次是先讓windowstate系結到tag,最主要的是代碼delay讓資料有一個緩沖的階段,
同時使用觸發器將值寫入到tag中即可,

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/2979.html
標籤:WPF
