Windows Phone 学习 LINQ在wp上的使用
来源:互联网 发布:地板革淘宝网 编辑:程序博客网 时间:2024/06/06 03:56
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <ListBox Name="MyContactList"> <ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch"/> <Setter Property="Margin" Value="2,6,2,6"/> </Style> </ListBox.ItemContainerStyle> <ListBox.ItemTemplate> <DataTemplate> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="auto"/> </Grid.ColumnDefinitions> <StackPanel Grid.Column="0"> <TextBlock FontSize="32" Text="{Binding Name}"/> <StackPanel Orientation="Horizontal"> <TextBlock Text="电话:"/> <TextBlock Text="{Binding PhoneNo}"/> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Text="电邮:"/> <TextBlock Text="{Binding Email}"/> </StackPanel> </StackPanel> <StackPanel Grid.Column="1"> <HyperlinkButton Content="删除" Tag="{Binding ID}" Click="OnDelete" Margin="0,25,7,0"/> </StackPanel> </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Grid>
public MainPage() { InitializeComponent(); } // 删除 private void OnDelete(object sender, RoutedEventArgs e) { if (MessageBox.Show("确定删除吗?", "", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { HyperlinkButton hb = e.OriginalSource as HyperlinkButton; if (hb != null) { int cID = (int)hb.Tag; using (MyDataEntities.MyDataContext dc = new MyDataEntities.MyDataContext()) { MyDataEntities.Contacts ct = dc.Contacts.FirstOrDefault(c => c.ID == cID); if (ct != null) { dc.Contacts.DeleteOnSubmit(ct); dc.SubmitChanges(); } } } BindData(); } } // 以便在进入页面绑定数据 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); BindData(); } /// <summary> /// 将数据绑定到ListBox /// </summary> private void BindData() { using (MyDataEntities.MyDataContext dc = new MyDataEntities.MyDataContext()) { var res = from c in dc.Contacts select c; this.MyContactList.ItemsSource = res.ToList(); } } // 导航到新增联系人页面 private void OnNewContact(object sender, EventArgs e) { NavigationService.Navigate(new Uri("/NewContact.xaml", UriKind.Relative)); }
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" > <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <TextBlock Text="姓名:" Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" /> <TextBox Name="txtName" Grid.Column="1" Grid.Row="0" /> <TextBlock Grid.Row="1" Grid.Column="0" Text="电话:" VerticalAlignment="Center"/> <TextBox Name="txtPhoneNo" Grid.Column="1" Grid.Row="1"> <TextBox.InputScope> <InputScope> <InputScopeName NameValue="NameOrPhoneNumber"/> </InputScope> </TextBox.InputScope> </TextBox> <TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Text="E-mail:"/> <TextBox Name="txtEmail" Grid.Row="2" Grid.Column="1"> <TextBox.InputScope> <InputScope> <InputScopeName NameValue="EmailNameOrAddress"/> </InputScope> </TextBox.InputScope> </TextBox> </Grid> </Grid>
public NewContact() { InitializeComponent(); } private void OnOK(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(txtName.Text)) { MessageBox.Show("联系人姓名必须输入。"); return; } using (MyDataEntities.MyDataContext dc = new MyDataEntities.MyDataContext()) { MyDataEntities.Contacts ct = dc.Contacts.FirstOrDefault(c => c.Name == txtName.Text); if (ct != null) { MessageBox.Show("该联系人姓名已存在。"); return; } ct = new MyDataEntities.Contacts() { Name = txtName.Text, PhoneNo = txtPhoneNo.Text, Email = txtEmail.Text }; dc.Contacts.InsertOnSubmit(ct); dc.SubmitChanges(); } if (NavigationService.CanGoBack) { NavigationService.GoBack(); } } private void OnCancel(object sender, EventArgs e) { if (NavigationService.CanGoBack) { NavigationService.GoBack(); } }
public class Contacts : INotifyPropertyChanging, INotifyPropertyChanged { #region 公共属性 int _ID; [Column(DbType = "INT IDENTITY NOT NULL", CanBeNull = false, IsPrimaryKey = true, IsDbGenerated = true, AutoSync = AutoSync.OnInsert)] public int ID { get { return this._ID; } set { if (this._ID != value) { OnPropertyChanging("ID"); this._ID = value; OnPropertyChanged("ID"); } } } string _Name; [Column] public string Name { get { return this._Name; } set { if (this._Name != value) { OnPropertyChanging("Name"); this._Name = value; OnPropertyChanged("Name"); } } } string _PhoneNo; [Column] public string PhoneNo { get { return this._PhoneNo; } set { if (this._PhoneNo != value) { OnPropertyChanging("PhoneNo"); this._PhoneNo = value; OnPropertyChanged("PhoneNo"); } } } string _Email; [Column] public string Email { get { return this._Email; } set { if (this._Email != value) { OnPropertyChanging("Email"); this._Email = value; OnPropertyChanged("Email"); } } } #endregion #region INotifyPropertyChanging接口和INotifyPropertyChanged的成员 public event PropertyChangingEventHandler PropertyChanging; public event PropertyChangedEventHandler PropertyChanged; #endregion #region 引发事件的方法 protected void OnPropertyChanging(string propertyName) { if (this.PropertyChanging != null) { this.PropertyChanging(this, new PropertyChangingEventArgs(propertyName)); } } protected void OnPropertyChanged(string propertyName) { if (this.PropertyChanged != null) { this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } #endregion } /// <summary> /// 用于操作数据库的上下文 /// </summary> public class MyDataContext : DataContext { /// <summary> /// 连接字符串 /// </summary> public const string CONN_STR = "data source='isostore:/db.sdf';password='123456'"; /// <summary> /// 公共构造函数 /// </summary> public MyDataContext() : base(CONN_STR) { } /// <summary> /// 公共成员 /// </summary> public Table<Contacts> Contacts; }
0 0
- Windows Phone 学习 LINQ在wp上的使用
- Windows Phone(WP) 内存使用报告
- windows phone:在Windows Phone上使用QQConnect OAuth2
- 在 Windows Phone 7.5 上使用压缩
- wp:Windows Phone上的声音录制与编码(一):录制与wav编码
- windows phone:WP网络编程
- 在windows phone上画图
- 在Windows Phone 7上使用Silverlight Toolkit Chart
- Windows Phone 7 – SystemTray与ProgressIndicator(wp的progressDialog)
- 在Windows Phone 7上使用Silverlight Toolkit Chart时遇到的错误
- Windows Phone学习笔记:使用 Fiddler 收录WP7上的 HTTP 封包
- 在windows phone 7上获取本地IP的方法
- [windows phone][wp]Image缩放显示
- Windows Phone(WP)从此开始!
- #Windows Phone:如何在Windows Phone App使用HTML5專案開發
- 百度Mp3的API在windows phone 7中的使用
- 学习Python:setuptools在Windows上的安装及使用
- windows phone FluidMoveBehavior的使用
- 典型的集群架构模型
- Algorithm
- 免费的C/C++学习邮件列表终究靠不住,内容都没有了
- Apache文档手册--mod_rewrite
- python支持下的mapnik安装
- Windows Phone 学习 LINQ在wp上的使用
- kX 创客培育---kX 插件开发注册清理工具
- 关于applet小程序在浏览器上运行的备注
- 黑马程序员——Java基础——String类
- 并发编程
- 如何查看Linux系统是32位还是64位
- nagios install
- 正则表达式的写法
- 几个shape格式、tiff格式地图免费下载网站