我正在开发windows通用应用程序,并且已经发现UWP中存在一些局限性。所以现在我使用MySQL数据库。
<TextBlock Text="{Binding Path=client_surname}"></TextBlock>
<TextBlock Text="{Binding Path=client_name}"></TextBlock>
XAML(这些文本块在ListView中)
在Data.cs中,我得到了这样的东西:
public class Tablename
{
private string _client_name;
public string client_name
{
get { return _client_name; }
set { _client_name = value; }
}
private string _client_surname;
public string client_surname
{
get { return _client_surname; }
set { _client_surname = value; }
}
}
代码是这样的:
using (MySqlConnection connection = new MySqlConnection("xxx"))
{
connection.Open();
MySqlCommand readCommand = new MySqlCommand("SELECT * FROM clients", connection);
using (MySqlDataReader reader = readCommand.ExecuteReader())
{
while (reader.Read())
{
demodata.Add(new CloudTable { client_name = reader.GetString(1), client_surname = reader.GetString(2) });
}
}
}
listView1.DataContext = demodata;
}
public ObservableCollection<CloudTable> demodata = new ObservableCollection<CloudTable>();
那么,问题是,我可以让按钮"编辑",点击它进入新的空白页面,使用新的文本框,并用选定的列表视图项填充它们吗?这样我就可以编辑和更新选定的实体了?
你能吗?对但这不是一个教程网站。您正在寻找的是MVVM UWP应用程序。通过在谷歌中搜索"C#UWP crud",我发现了这个教程
https://blogs.msdn.microsoft.com/johnshews_blog/2015/09/09/a-minimal-mvvm-uwp-app/
这将帮助你创造你想要的东西。
Windows通用平台附带sqlite,您只需要配置nuget包并引用正确的库。
转到这个页面,它解释了在UWP应用程序上开始使用sqlite所需要知道的一切。
http://igrali.com/2015/05/01/using-sqlite-in-windows-10-universal-apps/
至于编辑按钮,你可以;)试试这样的东西:
public void Button_Click(object sender, RoutedEventArgs e){
MyObject obj = listview1.SelectedItem as MyObject;
this.Frame.Navigate(typeof(YourNewPage), obj);
}
然后在你的新页面上,你可以收到这样的对象:
protected override void OnNavigatedTo(NavigationEventArgs e) {
MyObject obj = e.Parameter as MyObject;
textbox1.Text = obj.MyName;
textbox2.Text = obj.MyOtherValue;
//etc etc etc
}