テンプレート
<Style TargetType="{x:Type local:Viewport}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:Viewport}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ItemsPresenter/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<Canvas x:Name="PART_Canvas" IsItemsHost="True"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
</Style>
OnApplyTemplate のコード
content = this.Template.FindName("PART_Canvas", this) as FrameworkElement;
コンテンツは常に null を返しますが、なぜ機能しないのでしょうか?
これに置き換えると、プログラムは直接終了します
content = this.ItemsPanel.FindName("PART_Canvas", this) as FrameworkElement;