Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#WPF转换_C#_Wpf_Winforms_Richtextbox - Fatal编程技术网

C#WPF转换

C#WPF转换,c#,wpf,winforms,richtextbox,C#,Wpf,Winforms,Richtextbox,我有一个RichTextBox。我希望能拿到第一行和最后一行。代码是为Windows窗体编写的,我想将其转换为WPF。代码如下: int firstIndex = richTextBox1.GetCharIndexFromPosition(pos); 如何将代码转换为WPF?如果您正在为WPF重写此代码,我可以提供一些常规指针 首先,使用类似MVVM的模式。创建一个C#类,它是ViewModel,包含一个C#属性,该属性将绑定到RichText框的内容 接下来,编写显示RichText框的XA

我有一个
RichTextBox
。我希望能拿到第一行和最后一行。代码是为Windows窗体编写的,我想将其转换为WPF。代码如下:

int firstIndex = richTextBox1.GetCharIndexFromPosition(pos);

如何将代码转换为WPF?

如果您正在为WPF重写此代码,我可以提供一些常规指针

首先,使用类似MVVM的模式。创建一个C#类,它是ViewModel,包含一个C#属性,该属性将绑定到RichText框的内容

接下来,编写显示RichText框的XAML,并将该框的内容绑定到前面提到的C#属性

现在,当用户在文本框中键入时,它将自动更新ViewModel中绑定的属性字符串。然后可以使用普通C#从该字符串中获取第一行和最后一行

提示:

  • 确保XAML绑定是双向的
  • 确保使用UpdateSourceTrigger=PropertyChanged,这样当用户更改RichText框的内容时,结果会立即推送到绑定的属性字符串中
WPF和MVVM有一些学习曲线,但最终的结果是稳定、快速的应用程序,易于更新和修改


如果您对我使用的一些术语不确定,请阅读PluralSight或Lynda等公司提供的WPF视频教程。免责声明:我与这两家公司都没有关联。

CSharpie想说的是,我们不是代码转换服务。试着自己转换它,当你得到一个你不知道如何转换的特定事物时,带着这个特定的问题回到这里。我已经得到了一些。。。如何获取我的
int lastLine=richTextBox1.CaretPosition.GetLineFromCharIndex(lastIndex)?@MellieSegarra你看过WPF文本框了吗?(好的,它是GetLineIndexFromCharacterIndex,但是它非常接近,任何实际的研究尝试都会发现它)