Xamarin MasterPage设置全局PageStyle

时间:2015-10-19 13:08:25

标签: c# xamarin xamarin.forms

我明白了:

BackgroundImage

PageStyle在App.cs中定义,并设置var GlobalStyle = new Style(typeof(MasterDetailPage)) { Setters = new Setter {Property = Grid.BackgroundColorProperty, Value = "Black" }, new Setter {Property = ListView.BackgroundColorProperty, Value = "Black" } } }; 属性。

所有其他页面都应该继承背景图像,但它们不会。

问题是:为什么?以及如何解决?

更新

App.cs

<?xml version="1.0" encoding="utf-8" ?>
<MasterDetailPage
  xmlns="http://xamarin.com/schemas/2014/forms"
  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
  x:Class="MasterPage"
  Style="{StaticResource GlobalStyle}">
</MasterDetailPage>

MasterPage.xaml

Resource.where("name_translated LIKE '#{translated_name}%'")

它只是忽略了全局

1 个答案:

答案 0 :(得分:1)

使用全球风格会不会更好?

看看here

在您的应用ResourceDictionary中定义样式,您还可以使用TargetType属性设置要应用哪种类型的网页。

所以你会得到这样的东西

<Application
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    x:Class="WorkingWithAppResources.App">
    <Application.Resources>
        <ResourceDictionary>
            <Style x:Key="backgroundImage" TargetType="MasterDetailPage">
                <Setter Property="BackgroundImage" Value="YourImage.png" />
            </Style>
        </ResourceDictionary>
    </Application.Resources>
</Application>

您应该为其他类型的页面添加额外的密钥。但是,这样您就不必在每个页面中都包含Style属性。