尝试构建Slider菜单我使用来自官方Xamarin的这个文档。 MasterPageDetail
很奇怪,它不起作用。 VS2015 intellense认出了MasterDetailPage(我的类继承了它),但是当我尝试启动应用程序时,会出现下一个错误:
名称空间'Xamarin.Forms'中不存在类型或命名空间名称'MasterPageDetail'(您是否缺少程序集引用?)
发生了什么?你知道任何简单的工作演示吗? 我使用这个问题作为参考,但我没有得到它的工作...... Slider
一些答案使用MasterPageDetail,另一个使用app(class)实现了解决方案,我需要在ContentPage中执行此操作
感谢队友。
EDITED:我正在使用Xamarin.Forms并且我导入了它,我没有任何类似这样的类(MasterPageDetail)......很奇怪,这听起来像是一个愚蠢的事情,但我看不到它。
答案 0 :(得分:0)
MasterDetailPage是来自Xamarin.Forms的类,如果你有同名的类,那么它可能是冲突。
以下是一些有用的链接:
https://developer.xamarin.com/guides/xamarin-forms/user-interface/navigation/master-detail-page/
https://developer.xamarin.com/api/type/Xamarin.Forms.MasterDetailPage/
您也可以从我的Github下载我的示例:
https://github.com/15mgm15/XamarinForms-MasterDetailPage-Recipe
答案 1 :(得分:0)
我明白了。
最后,我清理所有项目并使用下一个示例(仅添加MasterPageItem.cs,一块蛋糕)从零开始编码:
我自己改进了演示,创建了一个主页面详细信息,其中Master的项目绑定了特定的通用页面,它将填充自己的属性,其id依赖于传递给页面的构造函数。
Github Slider Menu improved demo
希望它有所帮助......
答案 2 :(得分:0)
使用XAML创建MasterDetailPage
的简单方法,首先您需要创建一个包含MasterDetailPage
和SecondPage
的页面将包含DetailPage
,通过这样做,您需要将此页面的层次结构更改为MasterDetailPage
,最后在SecondPage
内加载MasterDetailPage
。
在您的项目中创建新页面 - MenuPage
并将页面类型ContentPage更改为MasterDetailPage
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
BackgroundColor="White"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="YourProject.MenuPage">
</MasterDetailPage>
然后转到MenuPage.cs
并将层次结构更改为MasterDetailPage。
public partial class MenuPage : MasterDetailPage
{
public ChatPage()
{
InitializeComponent();
}
}
返回您的XAML页面 - MenuPage
并添加:
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="YourProjectName.MenuPage">
<MasterDetailPage.Master>
<ContentPage Title="Menu">
<StackLayout Orientation="Vertical">
<!--Here goes your Menu Items-->
<Button Text="MyFirstButton"/>
<Button Text="MySecondButton"/>
<Button Text="MyThirdButton"/>
</StackLayout>
</ContentPage>
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<local:SecondPage/>
</MasterDetailPage.Detail>
</MasterDetailPage>
最后,您需要添加对DetailPage
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="YourProjectName.MenuPage"
<!-- Add this line to refer your DetailPage, `SecondPage`-->
<!-- put your namespace and repeat in assembly -->
xmlns:local="clr-namespace:YourProjectName;assembly=YourProjectName">
</MasterDetailPage>
我希望它会帮助你!