我有一个包含导航栏的 MainView,该导航栏选择要在页面视图窗格中显示的许多 XAML 页面之一。MainView 包含页面周围的 ScrollViewer。这允许页面是它们需要的任何大小,并且 MainView 的 ScrollViewer 滚动它们。这一切都很好。
在其中一个页面上,我需要(有时)将一个 TextBox 居中在页面视图窗格的中间(在页面内容的顶部)。这很容易通过将页面内容和 TextBox 放在一个网格中相互重叠来完成(并且我根据需要隐藏了 TextBox)。这一切似乎都很好。
但是,如果页面内容变得比窗格大,则 TextBox 不会以窗格为中心,而是以整页内容为中心。因此,它从中心屏幕向下和/或向右移动(最终离开屏幕)。真可惜。
选项:
从 MainView 中删除 ScrollViewer。这将需要在每一页上放置一个!啊。
执行选项 #1,并创建一个 ScrolledPage 基类。这是很多工作,我担心工具问题(混合问题)。它还需要更改每个页面(以子类化此页面)。
以某种方式仅在此页面上覆盖 ScrollViewer。然后,在页面内容上放置另一个 ScrollViewer 以滚动它。
选项 3 似乎更可取,因为它包含仅修改此页面(而不是更改其余页面)的问题。但是,我不知道该怎么做。想法?
提前致谢!
埃里克