'System.Windows.Markup.XamlParseException'

时间:2014-02-11 11:54:36

标签: c# xaml windows-phone-8

我是Windows Phone 8编程的新手,我正在开发一个简单的记事本。 我似乎无法弄清楚这个错误。

我想在文本框不再为空时启用保存按钮。 我在文本框本身上使用了一个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设置为false

<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;

关于这个的任何想法?

1 个答案:

答案 0 :(得分: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;
        }
    }