附上属性 - "Cannot find the Style Property .. on the type .."
Attached Property - "Cannot find the Style Property .. on the type .."
我目前正在尝试定义附加的 属性 由用户控件中的对象消耗。
附加的属性在所述控件的代码隐藏中注册:
public partial class MapEditor : UserControl
{
public static readonly DependencyProperty LatitudeProperty =
DependencyProperty.RegisterAttached("Latitude", typeof(double), typeof(MapEditor));
//...
}
然后我尝试在 itemscontrol 中绑定到这些属性:
<UserControl xmlns:Controls="clr-namespace:TestProject.Controls"
...>
<Grid>
...
<ItemsControl ItemsSource={Binding Items}>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="Controls:MapEditor.Latitude"
Value="1" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
</Grid>
</UserControl>
但是我遇到了以下错误:
Error 6 Cannot find the Style Property 'Latitude' on the type 'TestProject.Controls.PhaseEditor'
有什么解决办法吗?我尝试在单独的 class 文件中定义附加属性,但同样的问题仍然存在。
我找到了这个问题的答案。
似乎有必要为依赖属性声明 public 静态 getter 和 setter。也就是说,
public static double GetLatitude(DependencyObject obj);
public static void SetLatitude(DependencyObject obj, double value);
我相信文档中的某处提到了这种需求,尽管我谦虚地认为这种必要性不立即对用户显而易见是很奇怪的。
我目前正在尝试定义附加的 属性 由用户控件中的对象消耗。
附加的属性在所述控件的代码隐藏中注册:
public partial class MapEditor : UserControl
{
public static readonly DependencyProperty LatitudeProperty =
DependencyProperty.RegisterAttached("Latitude", typeof(double), typeof(MapEditor));
//...
}
然后我尝试在 itemscontrol 中绑定到这些属性:
<UserControl xmlns:Controls="clr-namespace:TestProject.Controls"
...>
<Grid>
...
<ItemsControl ItemsSource={Binding Items}>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="Controls:MapEditor.Latitude"
Value="1" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
</Grid>
</UserControl>
但是我遇到了以下错误:
Error 6 Cannot find the Style Property 'Latitude' on the type 'TestProject.Controls.PhaseEditor'
有什么解决办法吗?我尝试在单独的 class 文件中定义附加属性,但同样的问题仍然存在。
我找到了这个问题的答案。
似乎有必要为依赖属性声明 public 静态 getter 和 setter。也就是说,
public static double GetLatitude(DependencyObject obj);
public static void SetLatitude(DependencyObject obj, double value);
我相信文档中的某处提到了这种需求,尽管我谦虚地认为这种必要性不立即对用户显而易见是很奇怪的。