我正在使用 ICSharpCode 的 AvalonEdit 文本编辑器,并且在文档列表之后的 TabControl 中显示不同的 TextEditor 控件。
TabControl 的 WPF 代码:
<TabControl
Grid.Row="0"
ItemsSource="{Binding OpennedFiles, UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="Data.Name"
SelectedItem="{Binding SelectedFile, UpdateSourceTrigger=PropertyChanged}">
<TabControl.ContentTemplate>
<DataTemplate>
<AE:TextEditor ShowLineNumbers="True" FontFamily="Consolas" Unloaded="TextEditor_Unloaded" FontSize="16" Loaded="TextEditor_Loaded" Document="{Binding Document}" SyntaxHighlighting="Python" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
我的问题是,当你更改selectionned选项卡时,之前选择的文档的插入符号偏移量被重置为0,这真的很烦人。
我尝试绑定文本编辑器的插入符号偏移属性,但它不是依赖属性,并且由于我不确定它是否会起作用,所以我没有勇气创建附加的依赖属性。
我怀疑它来自这样一个事实,即在选项卡选择时在文本编辑器中重新加载了 Document,并且由于插入符号偏移似乎依赖于 TextArea,它返回到它的默认值,但我仍然没有任何想法关于如何避免这种情况。
有什么提示吗?