[英]Xamarin forms toolbar items not displaying on view
我有許多視圖頁面,它們都繼承自 ContentPage。 從 app.cs 調用的第一個頁面在工具欄中正確顯示圖標。 第二頁(TodoItemView)根本不顯示圖標(使用相同的代碼)。 我需要做些什么來初始化第二個視圖的工具欄?
提前致謝。
This page is called by the following code:
var todoList = new TodoListView();
return new NavigationPage(todoList);
Th page is called by the following code:
var todoList = new TodoListView();
return new NavigationPage(todoList);
// Works shows refresh icon
public class TodoListView : ContentPage
{
public TodoListView ()
{
Title = "Social Events";
// Display the refresh icon
var toolbarItem = new ToolbarItem ("Refresh", "refresh.png", ()=>{
}, 0, 0);
ToolbarItems.Add (toolbarItem);
var list = new ListView ();
var viewModel = new TodoListViewModel ();
list.ItemsSource = viewModel.TodoList;
var cell = new DataTemplate (typeof(AspectImageCell));
cell.SetBinding (TextCell.TextProperty, "Name");
cell.SetBinding (TextCell.DetailProperty, "Details");
cell.SetBinding (ImageCell.ImageSourceProperty, "Image");
list.ItemTemplate = cell;
list.ItemTapped += (sender, args) => {
Navigation.PushAsync (new NavigationPage(new TodoItemView ()));
// Reset the selected item
list.SelectedItem = null;
};
Content = list;
}
}
// Does not work, does not show icon
public class TodoItemView : ContentPage
{
public TodoItemView ()
{
Title = "Todo item";
var toolbarItem = new ToolbarItem ("Send", "send.png", ()=>{
// email todo item
}, 0, 0);
ToolbarItems.Add (toolbarItem);
}
}
如果您的應用沒有工具欄,您的 ToolbarItems 將不會顯示。 添加一個最簡單的方法是將您的頁面包裝在NavigationPage
public static Page GetMainPage ()
{
return new NavigationPage(new SamplePage ());
}
您只需為每個導航堆棧創建一次 NavigationPage。 當您推送 TodoItemView 時,請改為執行以下操作:
list.ItemTapped += (sender, args) => {
Navigation.PushAsync (new TodoItemView ());
// Reset the selected item
list.SelectedItem = null;
};
TodoItemView 將被推送到已經包含在第一個 NavigationPage 中的導航堆棧上。 消除額外的 NavigationPage 也可能會修復您丟失的工具欄項目。 如果不是,還要驗證您指定的工具欄圖標是否有效。
添加一個最簡單的方法是將您的頁面包裝在一個NavigationPage
對象中,然后像這樣調用它:
var testPage = new NavigationPage(new TestPage());
Navigation.PushAsync(testPage);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.