【发布时间】:2015-08-31 14:46:34
【问题描述】:
我正在使用 Xamarin 中的 Monkey.Robotics 组件在 Xamarin 中构建一个新的 BLE 应用程序。我使用这个Heart Rate 示例作为起点。但是,我想要一个 dashboard 类型的主页,其中显示收到的特征。然后我想要一个底部的“添加设备”按钮,它会触发扫描和配对过程。
我目前设置了一个ObservableCollection<T> 类,用于将找到的所有设备添加到列表视图中。我真的很想把所有的功能都放在一个页面上,这样我就不会把不同的状态复杂化,比如“以前配对过”、“想要配对新设备”和“从未配对过”。理想情况下,我想使用DisplayActionSheet。
这是给定的例子
var actionButton1 = new Button { Text = "ActionSheet Simple" };
actionButton1.Clicked += async (sender, e) => {
var action = await DisplayActionSheet ("ActionSheet: Send to?", "Cancel", null, "Email", "Twitter", "Facebook");
Debug.WriteLine("Action: " + action); // writes the selected button label to the console
};
我是否可以使用来自通过 ObservableCollection 扫描的动态数据来填充它?
这是我目前的安排:
this.devices = new ObservableCollection<IDevice> ();
listView.ItemsSource = devices;
adapter.DeviceDiscovered += (object sender, DeviceDiscoveredEventArgs e) => {
Device.BeginInvokeOnMainThread(() => {
devices.Add (e.Device);
});
};
非常感谢我如何实现这一点的建议(以及是否有可能,或者有更好的方法来做到这一点?),同时仍然保持 DisplayActionSheet 的正确结构。
【问题讨论】:
标签: c# ios xaml xamarin xamarin.ios