如何在代码背后获得ContentPresenter

本文关键字:ContentPresenter 背后 代码 | 更新日期: 2023-09-27 18:24:35

我在Themes''Generic.xaml下有下面的代码

现在我需要在代码中了解cPresenter我该怎么做?

事实上,我试图将Silverlight实现转换为WPF代码。我想使用类似Silverlight的东西:

FrameworkElement cp = this.GetTemplateChild("cPresenter") as FrameworkElement;

主题''Generic.xaml

<Style TargetType="local:Marquee">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:Marquee">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">    
                        <ScrollViewer Width="Auto" Height="Auto" HorizontalContentAlignment="Stretch" 
                             VerticalContentAlignment="Stretch" VerticalScrollBarVisibility="Disabled">
                            <Canvas>
                                <ContentPresenter  x:Name="cPresenter" VerticalAlignment="Center" HorizontalAlignment="Center"/>                            
                            </Canvas>
                        </ScrollViewer>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

如何在代码背后获得ContentPresenter

没有理由不在WPF中工作。把这个放在Marquee的代码中。

private ContentPresenter cPresenter;
public override void OnApplyTemplate()
{
   base.OnApplyTemplate();
   this.cPresenter = this.GetTemplateChild("cPresenter") as ContentPresenter;
}
相关文章:
  • 没有找到相关文章