我想询问是否有任何方法可以在Xamarin中制作一条颜色。具有可变宽度的表格?我现在已经搜索了几天,但无法找到任何有关此问题的话题。在我的应用中,我有一系列人的体重:正常(黄色)100磅到200磅,低于100磅(绿色),200磅超重(红色)。让我们说最小和最大重量是0磅 - 300磅,显示为带有 BoxView 的白色条,一个人的体重是160磅,正在传递给我来自数据库。我想知道如何在绿色条中显示这个人的体重,其宽度是该人的体重。以下是我试图做的事情的图像。如何处理这个问题的任何指针?
答案 0 :(得分:0)
我会尝试使用AbsoluteLayout,RelativeLayout或Grid将3个不同的BoxView叠加在一起:
您可以将绿色层叠在白色顶部,或者尝试将它们放在一起。
答案 1 :(得分:0)
好吧,你可以通过改变它并使其成为可绑定属性并在其更改上重绘项目。据我所知,在Xamarin Forms BoxView中,WidthRequest已经是一个可绑定的属性,但在此属性更改后,我看不到它在渲染器中重绘元素。所以你应该创建一个继承的类,并在它的渲染器中执行类似这样的操作
protected override void OnElementPropertyChanged(
object sender,
PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
if (e.PropertyName == VisualElement.WidthRequestProperty.PropertyName
|| e.PropertyName == VisualElement.WidthProperty.PropertyName)
{
this.SetNeedsDisplay();
}
}