簡體   English   中英

是否有可能在Xaml中包含樣式的靜態列表

[英]Is it possible to have a static list of Styles in Xaml

我想要Xaml中的Styles的靜態列表

到目前為止,我已經嘗試過:

<local:Styles xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:MyApp.Core;assembly=MyApp.Core">
  <Style x:Key="labelStyle" TargetType="Label">
    <Setter Property="TextColor" Value="Green" />
  </Style>
</local:Styles>

背后的代碼

public partial class Styles : List<Style>
{
    public Styles()
    {
    }
}

但是當我這樣做

var styles = new Styles();

該類為空。

順便說一句,我不能使用Application ResourcesResourceDictionary

您可以將樣式放在ResourceDictionary (添加->新項->資源字典):

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <!-- Your styles here -->
    <Style ...

</ResourceDictionary>

不要忘記,您將需要在App.xaml添加對其的引用:

<Application x:Class="Your.App.Namespace"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/Your.App.Namespace;component/Path/To/Dictionary.xaml"/>
            ...

要在代碼隱藏中掌握這些樣式,可以使用FindResource方法:

Style myStyle = App.Current.FindResource("MyStyleKey") as Style;

我想到了另一種想法

創建一個標准的Xamarin.Forms.Solution用樣式標記應用程序XAML實例化並序列化Application.Resource to XML回到MVVMCross應用程序並在加載時反序列化,並在構建或Application.Current時將其分配給每個頁面。資源。 一旦有了XML的格式,就可以直接對其進行編輯,並且可以從項目移植到項目中,基本上,Xamarin Forms的CSS樣式表(XML格式)可能會很有趣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM