我是C#和MAUI的新手-所以谢谢你的帮助!
我拥有:
我已经创建了一个非常简单的2页应用程序,工作得很好:
1.第1页使用CollectionView
显示MyDataModel
定义的名字列表(FirstName,LastName,ID)。如果用户在列表中选择了一个项,则程序将导航到该项的详细信息页。
1.第2页使用{Binding}
填充<Entry />
控件,显示所选项目的名字和姓氏,以及提交按钮,以提交对我的数据库的任何更改。我不想使用<Entry />
向用户显示ID字段。
我需要:
在我的详细信息页面:如果没有<Entry />
,如何引用MyDataModel的ID值?
例如:
MyDataModel MyRecord = new MyDataModel();
MyRecord.FirstName = FirstNameEntry.Text; // Value from Xaml Entry
MyRecord.LastName = LastNameEntry.Text; // Value from Xaml Entry
MyRecord.ID = __________; // How do I get this value without an Xaml Entry?
详细代码如下。
数据模型
简单的数据模型,每条记录3个字段
public class MyDataModel
{
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
集合视图页面代码隐藏
集合视图选择已更改
private async void OnCollectionViewSelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.CurrentSelection.FirstOrDefault() != null)
{
MyDataModel MySelectedItem = e.CurrentSelection.FirstOrDefault() as MyDataModel;
await Navigation.PushAsync(new DetailPage
{
BindingContext = MySelectedItem
});
}
}
详情页Xaml
Xaml中详细信息页上的<Entry />
字段
<Entry
x:Name="FirstNameEntry"
Text="{Binding FirstName}" />
<Entry
x:Name="LastNameEntry"
Text="{Binding LastName}" />
详情页后台代码
如果没有Xaml <Entry />
,如何访问该记录的ID值?
public DetailPage()
{
InitializeComponent();
BindingContext = this;
}
private async void Submit_Button_Clicked(object sender, EventArgs e)
{
MyDataModel MyRecord = new MyDataModel();
MyRecord.FirstName = FirstNameEntry.Text;
MyRecord.LastName = LastNameEntry.Text;
MyRecord.ID = ___How Do I Get ID Without Using an XAML Entry?___; // int.Parse(IdEntry.Text);
await SaveRecord(MyRecord);
}
谢谢你
1条答案
按热度按时间5w9g7ksd1#
通过构造函数传递模型
然后在
DetailPage
中