参考数组

时间:2012-03-21 09:08:27

标签: wpf

我想要一个DependencyPropery,它是一个引用的UIElements数组。在WPF中,我们有x:Array标记扩展以及x:Reference可用但它无法使其正常工作。

有关于此的任何想法吗?

克里斯

2 个答案:

答案 0 :(得分:0)

执行此操作的标准方法是在WPF中将UIElementCollection类分配给您的依赖项属性,如下所示:

public UIElementCollection ElementCollection
{
    get { return (UIElementCollection)GetValue(MyPropertyProperty); }
    set { SetValue(MyPropertyProperty, value); }
}

// Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
public static readonly DependencyProperty MyPropertyProperty =
    DependencyProperty.Register("MyProperty", typeof(UIElementCollection), typeof(MyClass), new UIPropertyMetadata(null));

在类的构造函数中,您应该将依赖项属性设置为new UIElementCollection

答案 1 :(得分:-1)

我自己找到了答案。

MyPropertyProperty = DependencyProperty.Register("MyProperty", typeof(UIElement[]), typeof(MyClass), new FrameworkPropertyMetadata(null, MyPropertyChanged));

相应的XAML看起来像:

<cc:MyClass.MyProperty>
  <x:Array Type="UIElement">
    <x:Reference>NameOfTheReferencedUIElement</x:Reference>
  </x:Array>
</cc:MyClass.MyProperty>

这样,依赖项属性会自动填充UIElements形式的引用UI对象数组。

克里斯