我是DOT NET的新手
我正在使用C#构建一个WPF
应用程序,其中我有一个MenuItem
(可检查)用于切换Word Wrap功能和 TextBox (只需比如在记事本中)即在TextWrapping="Wrap"
和TextWrapping="NoWrap"
MenuItem :
<MenuItem Header="_Word Wrap" Name="wordWrap" IsCheckable="True" IsChecked="True" Checked="wrap_Click"/>
文本框:
<TextBox TextWrapping="Wrap" AcceptsReturn="True" VerticalScrollBarVisibility="Visible" Name="txtContent">
如何创建一个函数,以便在选中MenuItem时,它会启用自动换行功能,当取消选中MenuItem时,它会关闭自动换行功能
我尝试了以下代码,
private void wrap_Click(object sender, RoutedEventArgs e)
{
if (wordWrap.IsChecked)
txtContent.TextWrapping = TextWrapping.Wrap;
else
txtContent.TextWrapping = TextWrapping.NoWrap;
}
但它在txtContent.TextWrapping = TextWrapping.Wrap;
显示异常:
Object reference not set to an instance of an object.
请帮帮我
谢谢!
答案 0 :(得分: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" />
这解决了我的问题。您甚至不必更改事件代码。它是正确的。出于某种原因,编译器只是不喜欢将它作为已检查的事件...