gpt4 book ai didi

xaml - Xamarin.Forms是否可以在XAML的数据上下文中定义数据

转载 作者:行者123 更新时间:2023-12-03 10:15:41 25 4
gpt4 key购买 nike

在我的Xamarin Forms应用程序中,我有一个自定义控件,用于显示数据列表。数据在IEnumerable ViewModel中定义。通常, View 模型是在C#中动态定义的,但是我想知道是否可以在XAML中定义它吗?例如在我的XAML中,我有以下内容:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WrhseCtrls.Views.CollapsibleGridPage"
xmlns:local="clr-namespace:WrhseCtrls;assembly=WrhseCtrls">
<ContentPage.Content>
<local:Views.CollapsibleGridView Title="No View Model">
<local:Views.CollapsibleGridView.BindingContext>
<local:ViewModels.ListViewItem/>
</local:Views.CollapsibleGridView.BindingContext>

<local:ViewModels.ListViewRow Caption="Row" Text="Text" Hidden="False" Height="30"></local:ViewModels.ListViewRow>

</local:Views.CollapsibleGridView>
</ContentPage.Content>

View 模型“ListViewItem”是“ListViewRow”的IEnumerable。是否有可能像我在“ListViewRow”行中尝试的那样在XAML中填充此 View 模型?非常感谢。

最佳答案

我不确定您是否可以完全照做,实例化itens并将其添加到自定义IEnumerable类。但是,如果我没记错的话,您可以按以下方式使用它:

<ContentPage.Content>     
<local:Views.CollapsibleGridView Title="No View Model">
<local:Views.CollapsibleGridView.BindingContext>
<x:Array Type="{x:Type local:ViewModels.ListViewRow}">
<local:ViewModels.ListViewRow Caption="Row 1" Text="Text 1" Hidden="False" Height="30"></local:ViewModels.ListViewRow>
<local:ViewModels.ListViewRow Caption="Row 2" Text="Text 2" Hidden="False" Height="30"></local:ViewModels.ListViewRow>
<local:ViewModels.ListViewRow Caption="Row 3" Text="Text 3" Hidden="False" Height="30"></local:ViewModels.ListViewRow>
</x:Array>
</local:Views.CollapsibleGridView.BindingContext>
</local:Views.CollapsibleGridView>
</ContentPage.Content>

关于xaml - Xamarin.Forms是否可以在XAML的数据上下文中定义数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50331501/

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