gpt4 book ai didi

c# - 如何拆分字符串并将其插入 DataTemplate 中的 Binding

转载 作者:行者123 更新时间:2023-12-05 06:51:14 24 4
gpt4 key购买 nike

我有一个 collectionView 的 DataTemplate,里面有一个带有 Text in Binding 属性的 Label。

<CollectionView.ItemTemplate>
<DataTemplate>
<Grid BackgroundColor="Gray" Opacity="0.8" RowSpacing="0.1">
<Label TextColor="White" Text="{Binding Data}"/>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>

我需要能够将该字符串拆分为多个字符串,并且我能够找到这段代码

public class DelimiterConverter : IValueConverter
{
public object Convert(Object value, Type targetType, object parameter, CultureInfo culture)
{
string[] values = ((string)value).Split(' ');
int index = int.Parse((string)parameter);
return values[index];
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return "";
}
}

HumorDiary[] note = JsonConvert.DeserializeObject<HumorDiary[]>(textt);

DelimiterConverter conv = new DelimiterConverter();

foreach (HumorDiary hd in note)
{
conv.Convert(hd.Data, typeof(string), " ", CultureInfo.CurrentCulture);
}

我不知道我输入的是否正确,但我不知道如何在DataTemplate中获取分成几个部分的各种字符串

最佳答案

可以这样使用:

将你的转换器所在的命名空间添加到你的页面

xmlns:converters="clr-namespace:MyApp.Converters"

将转换器添加到您页面的资源

<ContentPage.Resources>
<converters:StringSplitConverter x:Key="StringSplitConverter" />
</ContentPage.Resources>

编辑 CollectionViewItemTemplate 以在单独的标签中显示所有分隔的字符串(使用 BindableLayout)

<CollectionView.ItemTemplate>
<DataTemplate>
<Grid BackgroundColor="Gray" Opacity="0.8" RowSpacing="0.1">
<!-- Bind the ItemsSource to the Data using the converter -->
<StackLayout BindableLayout.ItemsSource="{Binding Data, Converter={StaticResource StringSplitConverter}}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<!-- Display the separated word -->
<Label Text="{Binding .}" />
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>

这是转换器。获取字符串并用空格将其拆分

public class StringSplitConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is string stringValue)
{
return stringValue.Split(' ');
}

return value;
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}

关于c# - 如何拆分字符串并将其插入 DataTemplate 中的 Binding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66205179/

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