将标签文本绑定到复杂属性

时间:2014-12-12 22:03:21

标签: wpf wpf-controls data-binding

我在WPF中有一个标签控件

<Label
    Name="lblEventID" FontSize="15" Grid.Row="0" Grid.Column="0" Foreground="Black" VerticalAlignment="Top" AllowDrop="False">
    <Label.Content>
        <AccessText Text="{Binding Path= NoteText}" TextWrapping="WrapWithOverflow" FontFamily="Impact"></AccessText>
    </Label.Content>
    <Label.Effect>
        <DropShadowEffect Color="Black" Direction="320" ShadowDepth="10" Opacity=".5"></DropShadowEffect>
    </Label.Effect>
</Label>

这段代码运行正常。现在我有一个名为Note的新对象,Note的属性是NoteText。所以现在我的类包含一个Note对象,具有NoteText的属性。我的问题是如何将此对象的属性绑定到标签。我认为它会是这样的:

<Label
    Name="lblEventID" FontSize="15" Grid.Row="0" Grid.Column="0" Foreground="Black" VerticalAlignment="Top" AllowDrop="False">
    <Label.Content>
        <AccessText ***Text="{Binding Path= ActiveNote.NoteText}"*** TextWrapping="WrapWithOverflow" FontFamily="Impact"></AccessText>
    </Label.Content>
    <Label.Effect>
        <DropShadowEffect Color="Black" Direction="320" ShadowDepth="10" Opacity=".5"></DropShadowEffect>
    </Label.Effect>
</Label>

1 个答案:

答案 0 :(得分:1)

如果此页面(或Window)的DataContext设置为使用以下代码隐藏: 1.在构造函数中:this.DataContext=this 2.在Xaml中使用DataContext="{Binding RelativeSource={RelativeSource Self}}"

然后绑定到Note对象的NoteText属性使用简单:

Text="{Binding Path= Note.NoteText}