我正在使用WPF创建基于触摸的交互式应用程序。应用程序使用ScatterViewItem
个对象在里面保存两个可滚动菜单,一个主菜单和一个子菜单并排显示各种内容,具体取决于所选项目。
默认情况下,ScatterViewItem
可以使用触摸手势进行扩展,但问题是只有容器本身会增大/缩小,而项目只是在内部进一步分开或靠得更近。
我希望发生的是容器及其内部的所有内容按比例缩放,就像图像一样。
我尝试使用ViewBox
来包装所有内容,但这会引发许多新问题:
现在,可滚动的菜单(SurfaceScrollViewer
)会自动缩放,以便它们完全适合容器内部。这是不好的,因为单个项目大小根据子菜单中的项目数量而变化。我需要它们保持可滚动性,并且无论总数如何,相同数量的物品(大约3x3)都能够容纳在容器中。
TextBox
控件现在根据内容长度更改字体大小以使文本在一行中。我希望字体大小在所有项目中保持一致,如有必要,请将其包裹到下一行。
最好的办法是什么?我应该只使用某种绑定在每个对象的尺寸与其父容器的尺寸之间固定比例吗?
我的C#/ WPF经验非常有限,时间紧迫,所以任何建议和/或例子都会非常受欢迎。