所以我有一个ObservableCollection
其中IDevice
包含一个收集蓝牙设备的外围设备。
public partial class MainPage : ContentPage
{
public ObservableCollection<IDevice> Devices { get; set; }
public MainPage()
{
Devices = new ObservableCollection<IDevice>();
Padding = new Thickness(0, 20, 0, 0);
var listView = new ListView();
listView.ItemsSource = Devices;
Content = listView;
Refreshcmd();
}
public void Refreshcmd()
{
var adapter = CrossBluetoothLE.Current.Adapter;
adapter.DeviceDiscovered += (s, a) => Devices.Add(a.Device);
adapter.StartScanningForDevicesAsync();
}
}
我的问题是,除了实际的蓝牙设备之外,listview 也填充了空实体,这会导致一个非常长的列表,其中每 5 行左右都有实际设备。
我怀疑在将数据添加到Devices
. 我相信一个解决方法是用一个条件来改变 lambda 表达式,这样 device != empty ish。此外,也许可以反过来,以某种方式告诉列表视图它不应该显示“空”数据。
我只是不确定我将如何去做。