在ControlTemplate中绑定CollectionViewSource

时间:2010-03-09 07:09:14

标签: wpf xaml

我正在尝试创建一个ControlTemplate,它将2个IQueryables(以及其他一些东西)合并到CompositeCollection中。

我在使CollectionViewSource.Source正确绑定到模板时遇到问题。看起来不支持参考资料部分中的TemplateBinding。解决这个限制的最佳方法是什么?

代码示例如下:

- C#

IQueryable Items1; // (DependencyProperty)
IQueryable Items2; // (DependencyProperty)

- XAML

  <ControlTemplate TargetType="{x:Type Components:Selector}">
    <ControlTemplate.Resources>
      <!-- The two bound properties below fail to bind -->
      <CollectionViewSource Source="{Binding Items1,RelativeSource={RelativeSource TemplatedParent}}" x:Key="Items1Key" />
      <CollectionViewSource Source="{Binding Items2, RelativeSource={RelativeSource TemplatedParent}}" x:Key="Items2Key"  />

      <CompositeCollection x:Key="collection">
        <CollectionContainer Collection="{Binding Source={StaticResource Items1Key}}" />
        <CollectionContainer Collection="{Binding Source={StaticResource Items2Key}}" />
      </CompositeCollection>
    </ControlTemplate.Resources>

    <ComboBox ItemsSource="{Binding Source={StaticResource collection}}" />

  </ControlTemplate>

0 个答案:

没有答案