2013-08-29 38 views
0

我正在開發從ItemsControl派生的自定義控件。在generic.xaml文件我創建了該控件的樣式,也定義了ItemTemplate如何從樣式中定義的DataTemplate綁定到TemplatedParent?

<Style TargetType="local:MyItemsControl"> 
    <Setter Property="ItemTemplate"> 
     <Setter.Value> 
      <DataTemplate> 
       <Border Background="Red"> 
        <!-- Other things in here --> 
       </Border> 
      </DataTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

我想將BorderDataTemplateBackground屬性綁定到MyItemsControl的依賴項屬性。

如果發現這裏有幾個問題,建議在綁定中使用MyItemsControl的元素名稱,但只有在定義使用該控件的ItemTemplate時才起作用。我還嘗試綁定到RelativeSource,將local:MyItemsControl定義爲祖先類型。

沒有工作。我在這裏錯過了什麼?

+0

在ControlTemplate中可以使用TemplateBinding。但是這隻能在ControlTemplate中使用......我會嘗試祖先的方式。 – MVCible

+0

我嘗試過 - 但無法讓它正常工作。所以要麼這不起作用 - 要麼我犯了一個錯誤... – Spontifixus

回答

3

那個DependencyProperty的類型是什麼?是Brush還是string? 這個簡單的代碼工作對我來說:

Background="{Binding Name, RelativeSource={RelativeSource AncestorType=ItemsControl}}" 

只是爲了測試我在這裏綁定到ItemsControl中的名稱屬性,它是「黃色」 - 和它的作品。

相關問題