如何在TopAppBar-WinRT中的Textblock中显示当前日期时间

时间:2013-04-22 14:23:31

标签: xaml windows-runtime winrt-xaml

我正在尝试在Top App栏中显示当前的sysdatetime,我想知道无论如何我可以在XAML中为win store应用程序做到这一点。

2 个答案:

答案 0 :(得分:2)

public class MainViewModel : INotifyPropertyChanged
    {
        private readonly DispatcherTimer _timer = new DispatcherTimer();

    private string _resDateTime;
    public string ResDateTime
    {
        get
        {
            return _resDateTime;
        }
        set
        {
            _resDateTime = value;
            NotifyPropertyChanged("ResDateTime");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    public void NotifyPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this,
                new PropertyChangedEventArgs(propertyName));
        }
    }

    public MainViewModel()
    {
        _timer.Tick += TimerOnTick;
        _timer.Start();
    }

    private void TimerOnTick(object sender, object o)
    {
        ResDateTime = DateTime.Now.ToString();
    }
}

添加到

背后的代码中
public MainPage()
        {
            this.InitializeComponent();
            DataContext = new MainViewModel();
        }

并加上xaml

<Page.TopAppBar>
    <AppBar>
      <TextBlock Text="{Binding ResDateTime}"></TextBlock>
    </AppBar>
  </Page.TopAppBar>
希望它会有所帮助

答案 1 :(得分:1)

在您的页面中,您可以像这样设置Page.TopAppBar和Page.BottomAppBar:

<Page.TopAppBar>
    <AppBar>
        <TextBlock Text="Your text" />
    </AppBar>
</Page.TopAppBar>

从那里,你可以绑定Text属性,如果你正在使用MVVM模式,或者只是在页面后面的代码中赋值,方法是给TextBlock元素命名。