如何创建Word Wrap MenuItem

时间:2013-11-03 14:31:37

标签: c# .net wpf textwrapping

我是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.

请帮帮我

谢谢!

1 个答案:

答案 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" />

这解决了我的问题。您甚至不必更改事件代码。它是正确的。出于某种原因,编译器只是不喜欢将它作为已检查的事件...