windows ToughPad 中的选择器项目滚动问题
Problem with Picker items scrolling in windows ToughPad
我要拿一个采摘机喜欢
<Picker x:Name="picker" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" ItemDisplayBinding="{Binding ItemName}"/>
我的商品class就像
public class Item
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string ItemName { get; set; }
}
现在我正在添加选择器项目源,例如
List<Item> items= new List<Item>();
items= App.DAUtil.GetDevices();
picker.ItemsSource = items;
这里我从本地数据库获取设备列表。每当我 运行 windows ToughPad 中的代码时,选择器项目不断滚动,但当我 运行 本地 Machine.Please 中的代码帮助我如何停止时它工作正常连续滚动选择器。
Problem with Picker items scrolling in windows ToughPad
匹配的原生控件是uwp平台的ComboBox
,在触摸模式下循环滚动是设计的。如果你想关闭它,你可以参考这个案例 然后自定义 Picker
渲染器。
[assembly: ExportRenderer(typeof(Picker), typeof(CustomPickerRenderer))]
namespace App35.UWP
{
public class CustomPickerRenderer : PickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
{
base.OnElementChanged(e);
if(Control != null)
{
Control.ItemsPanel = App.Current.Resources["CustomPanelTemplate"] as ItemsPanelTemplate;
}
}
}
}
Application.Resources
<ResourceDictionary>
<ItemsPanelTemplate x:Key="CustomPanelTemplate">
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ResourceDictionary>
我要拿一个采摘机喜欢
<Picker x:Name="picker" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" ItemDisplayBinding="{Binding ItemName}"/>
我的商品class就像
public class Item
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string ItemName { get; set; }
}
现在我正在添加选择器项目源,例如
List<Item> items= new List<Item>();
items= App.DAUtil.GetDevices();
picker.ItemsSource = items;
这里我从本地数据库获取设备列表。每当我 运行 windows ToughPad 中的代码时,选择器项目不断滚动,但当我 运行 本地 Machine.Please 中的代码帮助我如何停止时它工作正常连续滚动选择器。
Problem with Picker items scrolling in windows ToughPad
匹配的原生控件是uwp平台的ComboBox
,在触摸模式下循环滚动是设计的。如果你想关闭它,你可以参考这个案例 Picker
渲染器。
[assembly: ExportRenderer(typeof(Picker), typeof(CustomPickerRenderer))]
namespace App35.UWP
{
public class CustomPickerRenderer : PickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
{
base.OnElementChanged(e);
if(Control != null)
{
Control.ItemsPanel = App.Current.Resources["CustomPanelTemplate"] as ItemsPanelTemplate;
}
}
}
}
Application.Resources
<ResourceDictionary>
<ItemsPanelTemplate x:Key="CustomPanelTemplate">
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ResourceDictionary>