我正在开发Windows通用应用程序,并且已经在UWP中发现了一些限制。现在我正在使用MySQL数据库。
<TextBlock Text="{Binding Path=client_surname}"></TextBlock>
<TextBlock Text="{Binding Path=client_name}"></TextBlock>
XAML(这些TextBlocks在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>();
那么问题,我可以制作按钮&#34; EDIT&#34;并通过单击它转到新的空白页面,使用新的TextBoxes,并用选定的listview项填充它们,那么我可以编辑和更新所选的实体吗?
答案 0 :(得分:1)
https://blogs.msdn.microsoft.com/johnshews_blog/2015/09/09/a-minimal-mvvm-uwp-app/
这将帮助您创建所需的内容。
答案 1 :(得分:1)
Windows Universal Platform随附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
}