2014-02-11 5 views
0

Я новичок в программировании для Windows Phone 8, и я работаю над простым блокнотом. Я не могу понять эту ошибку.'System.Windows.Markup.XamlParseException'

Я хочу включить кнопку сохранения, когда текстовое поле больше не пусто. я использовал KeyUp событие на самом текстовом поле: за

<TextBox x:Name="TextBoxNote" KeyUp="TextBoxNote_KeyUp" /> 

Код:

private void TextBoxNote_KeyUp(object sender, System.Windows.Input.KeyEventArgs e) 
{ 
    if (TextBoxNote.Text == "") 
    { 
     ApplicationBarSaveButton.IsEnabled = false; 
    } 
    else 
    { 
     ApplicationBarSaveButton.IsEnabled = true; 
    } 
} 

В XAML я установил IsEnabled ложному

<shell:ApplicationBarIconButton x:Name="ApplicationBarSaveButton" 
      IconUri="/Assets/AppBar/e105-Save.76 (1).png" 
      Text="save" IsEnabled="False" 
      Click="ApplicationBarIconButton_Click_1" /> 

Если я ввожу что-то в текстовом поле, Я получаю эту ошибку:

System.NullReferenceException was unhandled by user code 
    HResult=-2147467261 
    Message=Object reference not set to an instance of an object. 
    Source=Notepad 
    StackTrace: 
     at Notepad.WriteNote.TextBoxNote_KeyUp(Object sender, KeyEventArgs e) 
     at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args) 
     at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName) 
    InnerException: 

На линии:

ApplicationBarSaveButton.IsEnabled = true; 

Все идеи на этом?

ответ

0

Попробуйте это,

private void TextBoxNote_KeyUp(object sender, System.Windows.Input.KeyEventArgs e) 
    { 
     ApplicationBarIconButton button= (ApplicationBarIconButton)ApplicationBar.Buttons[0]; 

     if (TextBoxNote.Text == "") 
     { 
      button.IsEnabled = false; 
     } 
     else 
     { 
      button.IsEnabled = true; 
     } 
    } 
+0

Это работало для меня, спасибо! – TomCB

Смежные вопросы