【发布时间】:2017-12-01 23:37:28
【问题描述】:
我是使用 C# 编码的新手,我有使用 Laravel(php) 的背景编码。
我需要使用 CRUD 构建应用程序 (Windows 8.1)。但是在编辑中我遇到了问题,我需要知道如何将选定的项目传递到其他 xaml 文件中。
我需要将 MainPage 的选定项传递给 Editar
MainPage.xaml.cs
命名空间 SQLiteDemo { /// /// 可以单独使用或在框架内导航到的空页面。 /// 公共密封部分类 MainPage : Page { SQLiteAsyncConnection conn = new SQLiteAsyncConnection("dados.sqlite"); 公共主页() { this.InitializeComponent(); conn.CreateTableAsync(); } private async void Listar_Click(object sender, RoutedEventArgs e) { 等待 Atualiza(); } 私有异步任务 Atualiza() { var query = conn.Table(); listBox.ItemsSource = 等待查询.ToListAsync(); } 私人无效Novo_Click(对象发送者,RoutedEventArgs e) { Frame.Navigate(typeof(Novo)); } 私人无效Editar_Click(对象发送者,RoutedEventArgs e) { /* var u = listBox.SelectedItem 作为用户; u.nome = "nome alterado"; 等待 conn.UpdateAsync(u); 等待 Atualiza(); */ listBox.SelectedItems.Add(listBox.SelectedItem as User); var u = listBox.SelectedItem 作为用户; 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));
}
}
}
一些截图:
【问题讨论】:
标签: c# windows visual-studio xaml listbox