ШаблонWPF Template.FindName возвращение всегда нуль
<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;
возвращается содержание всегда нуль, почему он не работает?
, если я заменю с этим, программа завершает работу непосредственно
content = this.ItemsPanel.FindName("PART_Canvas", this) as FrameworkElement;
Что такое 'this'? – sircodesalot
В методе OnApplyTemplate попробуйте что-то вроде content = (Canvas) GetTemplateChild ("PART_Canvas") и посмотрите, работает оно или нет. – Sai
@Sai GetTemplateChild не работает. Полотно находится в ItemsPanel. Я не знаю, как я могу получить к нему доступ. – Enzojz