Fork me on GitHub

WPF 前台触发器实时获取当前时间

1.引入命名空间

xmlns:sys="clr-namespace:System;assembly=System.Runtime"

2.显示时间代码

<StackPanel Orientation="Horizontal" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Left">
    <TextBlock FontSize="15" DataContext="{x:Static sys:DateTime.Now}">
        <Run Text="{Binding Now,Mode=OneWay,StringFormat={}{0:yyyy年MM月dd日 HH:mm:ss dddd},ConverterCulture=zh-CN}" Name="tb_datetime" Foreground="White"/>
    </TextBlock>
</StackPanel>

3.添加触发器

<Window.Triggers>
    <EventTrigger RoutedEvent="UserControl.Loaded">
        <BeginStoryboard>
            <Storyboard>
                <ObjectAnimationUsingKeyFrames Duration="0:0:2" 
                                       Storyboard.TargetName="tb_datetime"
                   Storyboard.TargetProperty="DataContext" RepeatBehavior="Forever">
                    <DiscreteObjectKeyFrame Value="{x:Static sys:DateTime.Now}" KeyTime="0:0:0"/>
                    <DiscreteObjectKeyFrame Value="{x:Static sys:DateTime.Now}" KeyTime="0:0:1"/>
                </ObjectAnimationUsingKeyFrames>
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
</Window.Triggers>

  

posted @ 2024-08-17 12:48  WantRemake  阅读(45)  评论(0编辑  收藏  举报