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