Работа в формах ксамарина. Как я могу сослаться на представление контента со страницы контента, но также включить передачу информации, как показано ниже?
await Navigation.PushAsync(new SecondContentPage(new NextViewModel(FirstViewModel.id)));
Я пробовал контекст привязки xaml, но не знаю, откуда go, и он сохраняет сообщая мне об ошибках в конструкторе без параметров.
xmlns:viewmodel="clr-namespace:Project.ViewModels"
<StackLayout>
<local:SecondContentView>
<local:SecondContentView.BindingContext>
<viewmodel:NextViewModel></viewmodel:NextViewModel>
</local:SecondContentView.BindingContext>
</local:SecondContentView>
</StackLayout>
Мне нужен идентификатор, переданный в основном, чтобы список мог работать в представлении содержимого. спасибо всем
Обновлено - я создал новый пример кода. Я создал одну страницу, чтобы вложить вторую страницу с ListView. Прекрасно работает, пока я не попытаюсь передать параметр с аргументами x: Arguments или в конструкторе ViewModel с первой страницы на вторую страницу.
Первая страница
**<StackLayout>
<StackLayout>
<Label Text="First Page Content"></Label>
</StackLayout>
<StackLayout>
<local:SecondContentView>
<local:SecondContentView.BindingContext>
<viewmodel:SecondViewModel>
<x:Arguments>102</x:Arguments>
</viewmodel:SecondViewModel>
</local:SecondContentView.BindingContext>
</local:SecondContentView>
</StackLayout>
</StackLayout>**
вторая страница
<ContentView.Content>
<StackLayout>
<Label Text="Second Page"></Label>
<ListView x:Name="FirstListView">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="10">
<Label Text="{Binding pType}"></Label>
<Label Text="{Binding fDepartment}"></Label>
<Label Text="{Binding Description}"></Label>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentView.Content>
код второй страницы позади
SecondViewModel ViewModel;
public SecondContentView(SecondViewModel viewmodel)
{
InitializeComponent();
BindingContext = ViewModel = viewmodel;
FirstListView.ItemsSource = ViewModel.TypeList;
}
модель просмотра второй страницы
**public List<TypeModel> TypeList;
public SecondViewModel(int parameter)
{
var p = parameter;
TypeList = new List<TypeModel>()
{
new TypeModel { pType = 1, Title = "First Type", Description = "First Description", Version = "9.9.9", fDepartment = 101 , Comments = "None"},
new TypeModel { pType = 2, Title = "Second Type", Description = "Second Description", Version = "9.9.9", fDepartment = 101 , Comments = "None"},
new TypeModel { pType = 3, Title = "Third Type", Description = "Third Description", Version = "9.9.9", fDepartment = 102 , Comments = "None"},
new TypeModel { pType = 4, Title = "Fourth Type", Description = "Fourth Description", Version = "9.9.9", fDepartment = 102 , Comments = "None"}
};
}**