我在使用 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;
}