C# MAUI page之间传数组类型的值 MVvM方式
时间: 2024-11-12 20:31:19 浏览: 18
C#.NET MAUI MVVM工具
在C# MAUI (Microsoft UI for Xamarin) 中,MVVM (Model-View-ViewModel) 模式通常用于组织应用程序结构。当你需要在页面之间传递数组类型的值时,可以采用以下步骤:
1. **数据绑定**:
- 在ViewModel中,将数组作为公开的属性(通常是`ObservableCollection<T>` 或 `List<T>` 类型),因为MVVM强调数据驱动视图。
```csharp
public class MyViewModel
{
public List<int> MyArray { get; set; } = new List<int>(); // 创建并初始化数组列表
}
```
2. **将数据发送到目标页面**:
- 当你想从一个页面向另一个页面传递数组时,在触发者(如按钮点击事件)上调用`NavigationService`来导航,并携带数据。
```csharp
private async void SendArrayToOtherPage_Clicked(object sender, EventArgs e)
{
MyViewModel viewModel = new MyViewModel();
viewModel.MyArray = // 这里填充你想要传递的数据
await Navigation.PushAsync(new OtherPage(viewModel));
}
```
这里,`OtherPage`是一个接收数据的目标页面,它应该有一个构造函数或者依赖注入来接受ViewModel。
3. **接收数据**:
- 在`OtherPage`中,你可以通过属性或方法来获取传递过来的数组。
```csharp
public partial class OtherPage : ContentPage
{
private readonly MyViewModel _viewModel;
public OtherPage(MyViewModel viewModel)
{
InitializeComponent();
_viewModel = viewModel;
}
protected override void OnAppearing()
{
base.OnAppearing();
DisplayArray(_viewModel.MyArray);
}
private void DisplayArray(List<int> array)
{
foreach (int value in array)
{
// 显示或处理接收到的数组元素
}
}
}
```
阅读全文