2013-11-23 2 views
-2

У меня ошибка с моей кодировкой, и она действительно начинает напрягаться вокругKeyPressEventArgs не существует в пространстве имен «System.Windows.Input» (вам не хватает ссылки на сборку?) Windows Phone 2012 SDK C#

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Navigation; 
using Microsoft.Phone.Controls; 
using Microsoft.Phone.Shell; 
using Business_Card.Resources; 
using Windows; 
using Microsoft; 


namespace Business_Card 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
     // Constructor 
     public MainPage() 
     { 
      InitializeComponent(); 

      // Sample code to localize the ApplicationBar 
      //BuildLocalizedApplicationBar(); 
     } 

     private void TextBox_TextChanged_1(object sender, TextChangedEventArgs e) 
     { 

     } 

     private void TextBox_KeyPress(object sender, System.Windows.Input.KeyPressEventArgs e)  
     { 

      string[] nums = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-" }; 

      if (!nums.Contains(e.KeyChar.ToString())) 

       e.Handled = true; 

     } 
    } 
} 

это является полным класс

Но вот часть с ошибкой

private void TextBox_KeyPress(object sender, System.Windows.Input.KeyPressEventArgs e)  
    { 

     string[] nums = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-" }; 

     if (!nums.Contains(e.KeyChar.ToString())) 

      e.Handled = true; 

    } 

Specificly линии

private void TextBox_KeyPress(object sender, System.Windows.Input.KeyPressEventArgs e)  

часть, где он говорит System.Windows.Input.KeyPressEventArgs это говорит мне, что пространство имен или имя не найдено в System.Windows.Input

Я также пробовал делать используя System.Windows.Forms; В нем говорится, что формы тоже не найдены, и я пошел по ссылкам, и их там не было найдено.

+0

Это код Winforms. В WinRT вы используете событие TextInput. –

+0

В нем говорится, что это событие, но оно используется как тип? – CreeperMoon2

ответ

1

Пробег: KeyDown Событие.

private void textBox_KeyDown(object sender, KeyEventArgs e) 
{ 

    string[] nums = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-" }; 
    if (!nums.Contains(e.Key.ToString())) 
    e.Handled = true; 
} 
+0

Нет, не работает, Основная проблема KeyEventArgs не может найти ее – CreeperMoon2

+0

Как вы регистрируетесь? Попробуйте выбрать текстовое поле от дизайнера, а затем сформируйте соответствующее окно. Выберите кнопки событий и прокрутите список до нажатия клавиш и дважды щелкните по нему. Май дизайнер сам решает эту проблему –

+0

Я просто добавил вверху **, используя Windows.UI.Core; ** он исправил KeyEventArgs, но теперь у меня есть другая проблема: ключ в ** if (! Nums.Contains (e.Key , ToSting())) ** говорит об этой ошибке ** Не найдено дефиниции в Windows.UI.Core ** – CreeperMoon2