我在用户控件后面的代码中定义了依赖项属性,如下所示:
public partial class StockControl : UserControl
{
public static readonly DependencyProperty DataProperty;
static StockControl()
{
FrameworkPropertyMetadata md = new FrameworkPropertyMetadata(DataPropertyChanged);
DataProperty = DependencyProperty.Register("Data", typeof(Point[]), typeof(StockControl), md);
}
public StockControl()
{
InitializeComponent();
}
private static void DataPropertyChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
{
}
public Point[] Data
{
get { return (Point[])GetValue(DataProperty); }
set { SetValue(DataProperty, value); }
}
}
我正在尝试将整个数组点绑定到我的XAML中的这个依赖项属性。但是,数据属性未显示在intellisense中。如果我将数据类型从Point []切换到Point类型的列表集合,那么它可以正常工作。
我不想使用收藏品。有没有办法让我的原始Point []类型工作?我已经读过,属性不应该返回数组,因为它们是可变的,并且可能被篡改。这是为什么它不起作用?
答案 0 :(得分:1)
我已经尝试过你的代码,它为我构建了一个点数dp很好。
<Window.Resources>
<x:Array Type="Point" x:Key="myPoints">
<Point X="50" Y="50"></Point>
</x:Array>
</Window.Resources>
<local:StockControl Data="{StaticResource myPoints}">
</local:StockControl>