gpt4 book ai didi

xaml - Xamarin.Forms (XAML) : Different layouts depending on a condition

转载 作者:行者123 更新时间:2023-12-05 01:02:57 25 4
gpt4 key购买 nike

有没有办法根据一个条件选择什么布局初始化?我有一个用于足球统计数据的网格,但如果 myViewModel.Sport == Sports.Basketball我想加载一个完全不同的布局。

我用 尝试了类似的方法数据触发器在每个 View 中,但对我来说似乎一团糟:

<Label Text="{Binding Goals}" 
Grid.Row="1" Grid.Column="0">
<Label.Triggers>
<DataTrigger TargetType="Label"
Binding="{Binding Sport}"
Value="1">
<Setter Property="Text"
Value="{Binding Points}"/>
</DataTrigger>
</Label.Triggers>
</Label>

我显示“目标”,但如果 Sports 枚举值为 1 (Sports.Basketball),我会更改为“points”。我想用很多标签甚至图像来做到这一点,所以我需要一种正确的方法来做到这一点。

有人可以帮助我吗?我需要根据 ViewModel 的 Sport 属性加载不同的网格。

最佳答案

您可以做的另一件事是将每个单独的运动放入它自己的 View 中,将所有 View 添加到您的页面并根据您要显示的运动设置它们的 IsVisible 属性。

一个例子在伪代码中看起来像这样:

<Page>
<Grid>
<BasketballView IsVisible="{Binding IsBasketball}">
<SoccerView IsVisible="{Binding IsSoccer}">
<FootballView IsVisible="{Binding IsFootball}">
</Grid>
</Page>

然后从 ViewModel 设置适当的 bool 值。

关于xaml - Xamarin.Forms (XAML) : Different layouts depending on a condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43869706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com