Я создаю пользовательский элемент управления, производный от ItemsControl, и теперь столкнулся с проблемой. Когда я пытаюсь установить фон моего элемента управления в образце, это не работает. Ниже приведен код элемента управления:
<!--Parent-->
<Style TargetType="{x:Type local:Parent}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:Parent}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ScrollViewer>
<ItemsPresenter/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--MainChild-->
<Style TargetType="{x:Type local:MainChild}">
<Setter Property="Height" Value="430"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MainChild}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ItemsPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--InnerChild-->
<Style TargetType="{x:Type local:InnerChild}">
<Setter Property="Width" Value="100"/>
<Setter Property="Height" Value="100"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:InnerChild}">
--------------------------------------
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Базовый элемент управления для моего пользовательского элемента управления
Parent-ItemsControl MainChild-ItemsControl InnerChild-ContentControl
В моем примере я попытался установить фон следующим образом:
<local:Parent Background="Yellow" >
<local:MainChild Background="Green">
<local:InnerChild Content="Item1" Background="#FF008C00"/>
</local:MainChild>
</local:Parent>
Для обоих элементов, производных от ItemsControl, свойство background не работает.
Любые предложения приветствуются.
Background
вашегоInnerChild
не устанавливается? - person WPF-it   schedule 18.06.2013