我尝试使用某些特定样式设置我的UWP应用程序样式,而在其他平台上它应该保持默认。
这是我的项目布局:
我尝试了以下事项:
在Clients.Shared
中创建如下样式:
<Style x:Key="SomeStyle" TargetType="Button" />
在Clients.Themes.UWP
中添加相同的Style键,以便有希望覆盖它,但没有运气。
然后我尝试使用虚拟样式并使用onPlatform
,但这也没有用,但我仍然认为这是要走的路。我有以下代码:
<Style x:Key="DummyStyle" TargetType="Button">
<Setter Property="Style">
<Setter.Value>
<OnPlatform x:Key="ButtonStyle" x:TypeArguments="Style">
<On Platform="UWP" Value="{StaticResource SomeStyle}"></On>
</OnPlatform>
</Setter.Value>
</Setter>
</Style>
我尝试使用合并的ResourceDictionary.MergedDictionaries
进行混乱但在那里我无法包含xaml
有人有任何线索吗?
答案 0 :(得分:0)
为什么不使用
<Button.Style>
<OnPlatform x:TypeArguments="x:Style">
<OnPlatform.iOS>...</OnPlatform.iOS>
<OnPlatform.Android>...</OnPlatform.Android>
<OnPlatform.WinPhone>...</OnPlatform.WinPhone>
</OnPlatform>
</Button.Style>
希望它会有所帮助。
答案 1 :(得分:0)
试试这个:
<OnPlatform x:TypeArguments="Color" Android="Green" iOS="White" WinPhone="White"
x:Key="PrimaryColor" />
<Style x:Key="ButtonColor" TargetType="Button">
<Setter Property="BackgroundColor" Value="{StaticResource PrimaryColor}" />
</Style>
<Button Text="Hello" HorizontalOptions="StartAndExpand"
Grid.Row="2" Grid.ColumnSpan="2" Style="{StaticResource ButtonColor}" />
在这个例子中,我为一个名为ButtonColor
的Button定义了一个样式。此按钮将为除Android以外的所有平台使用BackgroundColor
白色,其中它将为绿色。
我发现这是该标签在造型方面最常见的用途;如果你正在使用字体,一定要在模拟器和实际设备上运行,以获得你想要的字体。