我正在使用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>
我的问题是,当您更改选择的选项卡时,先前所选文档的插入符偏移量将重置为0,这实在令人讨厌。
我试图绑定文本编辑器的插入符偏移属性,但它不是依赖属性,因为我不确定它是否可行,所以我没有勇气创建附加的依赖属性。
我怀疑它来自于文本在选项卡选择的文本编辑器中重新加载的事实,并且由于插入符号似乎取决于TextArea,它返回到其默认值,但我仍然没有对如何避免这种情况有任何想法。
任何提示?