C# 在Xamarin表单的导航页面中添加搜索栏
我遵循这些教程在Xamarin的C# 在Xamarin表单的导航页面中添加搜索栏,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,我遵循这些教程在Xamarin的导航页面中实现搜索栏 我有一个简单的ContentPage,我在App.cs的NavigationPage表单中打开它: var navigationPage = new Xamarin.Forms.NavigationPage(new Home()); navigationPage.On<iOS>().SetPrefersLargeTitles(true); MainPage = navigationPage; var-navigati
导航页面中实现搜索栏
我有一个简单的ContentPage
,我在App.cs的NavigationPage
表单中打开它:
var navigationPage = new Xamarin.Forms.NavigationPage(new Home());
navigationPage.On<iOS>().SetPrefersLargeTitles(true);
MainPage = navigationPage;
var-navigationPage=new-Xamarin.Forms.navigationPage(new-Home());
navigationPage.On().SetPrefersLargeTitles(true);
主页=导航页面;
运行项目时,我在渲染器页面的以下行中遇到错误:
Toolbar GetToolbar() => CrossCurrentActivity.Current.Activity.FindViewById<Toolbar>(Resource.Id.toolbar);
Toolbar GetToolbar()=>CrossCurrentActivity.Current.Activity.FindViewById(Resource.Id.Toolbar);
引发的异常是:
System.InvalidCastException:'无法将类型为'Android.Support.V7.Widget.Toolbar'的实例转换为类型为'Android.Widget.Toolbar'
我不明白为什么会出现这个错误,尽管它表明它在铸造方面有问题
有人知道我的错误在哪里吗?解决方案
将有错误的行更改为
var toolbar = CrossCurrentActivity.Current.Activity.FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
或者,如果您仍然需要使用Android.Widget,则可以使用别名:
using Android.Widget;
using V7Toolbar = Android.Support.V7.Widget.Toolbar;
...
// This Toolbar refers to the one in V7!
V7Toolbar toolbar = CrossCurrentActivity.Current.Activity.FindViewById<V7Toolbar>(Resource.Id.toolbar);
使用Android.Widget;
使用V7Toolbar=Android.Support.V7.Widget.Toolbar;
...
//此工具栏指的是V7中的工具栏!
V7Toolbar-toolbar=CrossCurrentActivity.Current.Activity.FindViewById(Resource.Id.toolbar);
using Android.Widget;
using V7Toolbar = Android.Support.V7.Widget.Toolbar;
...
// This Toolbar refers to the one in V7!
V7Toolbar toolbar = CrossCurrentActivity.Current.Activity.FindViewById<V7Toolbar>(Resource.Id.toolbar);