Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin 如何将CollectionView.EmptyView绑定到页面';什么是视图模型?_Xamarin_Xamarin.forms_Mvvmcross_Collectionview - Fatal编程技术网

Xamarin 如何将CollectionView.EmptyView绑定到页面';什么是视图模型?

Xamarin 如何将CollectionView.EmptyView绑定到页面';什么是视图模型?,xamarin,xamarin.forms,mvvmcross,collectionview,Xamarin,Xamarin.forms,Mvvmcross,Collectionview,我正在使用CollectionView构建一个应用程序,我希望用户在CollectionView为空时向ObservableCollection添加一个项目。问题是:我无法找到如何绑定到页面的ViewModel。 这是一个Xamarin.Forms/MvvmCross项目 我尝试设置BindingContext,但没有成功 <CollectionView.EmptyView> <Grid Padding="24,0"> <Grid.Colum

我正在使用CollectionView构建一个应用程序,我希望用户在CollectionView为空时向ObservableCollection添加一个项目。问题是:我无法找到如何绑定到页面的ViewModel。 这是一个Xamarin.Forms/MvvmCross项目

我尝试设置BindingContext,但没有成功

<CollectionView.EmptyView>
    <Grid Padding="24,0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="154" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="154" />
            <RowDefinition Height="auto" />
        </Grid.RowDefinitions>
        <pan:PancakeView
            CornerRadius="8"
            WidthRequest="154"
            HeightRequest="154"
            IsClippedToBounds="True"
            HorizontalOptions="FillAndExpand"
            BackgroundColor="#FF252525"
            VerticalOptions="FillAndExpand"
            Elevation="2">
            <pan:PancakeView.HasShadow>
                <OnPlatform
                    x:TypeArguments="x:Boolean"
                    iOS="False"
                    Android="True" />
            </pan:PancakeView.HasShadow>
            <ImageButton
                HorizontalOptions="FillAndExpand"
                Padding="50"
                VerticalOptions="FillAndExpand"
                BackgroundColor="#FF252525"
                BindingContext="{Binding .}"
                Command="{Binding AddPlaylistCommand}"
                Source="icon_plus" />
        </pan:PancakeView>
    </Grid>
</CollectionView.EmptyView>

命令绑定不起作用,我希望我的命令只绑定到页面的Viewmodel。

尝试以下操作:

 <ImageButton
            HorizontalOptions="FillAndExpand"
            Padding="50"
            VerticalOptions="FillAndExpand"
            BackgroundColor="#FF252525"
            Command="{Binding Source={x:Reference Name=myPage}, Path=BindingContext.DataContext.AddPlaylistCommand}"
            Source="icon_plus" />


其中,
myPage
是您的
ContentPage
名称

您能试试这个吗-{Binding Source={x:Reference Name=myPage},Path=BindingContext.DataContext.addPlayCommand}最后一个很好用!当然,我使用的是MvvmCross。。。非常感谢你!如果你编辑原始答案,我会竖起大拇指的!编辑原始答案