Xamarin为标题形成ControlTemplate,为页脚和绑定形成另一个

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xamarin为标题形成ControlTemplate,为页脚和绑定形成另一个相关的知识,希望对你有一定的参考价值。

我正在制作一个在每个屏幕上都有相同标题的应用程序,因此我为应用程序的该部分创建了一个ControlTemplate,在其上放置了一些按钮,这样就可以了。我很高兴。

三个屏幕具有几乎相同的页脚,只有不同的文本颜色和图像。我为页脚创建了另一个ControlTemplate,我想根据当前显示的页面操作绑定图像上的IsVisible属性,但我无法弄清楚如何操作。

我知道我需要编写一个转换器,我这样做了,这似乎并不复杂,但我无法找到一种方法来实际绑定这些属性中的值。

两个ControlTemplates都是在应用程序级别定义的。

这是我如何使用它们的一个例子,也许这是错误的:

<ContentView ControlTemplate="{StaticResource Header}">
<!--This is the actuall page content-->
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="9*"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
    <!--Content of the page!-->
<Label Text="Welcome to Xamarin.Forms!" 
       VerticalOptions="Center" 
       HorizontalOptions="Center" 
       Grid.Row="0"/>
<!--Footer of the page!-->
    <ContentView ControlTemplate="{StaticResource BuySellPayFooter}"
                             Grid.Row="1"/>
    </Grid>
</ContentView>

我需要在页脚中绑定某些类的属性。怎么做?它可以实现吗?

答案

我使用ControlTemplate在每个页面上显示一个ActivityIndi​​cator。

对于指标的属性IsVisible,我将其与页面的属性IsBusy绑定。

这就是我在ControlTemplate的XAML中绑定它的方式:

IsVisible="{TemplateBinding BindingContext.IsBusy}"

如果我想更改每个页面上指示器的颜色,我可以为页面定义BusyColor属性并绑定它:

Color="{TemplateBinding BindingContext.BusyColor}"

以上是关于Xamarin为标题形成ControlTemplate,为页脚和绑定形成另一个的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin 形成绑定标签 IsVisibleProperty

Xamarin 使用 Firebase 形成推送通知

即使应用程序关闭,Xamarin 也会为数据同步形成后台服务

Xamarin 形成具有半径和背景颜色的网格

入口圆角 - Xamarin 形成 UWP

Xamarin 形成边距