Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
wpf,如何绑定当前日期?_Wpf - Fatal编程技术网

wpf,如何绑定当前日期?

wpf,如何绑定当前日期?,wpf,Wpf,我有一个TextBlock控件,我想将当前系统日期绑定到该控件,如何通过代码隐藏来实现 目标是在此TecBlock中显示当前系统日期和时间,我不需要一直刷新控件,只需刷新一次 我希望这是最简单的代码。我不想创建dateTime属性。 下面是我的代码:找不到BindSource是错误的 Binding bd = new Binding("System.DateTime.Now"); bd.Source = this; textBox.SetBinding(Tex

我有一个TextBlock控件,我想将当前系统日期绑定到该控件,如何通过代码隐藏来实现

目标是在此TecBlock中显示当前系统日期和时间,我不需要一直刷新控件,只需刷新一次

我希望这是最简单的代码。我不想创建dateTime属性。 下面是我的代码:找不到BindSource是错误的

  Binding bd = new Binding("System.DateTime.Now");
        bd.Source = this;
        textBox.SetBinding(TextBox.TextProperty, bd);

感谢您的帮助

您无法绑定到静态属性


您需要使用返回
DateTime.Now
的属性创建一个类,并每天或每秒引发
PropertyChanged
事件。(使用计时器)

从技术上讲,您可以像下面的示例那样绑定当前时间,但是如果没有像前面提到的SLaks那样的正确绑定,您将无法刷新它

<Window x:Class="testWPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:src="clr-namespace:System;assembly=mscorlib"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <ObjectDataProvider x:Key="date" ObjectType="{x:Type src:DateTime}"/>
    </Window.Resources>
    <Grid>
        <TextBox Text="{Binding Source={StaticResource date}, 
                        Path=Now, Mode=OneWay}" />
    </Grid>
</Window>

这将只显示当前日期一次

创建命名空间别名:

  xmlns:sys="clr-namespace:System;assembly=mscorlib"


<TextBlock Text="{Binding Source={x:Static sys:DateTime.Today},   
       StringFormat='{}{0:dddd, MMMM dd, yyyy}'}"/> 
xmlns:sys=“clr命名空间:系统;程序集=mscorlib”

我认为您希望在代码隐藏中执行此操作。在类中创建的属性,并将绑定设置为该属性

public DateTime Date { get; set; }
    public Window9()
    {
        InitializeComponent();
        Date = DateTime.Now;
        DataContext=this;
        txt.SetBinding(TextBlock.TextProperty, new Binding("Date"));
    }

我不想刷新。如何在xaml.cs文件中实现代码。