c# - FlowListView 一个单独的标签,FlowColumnCount = "1"
问题描述
使用 FlowListView 后,我得到以下结果:
但是紧急情况应该是其他颜色,带有其他点击事件并且 FlowColumnCount = "1" 的大小
这是以下代码:
<?xml version="1.0" encoding="utf-8" ?>
<flv:FlowListView.FlowColumnTemplate>
<DataTemplate>
<Frame BackgroundColor="Purple" Margin="5">
<Label HorizontalOptions="Fill"
VerticalOptions="Fill"
TextColor="White"
XAlign="Center"
YAlign="Center"
Text="{Binding Text}"/>
</Frame>
</DataTemplate>
</flv:FlowListView.FlowColumnTemplate>
</flv:FlowListView>
</StackLayout>
</ContentPage.Content>
这是 MockDataStore:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using DLToolkit.Forms.Controls;
using EscapeHaarlem.Models;
namespace EscapeHaarlem.Services
{
public class MockDataStore : IDataStore<Item>
{
List<Item> items;
public MockDataStore()
{
FlowListView.Init();
items = new List<Item>();
//this.items.Add(new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 1", Description = "This is an item description." });
//this.items.Add(new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 2", Description = "This is an item description." });
var mockItems = new List<Item>
{
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 1", Description="This is an item description." },
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 2", Description="This is an item description." },
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 3", Description="This is an item description." },
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 4", Description="This is an item description." },
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 5", Description="This is an item description." },
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 6", Description="This is an item description." },
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 7", Description="This is an item description." },
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 8", Description="This is an item description." },
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 9", Description="This is an item description." },
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 10", Description="This is an item description."},
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 11", Description="This is an item description."},
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 12", Description="This is an item description."},
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 13", Description="This is an item description."},
new Item { Id = Guid.NewGuid().ToString(), Text = "Hint 14", Description="This is an item description."},
new Item { Id = Guid.NewGuid().ToString(), Text = "Emergency", Description="This is an item description."},
};
foreach (var item in mockItems)
{
items.Add(item);
}
}
public async Task<bool> AddItemAsync(Item item)
{
items.Add(item);
return await Task.FromResult(true);
}
public async Task<bool> UpdateItemAsync(Item item)
{
var oldItem = items.Where((Item arg) => arg.Id == item.Id).FirstOrDefault();
items.Remove(oldItem);
items.Add(item);
return await Task.FromResult(true);
}
public async Task<bool> DeleteItemAsync(string id)
{
var oldItem = items.Where((Item arg) => arg.Id == id).FirstOrDefault();
items.Remove(oldItem);
return await Task.FromResult(true);
}
public async Task<Item> GetItemAsync(string id)
{
return await Task.FromResult(items.FirstOrDefault(s => s.Id == id));
}
public async Task<IEnumerable<Item>> GetItemsAsync(bool forceRefresh = false)
{
return await Task.FromResult(items);
}
}
}
我怎样才能使紧急按钮具有其他颜色大小和单击事件?
提前致谢
解决方案
你的意思是你想让Emergency
一个单独的列并有一个单独的点击事件,对吗?
如果是的话,你可以用 来显示它ListView.Footer
,然后你可以定义它的颜色,单独点击事件,比如:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:flv="clr-namespace:DLToolkit.Forms.Controls;assembly=DLToolkit.Forms.Controls.FlowListView"
x:Class="App18.FlowListPage">
<ContentPage.Content>
<StackLayout>
<flv:FlowListView FlowColumnCount="2"
SeparatorVisibility="Default"
HasUnevenRows="True"
FlowItemTappedCommand="{Binding ItemTappedCommand}"
FlowItemsSource="{Binding Items}">
<flv:FlowListView.FlowColumnTemplate>
<DataTemplate>
<Frame BackgroundColor="Purple"
Margin="5">
<Label HorizontalOptions="Fill"
VerticalOptions="Fill"
TextColor="White"
XAlign="Center"
YAlign="Center"
Text="{Binding Text}"/>
</Frame>
</DataTemplate>
</flv:FlowListView.FlowColumnTemplate>
<flv:FlowListView.Footer>
<StackLayout>
<Button Text="Emergency" BackgroundColor="Accent" Clicked="Button_Clicked"></Button>
</StackLayout>
</flv:FlowListView.Footer>
</flv:FlowListView>
</StackLayout>
</ContentPage.Content>
推荐阅读
- scala - 使用结构化流时无法将 json 格式数据写入路径。执行 spark2-submit 时仅创建 _spark_metadata
- c# - Process.Start() 打开 URL 有时会抛出 Win32Exception?
- regex - 如何在 Google doc app 脚本中替换换行符或软换行符(ctrl+enter)?
- activerecord - yii2如何组合查询
- java - 如何将 String ArrayList 更改为 Double ArrayList?
- css - bootstrap.min.css 似乎会导致重定向
- python - 将列表字典转换为数据框
- visual-studio - VS2019 的水晶报表
- css - 如何移动按钮以适合容器底部
- javascript - Facebook 登录 API 出现问题