【发布时间】:2019-10-06 04:42:03
【问题描述】:
我已经在我的应用程序中实现了自动建议框,但问题是我想将建议弹出到多个列中,而不是只有一列的普通建议列表。
另外,我想让建议列表比文本框更宽, 例如,我将 AutoSuggestBox 控件设置为 100(文本框),我希望建议列表设置为 300 的宽度。
我在 Renderer 上尝试了 Control.ItemTemplate,但我不知道如何开始并在 Control.ItemTemplate 上放置一些对象,因为我在 Native 上看到了一些可以自定义的实现。
在 UWP XAML 上,他们有这个实现来自定义建议列表
在我的 UWP 渲染器上,我有一个这样的功能。
private void UpdateItemsSource()
{
Control.ItemTemplate = new Windows.UI.Xaml.DataTemplate();
Control.ItemsSource = Element?.ItemsSource;
}
我想要像这样实现一些东西,因为也许它可以解决我的问题。
<AutoSuggestBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding}" HorizontalAlignment="Left"/>
<Button Grid.Column="1" Name="EditSuggestionButton" FontFamily="Segoe MDL2 Assets" Content=""
Click="EditSuggestionButton_Click" ClickMode="Press"/>
</Grid>
</DataTemplate>
</AutoSuggestBox.ItemTemplate>
<AutoSuggestBox.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</AutoSuggestBox.ItemContainerStyle>
【问题讨论】:
标签: xamarin.forms uwp autosuggest c#-6.0 xamarin.uwp