我试图对我的所有按钮产生影响,但我似乎无法正确配置。
这就是我现在所拥有的:
<ResourceDictionary>
<ControlTemplate x:Key="ButtonTemplate" >
<Grid RowSpacing="0" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<ContentPresenter Grid.Row="0" Grid.Column="0" >
<ContentPresenter.Effects>
<effects:ShadowEffect Radius="5" DistanceX="5" DistanceY="5">
<effects:ShadowEffect.Color>
<OnPlatform x:TypeArguments="Color">
<On Platform="iOS" Value="Black" />
<On Platform="Android" Value="White" />
<On Platform="UWP" Value="Red" />
</OnPlatform>
</effects:ShadowEffect.Color>
</effects:ShadowEffect>
</ContentPresenter.Effects>
</ContentPresenter>
</Grid>
</ControlTemplate>
<Style TargetType="{x:Type Button}">
<Setter Property="ControlTemplate" Value="{StaticResource ButtonTemplate}"></Setter>
</Style>
</ResourceDictionary>
但这会引发Can't resolve ControlTemplateProperty on Button
。
任何人都知道如何做到这一点?
答案 0 :(得分:0)
正如您在Xamarin.Forms Guides所见,控制模板不适用于Button。
ControlTemplate可以通过设置应用于以下类型 他们的ControlTemplate属性:
- ContentPage
- 内容查看
- TemplatedPage
- TemplatedView
错误Can't resolve ControlTemplateProperty on Button
有意义。 Button
继承自View
,而不是TemplatedView
。
关于你的要点,效果不能直接由风格消费,但你可以通过附加属性实现这一点。以下是一些很好的参考资料:
我希望它可以帮到你(抱歉我的英语不好)