Silverlight で作成したユーザー コントロールに問題があります。問題は、ユーザー コントロールのクラスにプロパティを追加public Guid ApplicationId
し、ページで何らかの値にバインドしたいことです。これを実行しようとすると、「プロパティ 'ApplicationId' がタイプ 'ParameterEditor' に見つかりませんでした」というメッセージが表示され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;
}