我有一个使用Master Detail Page的应用程序,其中一个细节页面是Carousel Page。我发现如果您导航到轮播上的其他页面,然后是不同的详细信息页面,然后返回到轮播页面,然后再返回到轮播页面,则不会遵循文本对齐设置(至少对于标签)在旋转木马上查看第一页 - 这是问题的GIF:
第一次看到我的旋转木马页面时,它是红色的,上面的文字有一些右对齐,有些居中。导航第二次看到它。两个标签都在左侧对齐。
如果带有标签的Carousel页面是打开新详细信息页面之前查看的最后一页(请参阅绿色页面标签仍然位于gif中心),则不会发生这种情况。
如果有人感兴趣的话,这是一个项目的链接:https://www.dropbox.com/s/i9lrwra0ns2oyvq/MDP_Carousel_TextAlignBug.zip?dl=0
是否有人知道如何通过正确对齐标签来强制我的轮播页面刷新?
答案 0 :(得分:0)
Xamarin的家伙已经回复我了,现在已经报道这是一个真正的错误https://bugzilla.xamarin.com/show_bug.cgi?id=53032
我的修复方法是将水平选项应用于整个标签,而不仅仅是文本对齐。
myLabel.HorizontalOptions = LayoutOptions.End
来自Xamarin:"这里仍然存在一个问题,StackLayout,MasterDetail和CarouselView之间的交互效果组合。粗略地说,我认为正在发生的事情是,在重新绘制CarouselView中的页面当前不在屏幕上,但在内存中,这样做是不一致的。我认为HorizintalTextAlignment正在对Label中的文本强制执行,但实际的Label控件本身只是被绘制到StackLayout中文本的大小而不是填充水平空间。"