public MainPage() { this.DataContext = this; InitializeComponent(); phNumChoseTask = new PhoneNumberChooserTask(); phNumChoseTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed); }
public MainPage() { InitializeComponent(); _choosePhoneNumberTask = new PhoneNumberChooserTask(); _choosePhoneNumberTask.Completed += new EventHandler <PhoneNumberResult>(ChoosePhoneNumberTaskCompleted); }
private void AddPhoneButton_Click(object sender, RoutedEventArgs e) { PhoneNumberChooserTask phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed); phoneNumberChooserTask.Show(); }
// Constructor public MainPage() { InitializeComponent(); act = new AddressChooserTask(); act.Completed += new EventHandler <AddressResult>(act_Completed); cct = new CameraCaptureTask(); cct.Completed += new EventHandler <PhotoResult>(cct_Completed); eact = new EmailAddressChooserTask(); eact.Completed += new EventHandler <EmailResult>(eact_Completed); git = new GameInviteTask(); git.Completed += new EventHandler <TaskEventArgs>(git_Completed); pct = new PhotoChooserTask(); pct.Completed += new EventHandler <PhotoResult>(pct_Completed); pnct = new PhoneNumberChooserTask(); pnct.Completed += new EventHandler <PhoneNumberResult>(pnct_Completed); seat = new SaveEmailAddressTask(); seat.Completed += new EventHandler <TaskEventArgs>(seat_Completed); srt = new SaveRingtoneTask(); srt.Completed += new EventHandler <TaskEventArgs>(srt_Completed); spnt = new SavePhoneNumberTask(); spnt.Completed += new EventHandler <TaskEventArgs>(spnt_Completed); }
private void PhoneNumberChooserTask_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { PhoneNumberChooserTask phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed); phoneNumberChooserTask.Show(); }
private void ApplicationBarIconButton_Click(object sender, System.EventArgs e) { var nummerTask = new PhoneNumberChooserTask(); nummerTask.Completed += nummerTask_Completed; nummerTask.Show(); }
public Page1() { InitializeComponent(); phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed); }
private void ApplicationBarAddContactButton_Click(object sender, EventArgs e) { // prompt for a contact var phoneNumberTask = new PhoneNumberChooserTask(); phoneNumberTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberTask_Completed); phoneNumberTask.Show(); }
private void StartPhoneTask() { PhoneNumberChooserTask phn = new PhoneNumberChooserTask(); phn.Completed += new EventHandler <PhoneNumberResult>(phn_Complete); phn.Show(); }
public Page2() { InitializeComponent(); phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed); }
public Page4() { InitializeComponent(); phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed); this.Rect1.Visibility = System.Windows.Visibility.Collapsed; this.Rect2.Visibility = System.Windows.Visibility.Collapsed; this.Rect3.Visibility = System.Windows.Visibility.Collapsed; this.Rect4.Visibility = System.Windows.Visibility.Collapsed; this.Img1.Visibility = System.Windows.Visibility.Collapsed; this.Img2.Visibility = System.Windows.Visibility.Collapsed; this.Img3.Visibility = System.Windows.Visibility.Collapsed; this.RectF1.Visibility = System.Windows.Visibility.Collapsed; this.RectF2.Visibility = System.Windows.Visibility.Collapsed; this.RectF3.Visibility = System.Windows.Visibility.Collapsed; this.RectF4.Visibility = System.Windows.Visibility.Collapsed; this.RectF5.Visibility = System.Windows.Visibility.Collapsed; this.RectF6.Visibility = System.Windows.Visibility.Collapsed; this.RectF7.Visibility = System.Windows.Visibility.Collapsed; this.RectF8.Visibility = System.Windows.Visibility.Collapsed; this.RectF9.Visibility = System.Windows.Visibility.Collapsed; this.RectF10.Visibility = System.Windows.Visibility.Collapsed; this.RectF11.Visibility = System.Windows.Visibility.Collapsed; this.RectF12.Visibility = System.Windows.Visibility.Collapsed; this.RectF13.Visibility = System.Windows.Visibility.Collapsed; this.RectF14.Visibility = System.Windows.Visibility.Collapsed; }
// Constructor public MainPage() { InitializeComponent(); jd = new PhoneNumberChooserTask(); jd.Completed += jd_Completed; _appSettings = IsolatedStorageSettings.ApplicationSettings; if (_appSettings.Contains("status")) { if (_appSettings["status"] != null) { Dataclass.status = "ok"; } else { Dataclass.status = "cancel"; } } else { var result = MessageBox.Show("Some Emergency Positioning Tool features need your location in order to work. You can turn this off at any time under the settings menu.", "Allow app to access and use your location?", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { _appSettings.Add("status", "ok"); _appSettings.Save(); Dataclass.status = "ok"; } if (result == MessageBoxResult.Cancel) { _appSettings.Add("status", null); _appSettings.Save(); Dataclass.status = "cancel"; } } }
private void ApplicationBarAddContactButton_Click(object sender, EventArgs e) { // prompt for a contact var phoneNumberTask = new PhoneNumberChooserTask(); phoneNumberTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberTask_Completed); phoneNumberTask.Show(); }
public ShowReminder() { InitializeComponent(); SmsComposerTask = new SmsComposeTask(); PhoneNumberChooserTask = new PhoneNumberChooserTask(); PhoneNumberChooserTask.Completed += phoneNumberChooserTask_Completed; AddButton.IsEnabled = false; }
public UsePhoneNumberPage() { InitializeComponent(); phoneNumberChooser = new PhoneNumberChooserTask(); phoneNumberChooser.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooser_Completed); }
private void btnSelectContact_Click(object sender, System.Windows.RoutedEventArgs e) { PhoneNumberChooserTask addChoser = new PhoneNumberChooserTask(); addChoser.Completed += new EventHandler <PhoneNumberResult>(addChoser_Completed); addChoser.Show(); }
public NewGroup() { InitializeComponent(); numberTask = new PhoneNumberChooserTask(); numberTask.Completed += new EventHandler<PhoneNumberResult>(numberTask_Completed); addressTask = new AddressChooserTask(); addressTask.Completed += new EventHandler<AddressResult>(addressTask_Completed); }
public MainPage() { InitializeComponent(); Reset(); phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed); IsInitialized = true; }
private void Button_clicked(object sender, RoutedEventArgs e) { Button current_button = (Button)sender; String button_name = current_button.Name; switch (button_name) { case "calculator": break; case "contacts": PhoneNumberChooserTask address = new PhoneNumberChooserTask(); address.Show(); break; case "clock": break; case "facebook": WebBrowserTask webBrowserTask1 = new WebBrowserTask(); webBrowserTask1.Uri = new Uri("http://www.facebook.com", UriKind.Absolute); webBrowserTask1.Show(); break; case "phone": phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed); try { phoneNumberChooserTask.Show(); } catch (System.InvalidOperationException ex) { MessageBox.Show("An error occurred."); } //PhoneCallTask phoneCallTask = new PhoneCallTask(); //phoneCallTask.PhoneNumber = "123456789"; //phoneCallTask.DisplayName = "Shadowfax Apps"; //phoneCallTask.Show(); break; case "mail": EmailComposeTask emailComposeTask = new EmailComposeTask(); emailComposeTask.Subject = ""; emailComposeTask.Body = ""; emailComposeTask.To = ""; emailComposeTask.Show(); break; case "safari": WebBrowserTask webBrowserTask4 = new WebBrowserTask(); webBrowserTask4.Uri = new Uri("http://www.google.com", UriKind.Absolute); webBrowserTask4.Show(); break; case "ipod": break; default: break; } }
public SendSMSPage() { InitializeComponent(); phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed); Debug.WriteLine("***\t In constructor of SendSMSPage\t ***"); }
public FriendSearch() { InitializeComponent(); _numberPicker = new PhoneNumberChooserTask(); _numberPicker.Completed += OnNumberPicked; _emailPicker = new EmailAddressChooserTask(); _emailPicker.Completed += OnEmailPicked; }
// Constructor public MainPage() { InitializeComponent(); selNumber = new PhoneNumberChooserTask(); selNumber.Completed += selNumber_Completed; dbConn = new SQLiteConnection("posconn"); dbConn.CreateTable <Product>(); // Código de ejemplo para traducir ApplicationBar //BuildLocalizedApplicationBar(); }
private void makeCall_Click(object sender, RoutedEventArgs e) { var numberChooser = new PhoneNumberChooserTask(); numberChooser.Completed += (o, ne) => { var callTask = new PhoneCallTask(); callTask.PhoneNumber = ne.PhoneNumber; callTask.Show(); }; numberChooser.Show(); }
public MainPage() { InitializeComponent(); statusProgress.Visibility = Visibility.Collapsed; btnRecord.Content = "Start"; CreateSoundRecorder(); Unloaded += (sender, args) => _soundRecorder.Dispose(); _phoneNumberChooserTask = new PhoneNumberChooserTask(); _phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed); }
public MapPage() { InitializeComponent(); _appSettings = IsolatedStorageSettings.ApplicationSettings; jd = new PhoneNumberChooserTask(); jd.Completed += jd_Completed; AMapConfig.Key = "4797d3e49bcc69a8bf4c77a949a56769"; AGeoCoordinateWatcher amapGeoCoordinateWatcher = new AGeoCoordinateWatcher(); amapGeoCoordinateWatcher.PositionChanged += amapGeoCoordinateWatcher_PositionChanged; amapGeoCoordinateWatcher.StatusChanged += amapGeoCoordinateWatcher_StatusChanged; amapGeoCoordinateWatcher.Start(); }
public MainPage() { InitializeComponent(); statusProgress.Visibility = Visibility.Collapsed; btnRecord.Content = "Start"; CreateSoundRecorder(); Unloaded += (sender, args) => _soundRecorder.Dispose(); _phoneNumberChooserTask = new PhoneNumberChooserTask(); _phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed); }
public AddReminder() { InitializeComponent(); phoneChooser = new PhoneNumberChooserTask(); phoneChooser.Completed += new EventHandler<PhoneNumberResult>(phoneChooser_Completed); //从独立存储中加载预设号码列表 if (settings.Contains(FriendsPhoneList)) { string[] phones = (string[])settings[FriendsPhoneList]; txbName.Text = phones[0]; txbPhoneNum.Text = phones[1]; } }
public MedicalNotes() { InitializeComponent(); Reset(); phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed); IsInitialized = true; // Show graphics profiling information while debugging. if (System.Diagnostics.Debugger.IsAttached) { // Display the current frame rate counters. Application.Current.Host.Settings.EnableFrameRateCounter = false; } }
/// <summary> /// Handles the Click event of the bButton control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param> private void bButton_Click(object sender, RoutedEventArgs e) { if (((SettingsViewModel)SettingsStackPanel.DataContext).SendMethodEnum == addressType.Email) { var email = new EmailAddressChooserTask(); email.Completed += email_Completed; email.Show(); } else { var sms = new PhoneNumberChooserTask(); sms.Completed += sms_Completed; sms.Show(); } }
public static void ChoosePhoneNumber(DataEventHandler <string> callback) { PhoneNumberChooserTask task = new PhoneNumberChooserTask(); task.Completed += (sender, e) => { if ((callback != null) && (e != null) && !String.IsNullOrEmpty(e.PhoneNumber)) { callback(null, new DataEventArgs <string>(e.PhoneNumber)); } }; task.Show(); }
private void phoneNumberChooser_Click(object sender, EventArgs e) { // with a local task, the completed event will be called when returning from dormant, // but WILL NOT be called when returning from tombstone. var task = new PhoneNumberChooserTask(); task.Completed += (object sender2, PhoneNumberResult e2) => { if (e2.Error == null && e2.TaskResult == TaskResult.OK) { System.Diagnostics.Debug.WriteLine("{0}: {1}", e2.DisplayName, e2.PhoneNumber); } }; task.Show(); }
// Constructor public MainPage() { InitializeComponent(); phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed); phoneTask = new PhoneCallTask(); // Set the data context of the listbox control to the sample data // this.Loaded += new RoutedEventHandler(MainPage_Loaded); }
private void button1_Click(object sender, RoutedEventArgs e) { PhoneNumberChooserTask task = new PhoneNumberChooserTask(); task.Completed += (s, evt) => { if (evt.Error == null && evt.TaskResult == TaskResult.OK) { temp = evt.PhoneNumber; if (temp != null && temp.Contains("+91")) temp = temp.Substring(3); else if (temp != null && temp.Substring(0, 2).Equals("91") && temp.Length > 10) temp = temp.Substring(2); textBox1.Text = temp; } }; task.Show(); }
private void Button_clicked(object sender, RoutedEventArgs e) { Button current_button = (Button)sender; String button_name = current_button.Name; switch (button_name) { case "phone": phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed); try { phoneNumberChooserTask.Show(); } catch (System.InvalidOperationException ex) { MessageBox.Show("An error occurred."); } //PhoneCallTask phoneCallTask = new PhoneCallTask(); //phoneCallTask.PhoneNumber = "123456789"; //phoneCallTask.DisplayName = "Shadowfax Apps"; //phoneCallTask.Show(); break; case "feedback": EmailComposeTask emailComposeTask = new EmailComposeTask(); emailComposeTask.Subject = "iPhone Skip App feedback"; emailComposeTask.Body = ""; emailComposeTask.To = "*****@*****.**"; emailComposeTask.Show(); break; case "website": WebBrowserTask webBrowserTask4 = new WebBrowserTask(); webBrowserTask4.Uri = new Uri("http://shadowfax-apps.blogspot.in/", UriKind.Absolute); webBrowserTask4.Show(); break; case "rate": MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask(); marketplaceReviewTask.Show(); break; default: break; } }
public MainPage() { InitializeComponent(); clientId = "your_att_app_key"; clientSecret = "your_att_secret_key"; uriString = "https://api.att.com"; statusProgress.Visibility = Visibility.Collapsed; btnRecord.Content = "Speak"; CreateSoundRecorder(); Unloaded += (sender, args) => _soundRecorder.Dispose(); _phoneNumberChooserTask = new PhoneNumberChooserTask(); _phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed); }
public MainPage() { InitializeComponent(); clientId = "your_att_app_key"; clientSecret = "your_att_secret_key"; uriString = "https://api.att.com"; statusProgress.Visibility = Visibility.Collapsed; btnRecord.Content = "Speak"; CreateSoundRecorder(); Unloaded += (sender, args) => _soundRecorder.Dispose(); _phoneNumberChooserTask = new PhoneNumberChooserTask(); _phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(phoneNumberChooserTask_Completed); }
private void Click_SMS(object sender, EventArgs e) { if (textBox1.Text != "") { Phone_Number_Chooser_Task = new PhoneNumberChooserTask(); Phone_Number_Chooser_Task.Completed += new EventHandler <PhoneNumberResult>(TaskChooserPhoneCompleted); try { Phone_Number_Chooser_Task.Show(); } catch (System.InvalidOperationException) { MessageBox.Show("Une erreur est survenue."); } } else { MessageBox.Show("La localisation n'est pas démarrée !"); } }
public static void SendSms(string body) { PhoneNumberChooserTask phoneChooseTask = new PhoneNumberChooserTask(); EventHandler <PhoneNumberResult> temp = (o, result) => { if (result.TaskResult == TaskResult.Cancel) { return; } SmsComposeTask smsComposeTask = new SmsComposeTask { To = result.PhoneNumber, Body = body }; smsComposeTask.Show(); }; phoneChooseTask.Completed -= temp; phoneChooseTask.Completed += temp; phoneChooseTask.Show(); }
/// <summary> /// Handles the Click event of the bButton control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param> private void bButton_Click(object sender, RoutedEventArgs e) { var b = ((HyperlinkButton)sender); BindingExpression be = b.GetBindingExpression(ContentControl.ContentProperty); if (be != null) { _contactChooser = (Setting)be.DataItem; } if (_contactChooser.AddressType == addressType.Email) { var email = new EmailAddressChooserTask(); email.Completed += email_Completed; email.Show(); } else { var sms = new PhoneNumberChooserTask(); sms.Completed += sms_Completed; sms.Show(); } }
private void ContactNumberBox_GotFocus(object sender, RoutedEventArgs e) { if (ContactNumberBox.Text == "Emergency contact phone number") ContactNumberBox.Text = ""; PhoneNumberChooserTask pnct = new PhoneNumberChooserTask(); pnct.Completed += pnct_Completed; pnct.Show(); }
private void Call_Click(object sender, EventArgs e) { if (mPivot.SelectedItem == mDialerPivot) { string curNumber = mCurrentNumber.Text; if (string.IsNullOrEmpty(curNumber)) return; mCurrentNumber.Text = string.Empty; App.Call(curNumber, curNumber, NavigationService); } else { PhoneNumberChooserTask phoneTask = new PhoneNumberChooserTask(); phoneTask.Completed += (o, r) => { if (r.TaskResult != TaskResult.OK) return; Dispatcher.BeginInvoke(() => { App.Call(r.PhoneNumber, r.PhoneNumber, NavigationService); }); }; phoneTask.Show(); } }
public peo() { InitializeComponent(); phonenumberchooser = new PhoneNumberChooserTask(); phonenumberchooser.Completed += new EventHandler <PhoneNumberResult>(phonenumberchooser_Completed); }
private void phoneNumberChooser_Click(object sender, EventArgs e) { // with a local task, the completed event will be called when returning from dormant, // but WILL NOT be called when returning from tombstone. var task = new PhoneNumberChooserTask(); task.Completed += (object sender2, PhoneNumberResult e2) => { if (e2.Error == null && e2.TaskResult == TaskResult.OK) System.Diagnostics.Debug.WriteLine("{0}: {1}", e2.DisplayName, e2.PhoneNumber); }; task.Show(); }
private void RenderEditTaskField(Task task, FieldType fieldType) { PropertyInfo pi; // make sure the property exists on the local type try { pi = task.GetType().GetProperty(fieldType.Name); if (pi == null) return; // see comment below } catch (Exception) { // we can't do anything with this property since we don't have it on the local type // this indicates that the phone software isn't caught up with the service version return; } // get the value of the property var val = pi.GetValue(task, null); ListBoxItem listBoxItem = new ListBoxItem(); StackPanel EditStackPanel = new StackPanel(); listBoxItem.Content = EditStackPanel; EditStackPanel.Children.Add( new TextBlock() { Text = fieldType.DisplayName, Style = (Style)App.Current.Resources["PhoneTextNormalStyle"] }); // create a textbox (will be used by the majority of field types) double minWidth = App.Current.RootVisual.RenderSize.Width; if ((int)minWidth == 0) minWidth = ((this.Orientation & PageOrientation.Portrait) == PageOrientation.Portrait) ? 480.0 : 800.0; TextBox tb = new TextBox() { DataContext = taskCopy, MinWidth = minWidth, IsTabStop = true }; tb.SetBinding(TextBox.TextProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); bool notMatched = false; // render the right control based on the type switch (fieldType.DisplayType) { case "String": tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); EditStackPanel.Children.Add(tb); break; case "TextBox": tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } }; tb.AcceptsReturn = true; tb.TextWrapping = TextWrapping.Wrap; tb.Height = 300; tb.TabIndex = tabIndex++; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); }); EditStackPanel.Children.Add(tb); break; case "Phone": case "PhoneNumber": tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.TelephoneNumber } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); }); tb.TabIndex = tabIndex++; StackPanel innerPanel = RenderEditTaskImageButtonPanel(tb); ImageButton imageButton = (ImageButton)innerPanel.Children[1]; imageButton.Click += new RoutedEventHandler(delegate { PhoneNumberChooserTask chooser = new PhoneNumberChooserTask(); chooser.Completed += new EventHandler<PhoneNumberResult>((sender, e) => { if (e.TaskResult == TaskResult.OK && e.PhoneNumber != null && e.PhoneNumber != "") pi.SetValue(task, e.PhoneNumber, null); }); chooser.Show(); }); EditStackPanel.Children.Add(innerPanel); break; case "Website": tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Url } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); EditStackPanel.Children.Add(tb); break; case "Email": tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.EmailSmtpAddress } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); innerPanel = RenderEditTaskImageButtonPanel(tb); imageButton = (ImageButton)innerPanel.Children[1]; imageButton.Click += new RoutedEventHandler(delegate { EmailAddressChooserTask chooser = new EmailAddressChooserTask(); chooser.Completed += new EventHandler<EmailResult>((sender, e) => { if (e.TaskResult == TaskResult.OK && e.Email != null && e.Email != "") pi.SetValue(task, e.Email, null); }); chooser.Show(); }); EditStackPanel.Children.Add(innerPanel); break; case "Location": case "Address": tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.AddressStreet }, new InputScopeName() { NameValue = InputScopeNameValue.AddressCity }, new InputScopeName() { NameValue = InputScopeNameValue.AddressStateOrProvince }, new InputScopeName() { NameValue = InputScopeNameValue.AddressCountryName }, } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); innerPanel = RenderEditTaskImageButtonPanel(tb); imageButton = (ImageButton)innerPanel.Children[1]; imageButton.Click += new RoutedEventHandler(delegate { // start the location service GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); watcher.MovementThreshold = 20; // Use MovementThreshold to ignore noise in the signal. watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>((sender, e) => { if (e.Status == GeoPositionStatus.Ready) { // Use the Position property of the GeoCoordinateWatcher object to get the current location. GeoCoordinate co = watcher.Position.Location; tb.Text = co.Latitude.ToString("0.000") + "," + co.Longitude.ToString("0.000"); //Stop the Location Service to conserve battery power. watcher.Stop(); } }); watcher.Start(); }); EditStackPanel.Children.Add(innerPanel); break; case "Priority": ListPicker lp = new ListPicker() { MinWidth = minWidth, FullModeItemTemplate = (DataTemplate) App.Current.Resources["FullListPickerTemplate"], IsTabStop = true }; lp.ItemsSource = App.ViewModel.Constants.Priorities; lp.DisplayMemberPath = "Name"; int? lpval = (int?)pi.GetValue(taskCopy, null); if (lpval != null) lp.SelectedIndex = (int)lpval; else lp.SelectedIndex = 1; // HACK: hardcode to "Normal" priority. this should come from a table. lp.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(taskCopy, lp.SelectedIndex == 1 ? (int?)null : lp.SelectedIndex, null); }); lp.TabIndex = tabIndex++; EditStackPanel.Children.Add(lp); break; case "TaskList": ListPicker taskListPicker = new ListPicker() { MinWidth = minWidth, IsTabStop = true }; taskListPicker.ItemsSource = App.ViewModel.TaskLists; taskListPicker.DisplayMemberPath = "Name"; TaskList tl = App.ViewModel.TaskLists.FirstOrDefault(list => list.ID == taskList.ID); taskListPicker.SelectedIndex = App.ViewModel.TaskLists.IndexOf(tl); taskListPicker.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(taskCopy, App.ViewModel.TaskLists[taskListPicker.SelectedIndex].ID, null); }); taskListPicker.TabIndex = tabIndex++; EditStackPanel.Children.Add(taskListPicker); break; case "Integer": tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Digits } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, Convert.ToInt32(tb.Text), null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); EditStackPanel.Children.Add(tb); break; case "Date": DatePicker dp = new DatePicker() { DataContext = taskCopy, MinWidth = minWidth, IsTabStop = true }; dp.SetBinding(DatePicker.ValueProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); dp.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate { pi.SetValue(taskCopy, dp.Value, null); taskList.NotifyPropertyChanged("FirstDue"); taskList.NotifyPropertyChanged("FirstDueColor"); }); dp.TabIndex = tabIndex++; EditStackPanel.Children.Add(dp); break; case "Boolean": CheckBox cb = new CheckBox() { DataContext = taskCopy, IsTabStop = true }; cb.SetBinding(CheckBox.IsCheckedProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); cb.TabIndex = tabIndex++; EditStackPanel.Children.Add(cb); break; case "TagList": TextBox taglist = new TextBox() { MinWidth = minWidth, IsTabStop = true }; taglist.KeyUp += new KeyEventHandler(TextBox_KeyUp); taglist.TabIndex = tabIndex++; RenderEditTaskTagList(taglist, taskCopy, pi); EditStackPanel.Children.Add(taglist); break; case "ListPointer": innerPanel = RenderEditTaskListPointer(pi, minWidth); EditStackPanel.Children.Add(innerPanel); break; default: notMatched = true; break; } // if wasn't able to match field type by display type, try matching by CLR type if (notMatched == true) { string typename = GetTypeName(pi); switch (typename) { case "String": tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); EditStackPanel.Children.Add(tb); break; case "Int32": tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Digits } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(taskCopy, Convert.ToInt32(tb.Text), null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); EditStackPanel.Children.Add(tb); break; case "DateTime": DatePicker dp = new DatePicker() { DataContext = taskCopy, MinWidth = minWidth, IsTabStop = true }; dp.SetBinding(DatePicker.ValueProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); dp.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate { pi.SetValue(taskCopy, dp.Value, null); taskList.NotifyPropertyChanged("FirstDue"); taskList.NotifyPropertyChanged("FirstDueColor"); }); dp.TabIndex = tabIndex++; EditStackPanel.Children.Add(dp); break; case "Boolean": CheckBox cb = new CheckBox() { DataContext = taskCopy, IsTabStop = true }; cb.SetBinding(CheckBox.IsEnabledProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); cb.TabIndex = tabIndex++; EditStackPanel.Children.Add(cb); break; default: break; } } // add the listboxitem to the listbox EditListBox.Items.Add(listBoxItem); }
private void RenderEditItemField(Item item, Field field) { // skip rendering a hidden field if (field.DisplayType == DisplayTypes.Hidden) return; PropertyInfo pi = null; object currentValue = null; object container = null; // get the current field value. // the value can either be in a strongly-typed property on the item (e.g. Name), // or in one of the FieldValues try { // get the strongly typed property pi = item.GetType().GetProperty(field.Name); if (pi != null) { // store current item's value for this field currentValue = pi.GetValue(item, null); // set the container - this will be the object that will be passed // to pi.SetValue() below to poke new values into container = itemCopy; } } catch (Exception) { // an exception indicates this isn't a strongly typed property on the Item // this is NOT an error condition } // if couldn't find a strongly typed property, this property is stored as a // FieldValue on the item if (pi == null) { // get current item's value for this field, or create a new FieldValue // if one doesn't already exist FieldValue fieldValue = item.GetFieldValue(field.ID, true); currentValue = fieldValue.Value; // get the value property of the current fieldvalue (this should never fail) pi = fieldValue.GetType().GetProperty("Value"); if (pi == null) return; // set the container - this will be the object that will be passed // to pi.SetValue() below to poke new values into container = fieldValue; } ListBoxItem listBoxItem = new ListBoxItem(); StackPanel EditStackPanel = new StackPanel(); listBoxItem.Content = EditStackPanel; EditStackPanel.Children.Add( new TextBlock() { Text = field.DisplayName, Style = (Style)App.Current.Resources["PhoneTextNormalStyle"] }); // create a textbox (will be used by the majority of field types) double minWidth = App.Current.RootVisual.RenderSize.Width; if ((int)minWidth == 0) minWidth = ((this.Orientation & PageOrientation.Portrait) == PageOrientation.Portrait) ? 480.0 : 800.0; TextBox tb = new TextBox() { DataContext = container, MinWidth = minWidth, IsTabStop = true }; tb.SetBinding(TextBox.TextProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); bool notMatched = false; // render the right control based on the DisplayType switch (field.DisplayType) { case DisplayTypes.Text: tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); EditStackPanel.Children.Add(tb); break; case DisplayTypes.TextArea: tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } }; tb.AcceptsReturn = true; tb.TextWrapping = TextWrapping.Wrap; tb.Height = 150; tb.TabIndex = tabIndex++; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); }); EditStackPanel.Children.Add(tb); break; case DisplayTypes.Phone: tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.TelephoneNumber } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.MinWidth -= 64; tb.MaxWidth = tb.MinWidth; StackPanel innerPanel = RenderImageButtonPanel(tb); ImageButton imageButton = (ImageButton)innerPanel.Children[1]; imageButton.Click += new RoutedEventHandler(delegate { PhoneNumberChooserTask chooser = new PhoneNumberChooserTask(); chooser.Completed += new EventHandler<PhoneNumberResult>((sender, e) => { if (e.TaskResult == TaskResult.OK && e.PhoneNumber != null && e.PhoneNumber != "") pi.SetValue(container, e.PhoneNumber, null); }); chooser.Show(); }); EditStackPanel.Children.Add(innerPanel); break; case DisplayTypes.Link: tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Url } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); EditStackPanel.Children.Add(tb); break; case DisplayTypes.Email: tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.EmailSmtpAddress } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); tb.MinWidth -= 64; tb.MaxWidth = tb.MinWidth; innerPanel = RenderImageButtonPanel(tb); imageButton = (ImageButton)innerPanel.Children[1]; imageButton.Click += new RoutedEventHandler(delegate { EmailAddressChooserTask chooser = new EmailAddressChooserTask(); chooser.Completed += new EventHandler<EmailResult>((s, e) => { if (e.TaskResult == TaskResult.OK && !String.IsNullOrEmpty(e.Email)) { pi.SetValue(container, e.Email, null); // find the contact using the email address Contacts contacts = new Contacts(); contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>((sen, ev) => { // save the contact info as a new contact var contact = ev.Results.FirstOrDefault(); if (contact == null) return; ContactPickerHelper.AddContactInfo(contact, item); }); contacts.SearchAsync(e.Email, FilterKind.EmailAddress, null); } }); chooser.Show(); }); EditStackPanel.Children.Add(innerPanel); break; case DisplayTypes.Address: tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.AddressStreet }, new InputScopeName() { NameValue = InputScopeNameValue.AddressCity }, new InputScopeName() { NameValue = InputScopeNameValue.AddressStateOrProvince }, new InputScopeName() { NameValue = InputScopeNameValue.AddressCountryName }, } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); tb.MinWidth -= 64; tb.MaxWidth = tb.MinWidth; innerPanel = RenderImageButtonPanel(tb); imageButton = (ImageButton)innerPanel.Children[1]; imageButton.Click += new RoutedEventHandler(delegate { // start the location service GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); watcher.MovementThreshold = 20; // Use MovementThreshold to ignore noise in the signal. watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>((sender, e) => { if (e.Status == GeoPositionStatus.Ready) { // Use the Position property of the GeoCoordinateWatcher object to get the current location. GeoCoordinate co = watcher.Position.Location; tb.Text = co.Latitude.ToString("0.000") + "," + co.Longitude.ToString("0.000"); // Stop the Location Service to conserve battery power. watcher.Stop(); // also store the latlong information in a hidden LatLong FieldValue var latlong = item.GetFieldValue(FieldNames.LatLong, true); if (latlong != null) latlong.Value = tb.Text; } }); watcher.Start(); }); EditStackPanel.Children.Add(innerPanel); break; case DisplayTypes.Priority: ListPicker lp = new ListPicker() { MinWidth = minWidth, FullModeItemTemplate = (DataTemplate)App.Current.Resources["FullListPickerTemplate"], IsTabStop = true }; lp.ItemsSource = App.ViewModel.Constants.Priorities; lp.DisplayMemberPath = "Name"; int? lpval = (int?)pi.GetValue(container, null); if (lpval != null) lp.SelectedIndex = (int)lpval; else lp.SelectedIndex = 1; // HACK: hardcode to "Normal" priority. this should come from a table. lp.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(container, lp.SelectedIndex == 1 ? (int?)null : lp.SelectedIndex, null); }); lp.TabIndex = tabIndex++; EditStackPanel.Children.Add(lp); break; case DisplayTypes.Folders: ListPicker folderPicker = new ListPicker() { MinWidth = minWidth, IsTabStop = true }; folderPicker.ItemsSource = App.ViewModel.Folders; folderPicker.DisplayMemberPath = "Name"; Folder tl = App.ViewModel.Folders.FirstOrDefault(list => list.ID == folder.ID); folderPicker.SelectedIndex = App.ViewModel.Folders.IndexOf(tl); folderPicker.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(container, App.ViewModel.Folders[folderPicker.SelectedIndex].ID, null); }); folderPicker.TabIndex = tabIndex++; EditStackPanel.Children.Add(folderPicker); break; case DisplayTypes.Lists: ListPicker listPicker = new ListPicker() { MinWidth = minWidth, FullModeItemTemplate = (DataTemplate)App.Current.Resources["FullListPickerTemplate"], ExpansionMode = ExpansionMode.FullScreenOnly, IsTabStop = true }; var lists = App.ViewModel.Items. Where(i => i.FolderID == item.FolderID && i.IsList == true && i.ItemTypeID != SystemItemTypes.Reference). OrderBy(i => i.Name). ToObservableCollection(); lists.Insert(0, new Item() { ID = Guid.Empty, Name = folder.Name + " (folder)" }); listPicker.ItemsSource = lists; listPicker.DisplayMemberPath = "Name"; var listGuid = currentValue != null ? (Guid) currentValue : Guid.Empty; Item thisItem = lists.FirstOrDefault(i => i.ID == (Guid) listGuid); // if the list isn't found (e.g. ParentID == null), SelectedIndex will default to the Folder scope (which is correct for that case) listPicker.SelectedIndex = Math.Max(lists.IndexOf(thisItem), 0); listPicker.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(container, lists[listPicker.SelectedIndex].ID, null); }); listPicker.TabIndex = tabIndex++; EditStackPanel.Children.Add(listPicker); break; case DisplayTypes.DatePicker: DatePicker dp = new DatePicker() { DataContext = container, MinWidth = minWidth, IsTabStop = true }; DateTime date = Convert.ToDateTime((string)currentValue); if (date.Ticks == 0) date = DateTime.Now.Date; dp.Value = date; dp.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate { //pi.SetValue(container, dp.Value, null); pi.SetValue(container, dp.Value == null ? null : ((DateTime)dp.Value).ToString("d"), null); folder.NotifyPropertyChanged("FirstDue"); folder.NotifyPropertyChanged("FirstDueColor"); }); dp.TabIndex = tabIndex++; EditStackPanel.Children.Add(dp); break; case DisplayTypes.DateTimePicker: // create date picker DatePicker datePicker = new DatePicker() { DataContext = container, MinWidth = minWidth, IsTabStop = true }; // set up two-way data binding so that we don't have to pick up the new value in the event handler datePicker.SetBinding(DatePicker.ValueProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); datePicker.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate { folder.NotifyPropertyChanged("FirstDue"); folder.NotifyPropertyChanged("FirstDueColor"); }); datePicker.TabIndex = tabIndex++; EditStackPanel.Children.Add(datePicker); // create time picker TimePicker timePicker = new TimePicker() { DataContext = container, MinWidth = minWidth, IsTabStop = true }; // set up two-way data binding so that we don't have to pick up the new value in the event handler timePicker.SetBinding(TimePicker.ValueProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); timePicker.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate { folder.NotifyPropertyChanged("FirstDue"); folder.NotifyPropertyChanged("FirstDueColor"); }); timePicker.TabIndex = tabIndex++; EditStackPanel.Children.Add(timePicker); break; case DisplayTypes.Checkbox: CheckBox cb = new CheckBox() { DataContext = container, IsTabStop = true }; cb.SetBinding(CheckBox.IsCheckedProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); cb.TabIndex = tabIndex++; EditStackPanel.Children.Add(cb); break; case DisplayTypes.TagList: TextBox taglist = new TextBox() { MinWidth = minWidth, IsTabStop = true }; taglist.KeyUp += new KeyEventHandler(TextBox_KeyUp); taglist.TabIndex = tabIndex++; RenderEditItemTagList(taglist, (Item) container, pi); EditStackPanel.Children.Add(taglist); break; case DisplayTypes.ImageUrl: // TODO: wire up to picture picker, and upload to an image service break; case DisplayTypes.LinkArray: tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Url } } }; tb.AcceptsReturn = true; tb.TextWrapping = TextWrapping.Wrap; tb.Height = 150; tb.TabIndex = tabIndex++; tb.ClearValue(TextBox.TextProperty); if (!String.IsNullOrEmpty((string) currentValue)) { try { var linkList = JsonConvert.DeserializeObject<List<Link>>((string)currentValue); tb.Text = String.Concat(linkList.Select(l => l.Name != null ? l.Name + "," + l.Url + "\n" : l.Url + "\n").ToList()); } catch (Exception) { } } tb.LostFocus += new RoutedEventHandler(delegate { // the expected format is a newline-delimited list of Name, Url pairs var linkArray = tb.Text.Split(new char[] { '\r','\n' }, StringSplitOptions.RemoveEmptyEntries); var linkList = new List<Link>(); foreach (var link in linkArray) { var nameval = link.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (nameval.Length == 0) continue; if (nameval.Length == 1) linkList.Add(new Link() { Url = nameval[0].Trim() }); else linkList.Add(new Link() { Name = nameval[0].Trim(), Url = nameval[1].Trim() }); } var json = JsonConvert.SerializeObject(linkList); pi.SetValue(container, json, null); }); EditStackPanel.Children.Add(tb); break; case DisplayTypes.Hidden: // skip rendering break; case DisplayTypes.ContactList: Item currentContacts = CreateValueList(item, field, currentValue == null ? Guid.Empty : new Guid((string) currentValue)); var contactPicker = new ItemRefListPicker(folder, currentContacts, SystemItemTypes.Contact, pi, container) { MinWidth = minWidth, IsTabStop = true }; contactPicker.TabIndex = tabIndex++; contactPicker.MinWidth -= 84; contactPicker.MaxWidth = contactPicker.MinWidth; innerPanel = RenderImageButtonPanel(contactPicker, "/Images/button.add.png", "/Images/button.add.pressed.png"); imageButton = (ImageButton)innerPanel.Children[1]; imageButton.Click += new RoutedEventHandler(delegate { EmailAddressChooserTask chooser = new EmailAddressChooserTask(); chooser.Completed += new EventHandler<EmailResult>((s, e) => { if (e.TaskResult == TaskResult.OK && !String.IsNullOrEmpty(e.Email)) { // find the contact using the email address Contacts contacts = new Contacts(); contacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>((sen, ev) => { // save the contact info as a new contact var contact = ev.Results.FirstOrDefault(); if (contact == null) return; var newContact = ContactPickerHelper.ProcessContact(contact); if (newContact != null) { // if the list doesn't yet exist, create it now if (currentContacts.ID == Guid.Empty) { Guid id = Guid.NewGuid(); currentContacts.ID = id; // enqueue the Web Request Record RequestQueue.EnqueueRequestRecord(RequestQueue.UserQueue, new RequestQueue.RequestRecord() { ReqType = RequestQueue.RequestRecord.RequestType.Insert, Body = currentContacts }); // add the list to the folder folder.Items.Add(currentContacts); StorageHelper.WriteFolder(folder); // store the list's Guid in the item's property pi.SetValue(container, id.ToString(), null); } // rebuild the image panel with a new ItemRefListPicker HandleAddedContact(currentContacts, newContact); var oldListPicker = innerPanel.Children[0] as ItemRefListPicker; contactPicker = new ItemRefListPicker(folder, currentContacts, SystemItemTypes.Contact, pi, container) { IsTabStop = true }; if (oldListPicker != null) { contactPicker.TabIndex = oldListPicker.TabIndex; contactPicker.MinWidth = oldListPicker.MinWidth; contactPicker.MaxWidth = oldListPicker.MaxWidth; } innerPanel.Children[0] = contactPicker; } }); contacts.SearchAsync(e.Email, FilterKind.EmailAddress, null); } }); chooser.Show(); }); EditStackPanel.Children.Add(innerPanel); break; case DisplayTypes.LocationList: Item currentLocations = CreateValueList(item, field, currentValue == null ? Guid.Empty : new Guid((string) currentValue)); var locationPicker = new ItemRefListPicker(folder, currentLocations, SystemItemTypes.Location, pi, container) { MinWidth = minWidth, IsTabStop = true }; locationPicker.TabIndex = tabIndex++; EditStackPanel.Children.Add(locationPicker); break; case DisplayTypes.ItemTypes: ListPicker itemTypePicker = new ListPicker() { MinWidth = minWidth, FullModeItemTemplate = (DataTemplate)App.Current.Resources["FullListPickerTemplate"], ExpansionMode = ExpansionMode.FullScreenOnly, IsTabStop = true }; var itemTypes = App.ViewModel.ItemTypes.Where(i => i.UserID != SystemUsers.System).OrderBy(i => i.Name).ToList(); itemTypePicker.ItemsSource = itemTypes; itemTypePicker.DisplayMemberPath = "Name"; ItemType thisItemType = itemTypes.FirstOrDefault(i => i.ID == (Guid) currentValue); itemTypePicker.SelectedIndex = Math.Max(itemTypes.IndexOf(thisItemType), 0); itemTypePicker.SelectionChanged += new SelectionChangedEventHandler(delegate { pi.SetValue(container, itemTypes[itemTypePicker.SelectedIndex].ID, null); }); itemTypePicker.TabIndex = tabIndex++; EditStackPanel.Children.Add(itemTypePicker); break; default: notMatched = true; break; } // if wasn't able to match field type by display type, try matching by FieldType if (notMatched == true) { switch (field.FieldType) { case FieldTypes.String: default: tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Text } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, tb.Text, null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); EditStackPanel.Children.Add(tb); break; case FieldTypes.Integer: tb.InputScope = new InputScope() { Names = { new InputScopeName() { NameValue = InputScopeNameValue.Digits } } }; tb.LostFocus += new RoutedEventHandler(delegate { pi.SetValue(container, Convert.ToInt32(tb.Text), null); }); tb.TabIndex = tabIndex++; tb.KeyUp += new KeyEventHandler(TextBox_KeyUp); EditStackPanel.Children.Add(tb); break; case FieldTypes.DateTime: DatePicker dp = new DatePicker() { DataContext = container, MinWidth = minWidth, IsTabStop = true }; dp.SetBinding(DatePicker.ValueProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); dp.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(delegate { pi.SetValue(container, dp.Value, null); folder.NotifyPropertyChanged("FirstDue"); folder.NotifyPropertyChanged("FirstDueColor"); }); dp.TabIndex = tabIndex++; EditStackPanel.Children.Add(dp); break; case FieldTypes.Boolean: CheckBox cb = new CheckBox() { DataContext = container, IsTabStop = true }; cb.SetBinding(CheckBox.IsEnabledProperty, new Binding(pi.Name) { Mode = BindingMode.TwoWay }); cb.TabIndex = tabIndex++; EditStackPanel.Children.Add(cb); break; } } // add the listboxitem to the listbox EditListBox.Items.Add(listBoxItem); }
// Load data for the ViewModel Items private void MainPage_Loaded(object sender, RoutedEventArgs e) { CheckNetworkAvailability(); // TODO : improve if (settings.Contains("Pnumber")) { pnumber = (string)settings["Pnumber"]; user_id = (int)settings["id"]; user_name = (string)settings["name"]; } else { ((PhoneApplicationFrame)Application.Current.RootVisual).Navigate(new Uri("/Login.xaml", UriKind.Relative)); } if (!App.ViewModel.IsDataLoaded) { App.ViewModel.LoadData(); } phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed); }
public PhoneNumberChooser() { InitializeComponent(); pnc = new PhoneNumberChooserTask(); pnc.Completed += new EventHandler <PhoneNumberResult>(pnc_Completed); }
private void Button_clicked(object sender, RoutedEventArgs e) { Button current_button = (Button)sender; String button_name = current_button.Name; switch (button_name) { case "message": //MessageBox.Show("message button clicked"); SmsComposeTask sms = new SmsComposeTask(); sms.To = ""; sms.Show(); break; case "calendar": //MessageBox.Show("Canlendar button clicked"); WebBrowserTask webBrowserTask1 = new WebBrowserTask(); webBrowserTask1.Uri = new Uri("http://calendar.google.com/", UriKind.Absolute); webBrowserTask1.Show(); break; case "photos": PhotoChooserTask photo = new PhotoChooserTask(); photo.Show(); break; case "camera": CameraCaptureTask cam = new CameraCaptureTask(); cam.Show(); break; case "youtube": WebBrowserTask webBrowserTask2 = new WebBrowserTask(); webBrowserTask2.Uri = new Uri("http://m.youtube.com/", UriKind.Absolute); webBrowserTask2.Show(); break; case "stocks": break; case "maps": //MessageBox.Show("maps clicked"); BingMapsTask bmt = new BingMapsTask(); //bmt.Center = new GeoCoordinate(-27.5, 153); bmt.SearchTerm = "New York"; bmt.Show(); break; case "weather": WebBrowserTask webBrowserTask3 = new WebBrowserTask(); webBrowserTask3.Uri = new Uri("http://www.weather.com/", UriKind.Absolute); webBrowserTask3.Show(); break; case "notes": break; case "voice_memos": break; case "itunes": MarketplaceHubTask market1 = new MarketplaceHubTask(); market1.Show(); break; case "app_store": MarketplaceHubTask market = new MarketplaceHubTask(); market.Show(); break; case "settings": break; case "phone": phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed); try { phoneNumberChooserTask.Show(); } catch (System.InvalidOperationException ex) { MessageBox.Show("An error occurred."); } //PhoneCallTask phoneCallTask = new PhoneCallTask(); //phoneCallTask.PhoneNumber = "123456789"; //phoneCallTask.DisplayName = "Shadowfax Apps"; //phoneCallTask.Show(); break; case "mail": EmailComposeTask emailComposeTask = new EmailComposeTask(); emailComposeTask.Subject = ""; emailComposeTask.Body = ""; emailComposeTask.To = ""; emailComposeTask.Show(); break; case "safari": WebBrowserTask webBrowserTask4 = new WebBrowserTask(); webBrowserTask4.Uri = new Uri("http://www.google.com", UriKind.Absolute); webBrowserTask4.Show(); break; case "ipod": break; default: break; } }
private void InitializeChooserAndLauncher() { phoneNumberChooserTask = new PhoneNumberChooserTask(); smsComposeTask = new SmsComposeTask(); phoneNumberChooserTask.Completed += new EventHandler <PhoneNumberResult>(PhoneNumberChooserTaskCompleted); }
private void btnPhone_Click(object sender, RoutedEventArgs e) { PhoneNumberChooserTask task = new PhoneNumberChooserTask(); task.Completed += (s, evt) => { if (evt.Error == null && evt.TaskResult == TaskResult.OK) { MessageBox.Show(evt.PhoneNumber + " phone number selected!"); } }; task.Show(); }
public CreateReminder() { InitializeComponent(); PhoneNumberChooserTask = new PhoneNumberChooserTask(); PhoneNumberChooserTask.Completed += phoneNumberChooserTask_Completed; }
//retreiving phone number private void button1_Click(object sender, RoutedEventArgs e) { try { PhoneNumberChooserTask task = new PhoneNumberChooserTask(); task.Completed += (s, evt) => { if (evt.Error == null && evt.TaskResult == TaskResult.OK) { temp = evt.PhoneNumber; if (temp != null && temp[0] == '0' && temp.Length > 10) temp = temp.Substring(1); else if (temp != null && temp.Contains("+91")) temp = temp.Substring(3); else if (temp != null && temp.Substring(0, 2).Equals("91") && temp.Length > 10) temp = temp.Substring(2); temp = temp.Replace("-", ""); temp = temp.Replace("(", ""); temp = temp.Replace(")", ""); temp = temp.Replace(" ", ""); if (textBox1.Text == string.Empty) textBox1.Text = temp; else textBox1.Text += "," + temp; } }; task.Show(); } catch (Exception exce) { } }
void btnContactos_Click(object sender, RoutedEventArgs e) { PhoneNumberChooserTask task = new PhoneNumberChooserTask(); task.Completed += task_Completed; task.Show(); }
private void AddPhoneButton_Click(object sender, RoutedEventArgs e) { PhoneNumberChooserTask phoneNumberChooserTask = new PhoneNumberChooserTask(); phoneNumberChooserTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed); phoneNumberChooserTask.Show(); }
private void invite_Click(object sender, RoutedEventArgs e) { PhoneNumberChooserTask pct = new PhoneNumberChooserTask(); pct.Show(); }
private void Compose_Click(object sender, EventArgs e) { if (mPivot.SelectedItem == mDialerPivot) { string curNumber = mCurrentNumber.Text; if (string.IsNullOrEmpty(curNumber)) return; mCurrentNumber.Text = string.Empty; Dispatcher.BeginInvoke(() => { NavigationService.Navigate(new Uri(string.Format("/ConversationPage.xaml?phone={0}", Uri.EscapeDataString(curNumber)), UriKind.Relative)); }); } else { PhoneNumberChooserTask phoneTask = new PhoneNumberChooserTask(); phoneTask.Completed += (o, r) => { if (r.TaskResult != TaskResult.OK) return; Dispatcher.BeginInvoke(() => { NavigationService.Navigate(new Uri(string.Format("/ConversationPage.xaml?phone={0}", Uri.EscapeDataString(r.PhoneNumber)), UriKind.Relative)); }); }; try { phoneTask.Show(); } catch (Exception) { } } }