我是C#的新编码,我用Laravel(php)进行背景编码 .
我需要使用CRUD构建应用程序(Windows 8.1) . 但在编辑中我遇到了问题, I need to know how to pass a selected item into other xaml file.
我需要将MainPage的选定项目传递给Editar
MainPage.xaml.cs
namespace SQLiteDemo
{
///
/// An empty page that can be used on its own or navigated to within a Frame.
///
public sealed partial class MainPage : Page
{
SQLiteAsyncConnection conn = new SQLiteAsyncConnection("dados.sqlite");
public MainPage()
{
this.InitializeComponent();
conn.CreateTableAsync();
}
private async void Listar_Click(object sender, RoutedEventArgs e)
{
await Atualiza();
}
private async Task Atualiza()
{
var query = conn.Table();
listBox.ItemsSource = await query.ToListAsync();
}
private void Novo_Click(object sender, RoutedEventArgs e)
{
Frame.Navigate(typeof(Novo));
}
private void Editar_Click(object sender, RoutedEventArgs e)
{
/*
var u = listBox.SelectedItem as User;
u.nome = "nome alterado";
await conn.UpdateAsync(u);
await Atualiza();
*/
listBox.SelectedItems.Add(listBox.SelectedItem as User);
var u = listBox.SelectedItem as User;
Frame.Navigate(typeof(SQLiteDemo.Editar), u);
}
}
}
Editar.xaml
<Grid HorizontalAlignment="Left" Height="520" Margin="55,115,0,0" VerticalAlignment="Top" Width="1155">
<TextBox x:Name="Nome" HorizontalAlignment="Left" Margin="70,60,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="40" Width="990" PlaceholderText="Nome"/>
<TextBox x:Name="Email" HorizontalAlignment="Left" Margin="70,140,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Height="40" Width="990" PlaceholderText="Email"/>
</Grid>
Editar.xaml.cs
namespace SQLiteDemo
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
///
public sealed partial class Editar : Page
{
SQLiteAsyncConnection conn = new SQLiteAsyncConnection("dados.sqlite");
public Editar()
{
this.InitializeComponent();
conn.CreateTableAsync<User>();
}
private void SalvarEdit_Click(object sender, RoutedEventArgs e)
{
/*
var u = listBox.SelectedItem as User;
u.nome = Nome.Text;
u.email = Email.Text;
conn.UpdateAsync(u);
*/
}
private void Voltar_Click(object sender, RoutedEventArgs e)
{
Frame.Navigate(typeof(MainPage));
}
}
}
一些截图:
主页
编辑页面
1 回答
你传递参数右边的东西只是为了在导航后得到它 .
将此功能添加到Editar.xaml.cs