1

我在使用 Silverlight 构建的用户控件时遇到问题。问题是在用户控件的类中,我添加了一个属性public Guid ApplicationId,并且在页面上我想绑定到某个值。当我尝试这样做时,我得到“在类型'ParameterEditor'中找不到属性'ApplicationId'”ParameterEditor我的用户控件在哪里。

问题的一些代码。在用户控件中:

    public ParameterEditor()
    {
        InitializeComponent();
        SetParametersForEdit();
    }

    public Guid ApplicationId
    {
        get { return (Guid)GetValue(ApplicationGUID); }
        set
        {
            if (ApplicationId == value) return;
            SetValue(ApplicationGUID, value);
        }
    }

在我想显示这个控件的页面的 XAML 中,我有这个:

<vbView:ParameterEditor x:Name="paramConfig" Grid.Row="3" Grid.Column="2"
                       DataContext="{Binding SelectedRoute}"
                       ApplicationId="{Binding ApplicationId}"
                        />

并且ApplicationId在页面的 .cs 文件中。问题是我已经用其他控件完成了这件事,而且效果很好,老实说,我不知道为什么会在这里发生。


DependencyProperty定义:

public static readonly DependencyProperty ApplicationGUID = DependencyProperty.Register(
        "Application GUID", typeof(Guid), typeof(ParameterEditor),
        new PropertyMetadata((source, _) => ((ParameterEditor)source).SetInitialGuid()));

    private void SetInitialGuid()
    {
        ApplicationId = Guid.Empty;
    }
4

0 回答 0