当水平尺寸太小时,WPF TabControl及其默认TabPanel将选项卡项排列为多行.然后,选项卡选择会更改这些行的顺序,因此选定的选项卡项始终位于第一行.
我发现了一些关于如何将TabPanel替换为另一个项控件的文章,因此他们获得滚动选项卡而不是多线行为.
我想保留多行(不滚动),但禁用行的重新排列.创建选项卡后,无论选择如何更改,它们都应保持原位.这可能吗?
我找到的唯一解决方案是修改框架的 TabPanel 类,使其int GetActiveRow(int[] solution)方法始终返回 0。虽然这解决了问题,但我不确定以这种方式使用框架的源代码是否合法。