标签绑定不起作用

本文关键字:不起作用 绑定 标签 | 更新日期: 2023-09-27 17:59:10

我正在尝试将标签绑定到Object.Object.Property,但我没有让它运行。

这是我的代码:

XAML

<Window x:Class="MyApp.MyWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MyWindow" Height="1120" Width="800">
    <Grid Name="MyGrid">
        <StackPanel Orientation="Horizontal">
            <Label FontWeight="Bold" FontSize="40" Content="{Binding MyDataObject/AnotherSubObject/MyProperty}"/>
        </StackPanel>
    </Grid>
</Window>

代码

public partial class MyWindow : Window
{
    public MySubObject MyDataObject { get; set; }
    public MyWindow(MySubObject object)
    {
        InitializeComponent();
        this.MyDataObject = object; // Contains MyDataObject.AnotherObject.MyProperty
        DataContext = this;
    }
}

MySubObject对象的代码如下所示:

    public class MySubObject : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    AnotherObject _AnotherObject;
    public MySubObject()
    {
        this._AnotherObject = new AnotherObject();
        this._AnotherObject.Property = "Some Value";
    }
    public AnotherObject AnotherObject
    {
        get { return _AnotherObject; }
        set { _AnotherObject = value; OnPropertyChanged("AnotherObject"); }
    }
    // Create the OnPropertyChanged method to raise the event
    protected void OnPropertyChanged(string name)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(name));
        }
    }
}

我会很高兴得到圆顶支持的这个案件。

标签绑定不起作用

使用Dot(.)作为绑定属性路径分隔符,而不是Forward slash(/)

<Label FontWeight="Bold" FontSize="40"
       Content="{Binding MyDataObject.AnotherSubObject.MyProperty}"/>