首页 > 解决方案 > 从另一个 xaml 文件中定义的控件绑定到 ParentViewModel

问题描述

一些简化的代码:

MainPage.xaml:

<ContentPage x:Name="MyMainPage">
    <ContentPage.Content>
        <Grid>
            <xForms:SfCarousel ItemsSource="{Binding SelectedBoard.ColumnsCollection}">
                <xForms:SfCarousel.ItemTemplate>
                    <DataTemplate>
                        <controls:CarouselItem/>
                    </DataTemplate>
                </xForms:SfCarousel.ItemTemplate>
            </xForms:SfCarousel>
        </Grid>
    </ContentPage.Content>
</ContentPage>

CarouselItem.xaml:

    <ContentView>
    <ContentView.Content>
        <Grid>
            <xForms:SfListView ItemsSource="{Binding TaskCollection}">
                <xForms:SfListView.ItemTemplate>
                    <DataTemplate>
                        <StackLayout>
                            <Button x:Name="MyButton" CommandParameter="{Binding .}" Command=""/>
                        </StackLayout>
                    </DataTemplate>
                </xForms:SfListView.ItemTemplate>
        </Grid>
    </ContentView.Content>
</ContentView>

我想要实现的目标:我想在单击“MyButton”时触发 MainPageViewModel 中定义的命令。我试图做到这一点

"Command="{Binding Path=BindingContext.MyCommand, Source={x:Reference Name=MyMainPage}}"

但随后它抛出“找不到...引用的对象”异常。

标签: c#xamarin

解决方案


推荐阅读