【发布时间】:2023-04-25 08:27:01
【问题描述】:
我有一个 WPF 应用程序,我在其中使用大量使用 ControlTemplate 的对象集,代码如下:
<ControlTemplate x:Name="ControlTemplate" TargetType="{x:Type graphsharp:VertexControl}">
<Border x:Name="_border" CornerRadius="50" Width="60" Height="60" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Border.Effect>
<DropShadowEffect BlurRadius="15" Direction="309" ShadowDepth="0" Color="#FF2B00FF" RenderingBias="Quality"/>
</Border.Effect>
<Border.Background>
<RadialGradientBrush GradientOrigin="0.231,0.889" RadiusX="0.517" RadiusY="0.517">
<GradientStop Color="#CCD4D3FD" Offset="1"/>
<GradientStop Color="Black"/>
</RadialGradientBrush>
</Border.Background>
<Border CornerRadius="50" Width="60" Height="60" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0" BorderThickness="0">
<Border.Background>
<RadialGradientBrush RadiusY="0.939" RadiusX="0.982" GradientOrigin="-0.005,0.984" Center="0.417,0.539">
<RadialGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterY="0.5" CenterX="0.5" ScaleY="1" ScaleX="1"/>
<SkewTransform AngleY="0" AngleX="0" CenterY="0.5" CenterX="0.5"/>
<RotateTransform Angle="181.901" CenterY="0.5" CenterX="0.5"/>
<TranslateTransform/>
</TransformGroup>
</RadialGradientBrush.RelativeTransform>
<GradientStop Color="#34434343" Offset="0.56"/>
<GradientStop Offset="1"/>
<GradientStop Color="#40737373" Offset="0.543"/>
<GradientStop/>
</RadialGradientBrush>
</Border.Background>
<!--Here is the problem !! -->
<ContentPresenter Content="{TemplateBinding Vertex}"
ContentTemplate="{StaticResource VertexDataTemplate}" VerticalAlignment="Center" HorizontalAlignment="Center">
<ContentPresenter.Effect>
<DropShadowEffect Color="White" BlurRadius="4" ShadowDepth="0"/>
</ContentPresenter.Effect>
</ContentPresenter>
<!--Here is the problem !! -->
</Border>
</Border>
</ControlTemplate>
我的问题是使用 ContentPresenter 或 TextBlock 更轻、更省钱?
【问题讨论】:
标签: c# wpf xaml textblock contentpresenter