から派生したカスタム コントロールを作成しようとしていますItemsControl
。はItemsControl
アイテムで初期化されていますが、表示されていません。
itemsControl :
public class PipeControl : ItemsControl
{
static PipeControl()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(PipeControl), new FrameworkPropertyMetadata(typeof(PipeControl)));
}
public PipeControl()
{
Checkers = new ObservableCollection<Checker>();
Checkers.Add(new Checker());
Checkers.Add(new Checker());
Checkers.Add(new Checker());
Checkers.Add(new Checker());
Checkers.Add(new Checker());
}
public ObservableCollection<Checker> Checkers
{
get;
set;
}
}
テーマ リソース ディクショナリ: Generic.xaml
<Style TargetType="{x:Type local:PipeControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:PipeControl}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate DataType="{x:Type local:Checker}">
<Ellipse Fill="Red" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemsSource" Value="{Binding Checkers,RelativeSource={RelativeSource Self}}"/>
<!-- Just a Precaution its the default panel any ways -->
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
アイテムが表示されない理由はありますか?