wpf – 将TextBlock绑定到Window的属性

前端之家收集整理的这篇文章主要介绍了wpf – 将TextBlock绑定到Window的属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这应该很简单,但我不能让它工作.
我有一个窗口(主要的xaml应用程序窗口)

我已经定义了一个类型为“Test”的类型(谁拥有和int ID和DateTime TestDate)

  1. public Test CurrentTest
  2. {
  3. get
  4. {
  5. return currentTest;
  6. }
  7. set
  8. {
  9. currentTest = value;
  10. OnPropertyChanged("CurrentTest");
  11. }
  12. }

添加了OnPropertyChanged Impl:

  1. public event PropertyChangedEventHandler PropertyChanged;
  2. private void OnPropertyChanged(String property)
  3. {
  4. if (PropertyChanged != null)
  5. {
  6. PropertyChanged(this,new PropertyChangedEventArgs(property));
  7. }
  8. }

现在我尝试将其绑定到窗口上的文本块.
但它不起作用:

  1. <TextBlock Text="{Binding Source={StaticResource CurrentTest},Path=TestDate,StringFormat=dd/MM/yyyy,TargetNullValue=Not Yet Set}"></TextBlock>

这也不起作用:

  1. <TextBlock>
  2. <TextBlock.Text>
  3. <Binding ElementName="CurrentTest" Path="TestDate" TargetNullValue="not yet set" Mode="OneWay"></Binding>
  4. </TextBlock.Text>
  5. </TextBlock>

我应该怎么做才能让textBlock显示属性的日期?

您可以使用RelativeSource属性
  1. <TextBlock Text="{Binding Path=CurrentTest.TestDate,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Window}}" />

猜你在找的Windows相关文章