这应该很简单,但我无法让它发挥作用。 我有一个窗口(主要的xaml应用程序窗口)
我已经定义了一个类型为“Test”的属性(谁拥有和int ID和DateTime TestDate)
public Test CurrentTest
{
get
{
return currentTest;
}
set
{
currentTest = value;
OnPropertyChanged("CurrentTest");
}
}
我添加了OnPropertyChanged Impl:
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(String property)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(property));
}
}
现在我尝试将其绑定到窗口上的文本块。 但它不起作用:
<TextBlock Text="{Binding Source={StaticResource CurrentTest}, Path=TestDate, StringFormat=dd/MM/yyyy, TargetNullValue=Not Yet Set}"></TextBlock>
这也不起作用:
<TextBlock>
<TextBlock.Text>
<Binding ElementName="CurrentTest" Path="TestDate" TargetNullValue="not yet set" Mode="OneWay"></Binding>
</TextBlock.Text>
</TextBlock>
如何让textBlock显示此属性的日期?
答案 0 :(得分:22)
您可以使用RelativeSource属性:
<TextBlock Text="{Binding Path=CurrentTest.TestDate,
RelativeSource={RelativeSource Mode=FindAncestor,
AncestorType=Window}}" />