我再一次在WPF绑定地狱:)我有一个公共类(Treatment
)如下:
public class Treatment()
{
...
public Ticker SoakTimeActual;
...
}
Ticker
内是依赖属性:
public class Ticker : FrameworkElement
{
// Value as string
public static readonly DependencyProperty DisplayIntervalProperty = DependencyProperty.Register("DisplayInterval", typeof(string), typeof(Ticker), null);
public string DisplayInterval
{
get { return (string)GetValue(DisplayIntervalProperty); }
set { SetValue(DisplayIntervalProperty, value); }
}
...
}
在我的应用中,创建了一个Treatment
对象,并且可以在XAML(app.xaml
)中轻松访问:
<Application.Resources>
<ResourceDictionary>
<u:Treatment
x:Key="currentTreatment" />
</ResourceDictionary>
</Application.Resources>
现在,我需要绑定到DisplayInterval
的{{1}}依赖项属性,以便以当前状态显示此文本。这是我的尝试,但不起作用:
SoakTimeActual
当然,这可以编译好,但不会显示任何内容。我假设我在更改通知或<TextBlock
Text="{Binding Source={StaticResource currentTreatment}, Path=SoakTimeActual.DisplayInterval}"/>
或两者都犯了错误。
非常感谢任何见解!
答案 0 :(得分:3)
WPF绑定仅对属性进行操作,而非字段。
因此,您需要将SoakTimeActual
字段更改为属性,如下所示:
public class Treatment
{
...
public Ticker SoakTimeActual { get; set; }
...
}