Xamarin/Visual Studio For Mac (プレビュー) は初めてです。私はC#に慣れていません。ヘッダーに SearchBar を取得する方法に苦労しています。
Xamarin Web サイトの Xamarin.CRM サンプルを使用しています。
タイトルを各ページのヘッダーにバインドしている ViewModel があるように見えますが、むしろ検索バーが必要です。
XAML
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Phoodie.AboutPage" xmlns:vm="clr-namespace:Phoodie;" Title="{Binding Title}">
<ContentPage.BindingContext>
<vm:AboutViewModel />
</ContentPage.BindingContext>
コードビハインド
public partial class ItemsPage : ContentPage
{
ItemsViewModel viewModel;
public ItemsPage()
{
InitializeComponent();
BindingContext = viewModel = new ItemsViewModel();
}
async void OnItemSelected(object sender, SelectedItemChangedEventArgs args)
{
var item = args.SelectedItem as Item;
if (item == null)
return;
await Navigation.PushAsync(new ItemDetailPage(new ItemDetailViewModel(item)));
// Manually deselect item
ItemsListView.SelectedItem = null;
}
async void AddItem_Clicked(object sender, EventArgs e)
{
await Navigation.PushAsync(new NewItemPage());
}
protected override void OnAppearing()
{
base.OnAppearing();
if (viewModel.Items.Count == 0)
viewModel.LoadItemsCommand.Execute(null);
}
}
ビューモデル
public ItemsViewModel()
{
Title = "Browse";
Items = new ObservableRangeCollection<Item>();
LoadItemsCommand = new Command(async () => await ExecuteLoadItemsCommand());
MessagingCenter.Subscribe<NewItemPage, Item>(this, "AddItem", async (obj, item) =>
{
var _item = item as Item;
Items.Add(_item);
await DataStore.AddItemAsync(_item);
});
}
私が達成しようとしていること
事前にご協力いただきありがとうございます。