触发类的父类中的方法,该类具有向其发送命令的控件的视图模型

时间:2017-10-16 04:31:12

标签: c# events xamarin

背景: 我正在尝试使用xamarin表单来实现我想要的接口,并且我能找到的最接近的方法是使用一个使用网格调用contentview的页面。我将不得不实现我自己的顶部工具栏,菜单和tabbar。

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
             xmlns:local="clr-namespace:DNB_Prism_Map.Views"
             prism:ViewModelLocator.AutowireViewModel="True"
             x:Class="DNB_Prism_Map.Views.MergePage">
    <StackLayout>
        <Grid RowSpacing="0" ColumnSpacing="0" Margin="0" Padding="0">
            <Grid.RowDefinitions>
                <RowDefinition Height="20" />
                <RowDefinition Height="40" />
                <RowDefinition Height="*" />
                <RowDefinition Height="47" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="0"/>
            </Grid.ColumnDefinitions>
            <BoxView BackgroundColor="#222222" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"/>
            <local:ToolbarView x:Name="Toolbar" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2"/>
            <BoxView x:Name="MenuCell" BackgroundColor="Gainsboro" Grid.Row="2" Grid.Column="0" Grid.RowSpan="2"/>
            <BoxView x:Name="TargetCell" BackgroundColor="Yellow" Grid.Row="2" Grid.Column="1"/>
            <local:TabbarView x:Name="Tabbar" Grid.Row="3" Grid.Column="1"/>

        </Grid>
        <AbsoluteLayout x:Name="Menu" AbsoluteLayout.LayoutBounds="0,0,-1,-1" AbsoluteLayout.LayoutFlags="PositionProportional" >
            <local:MainPageMaster />
        </AbsoluteLayout>
    </StackLayout>
</ContentPage>

问题: 正如您在上面所看到的,我有加载的工具栏内容视图,在该工具栏上是一个绑定到ToolbarViewModel中的命令的按钮,这将切换ViewModel的属性。现在,我无法弄清楚当该属性的状态发生变化时如何在contentPage上运行方法。

我发现的示例只能连接到具有按钮的视图或页面,我希望它在使用按钮加载视图的页面上触发方法。 所有这些绑定,MVVM,事件对我来说都是新的,看起来过于复杂。

0 个答案:

没有答案