Trong khi đọc về DataTrigger trên MSDN, nó nóiTrình kích hoạt/DataTrigger có trở về trạng thái trước đó nếu nó không còn đúng trong WPF không?
Đại diện cho một kích hoạt áp dụng giá trị tài sản hoặc thực hiện các hành động khi dữ liệu bị ràng buộc đáp ứng một điều kiện nhất định.
Nó có nghĩa
Khi kích hoạt là đúng nó thay đổi giá trị với giá trị mong muốn.
Nhưng, điều này có thể được suy ra không?
Khi nó không còn đúng thì trả về giá trị cho giá trị trước đó.
Làm thế nào tôi đi đến kết luận này
Tôi đã làm điều này
<Style x:Key="fd" TargetType="SomeControl">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Button Content="Foo" x:Name="mybutton">
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=FooProperty}"
Value="Collapsed">
<Setter Property="IsEnabled" Value="False" TargetName="mybutton"/>
<Setter Property="Opacity" Value="0.5" TargetName="mybutton"/>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Khi FooProperty
bị sụp đổ nó thay đổi myButton của IsEnabled
-False
và Opacity
-0.5
Bây giờ, khi FooProperty
hiển thị, nó sẽ thay đổi số IsEnabled
của mybutton thành True
và Opacity
thành 1
mặc dù tôi chưa viết bất kỳ trình kích hoạt nào để hoàn nguyên về giá trị trước đó.
Đây có phải là tính năng sẵn có của DataTrigger
để hoàn nguyên về giá trị trước đó Khi nó không còn đúng không?
Nếu có, có tài liệu Microsoft/MSDN nào để chứng minh điều này không?