如何在XAML中声明自定义对象的数组并支持绑定

时间:2019-05-29 09:20:52

标签: wpf xaml user-interface

我一直在研究一个包含ItemsControl的CustomControl。我添加了一个依赖项属性,以便可以在使用控件的XAML中设置ItemsControl的ItemsSource属性。我已经直接在XAML中声明了我的自定义对象数组。这很好,但是我在XAML中的自定义对象上绑定任何公共属性时遇到了问题。自定义对象不是依赖对象...

我会喜欢一些指针。

如果这个问题太复杂而无法在XAML中实现,我将把ItemsSource绑定到我的视图模型上的一个属性上...

XAML:

<local:OptionsControl Title="Options" Message="Select an option:">
    <local:OptionsControl.Options>
        <x:Array Type="{x:Type local:OptionInfo}">
           <local:OptionInfo Name="OptionOne" SelectCommand="{Binding ?"}/>
           <local:OptionInfo Name="OptionTwo" SelectCommand="{Binding ?"}/>
           <local:OptionInfo Name="OptionThree" SelectCommand="{Binding ?"}/>
        </x:Array>
    </local:OptionsControl.Options>
</local:OptionsControl>           

1 个答案:

答案 0 :(得分:0)

您没有完全解释自己在做什么。

您可以定义一个带有类型的x:array并将itemssource绑定到该类型。您可以绑定到该类型的公共属性,没问题。

您甚至可以定义一个类继承observablecollection,在xaml中定义该类的项,然后将一个项目源绑定到该类。

https://social.technet.microsoft.com/wiki/contents/articles/26200.wpf-dynamicresource-observablecollection.aspx