2013-11-03 45 views
1

我在DOT NET新手如何創建一個自動換行菜單項

我建立的,我有一個MenuItem(可檢查)一WPF應用程序使用C#進行切換併爲自動換行功能一個文本框(就像在記事本),即,切換TextWrapping="Wrap"TextWrapping="NoWrap"之間和

菜單項

<MenuItem Header="_Word Wrap" Name="wordWrap" IsCheckable="True" IsChecked="True" Checked="wrap_Click"/>

文本框

<TextBox TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Visible" Name="txtContent">

如何,這樣,當菜單項被選中,它就會啓動自動換行功能上,當該菜單項未被選中,它變成了自動換行功能創建一個功能斷

我嘗試以下一段代碼,

private void wrap_Click(object sender, RoutedEventArgs e) 
     { 
      if (wordWrap.IsChecked) 
       txtContent.TextWrapping = TextWrapping.Wrap; 
      else 
       txtContent.TextWrapping = TextWrapping.NoWrap; 
     } 

,但它示出了在一個異常:

Object reference not set to an instance of an object.

請幫我

謝謝!

+0

你覺得「對象引用未設置」是什麼意思? – lboshuizen

+0

這是一個NullReferenceException @lboshuizen –

+0

什麼是拋出異常? – wdosanjos

回答

1

這似乎不是您的實際事件的問題。只要嘗試將您的活動更改爲點擊事件即可。

因此,改變這種:

<MenuItem Header="_Word Wrap" Name="wordWrap" IsCheckable="True" IsChecked="True" Checked="wrap_Click" /> 

要這樣:

<MenuItem Header="_Word Wrap" Name="wordWrap" IsCheckable="True" IsChecked="True" Click="wrap_Click" /> 

這解決了這個問題對我來說。您甚至不必更改事件代碼。它是正確的。出於某種原因,編譯器只是不喜歡把它作爲一個檢查事件...

+0

非常感謝,它的工作!...但爲什麼'checked'事件沒有工作? @SuperPrograman –

+0

@AdityaVikas這與先前檢查菜單項有關。例如,如果您將事件保存爲「Checked」事件,但將「IsChecked」屬性更改爲「false」,則程序正常工作。它只是讓它已經檢查...不完全確定我自己。 – SuperPrograman

相關問題