我将我的应用程序从WP 8.1 / W 8.1转换为UWP。它包括一个更新文本框值的计时器。这是XAML:
Text="{Binding CurrentLocalDateTime, Mode=TwoWay, Converter={StaticResource DateTimeConverter}}"
数据上下文:
private DateTime currentLocalDateTime;
public DateTime CurrentLocalDateTime { get { return currentLocalDateTime; } set { currentLocalDateTime = value; OnPropertyChanged("CurrentLocalDateTime"); } }
private void TimerExecution(object sender, object e)
{
CurrentLocalDateTime = DateTime.Now;
}
我想使用新的x:Bind bining方式,但控件永远不会更新,使用以下代码:
Text="{x:Bind CurrentLocalDateTime, Mode=TwoWay, Converter={StaticResource DateTimeConverter}}"
数据背景:
public DateTime CurrentLocalDateTime { get; set; }
private void TimerExecution(object sender, object e)
{
CurrentLocalDateTime = DateTime.Now;
}
怎么了?
非常感谢你的帮助。 此致
答案 0 :(得分:2)
当您设置CurrentLocalDateTime
时,没有任何内容可以通知您的用户界面发生了这种情况。它适用于第一种情况,因为您正在实现INotifyPropertyChanged并使用属性名称调用OnPropertyChanged。
public DateTime CurrentLocalDateTime
{
get { return currentLocalDateTime; }
set
{
currentLocalDateTime = value;
OnPropertyChanged("CurrentLocalDateTime");
}
}