прокрутка поддерживается как в android, так и в ios, но у меня проблема с UWP
Да, в настоящее время управление редактором не прокручивать, как ребенок ViewVell в UWP приложения, я видел, как вы создали ошибку в Bugzilla сайта: https://bugzilla.xamarin.com/show_bug.cgi?id=43660
Обходной здесь должен настроить ViewCell
и создать пользовательский визуализатор на каждой платформе. Для UWP в качестве альтернативы используйте управление RichEditBox
или другое прокручиваемое управление.
Пожалуйста, смотрите документ: Customizing a ViewCell
XAML:
<ListView.ItemTemplate>
<DataTemplate>
<local:NativeCell Name="{Binding Name}" Category="{Binding Category}" />
</DataTemplate>
</ListView.ItemTemplate>
NativeCell:
public class NativeCell : ViewCell
{
public static readonly BindableProperty NameProperty =
BindableProperty.Create("Name", typeof(string), typeof(NativeCell), "");
public string Name
{
get { return (string)GetValue(NameProperty); }
set { SetValue(NameProperty, value); }
}
public static readonly BindableProperty CategoryProperty =
BindableProperty.Create("Category", typeof(string), typeof(NativeCell), "");
public string Category
{
get { return (string)GetValue(CategoryProperty); }
set { SetValue(CategoryProperty, value); }
}
}
Customized визуализации для UWP:
using WorkingWithListview;
using WorkingWithListview.UWP.Renderers;
using Xamarin.Forms;
using Xamarin.Forms.Platform.UWP;
[assembly: ExportRenderer(typeof(NativeCell), typeof(NativeUWPCellRenderer))]
namespace WorkingWithListview.UWP.Renderers
{
public class NativeUWPCellRenderer : ViewCellRenderer
{
public override Windows.UI.Xaml.DataTemplate GetTemplate(Cell cell)
{
return App.Current.Resources["ListViewItemTemplate"] as Windows.UI.Xaml.DataTemplate;
}
}
}
Шаблон данных в App.xaml:
<DataTemplate x:Key="ListViewItemTemplate">
<Grid Background="LightBlue">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="100" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.40*" />
<ColumnDefinition Width="0.40*"/>
<ColumnDefinition Width="0.20*" />
</Grid.ColumnDefinitions>
<RichEditBox Grid.Row="1" />
<TextBlock Grid.ColumnSpan="2" Foreground="#7F3300" FontStyle="Italic" FontSize="22" VerticalAlignment="Top" Text="{Binding Name}" />
<Line Grid.Row="2" Grid.ColumnSpan="3" X1="0" X2="1" Margin="30,20,0,0" StrokeThickness="1" Stroke="LightGray" Stretch="Fill" VerticalAlignment="Bottom" />
</Grid>
</DataTemplate>
Скриншот:
Проверьте мой завершенный образец here
Спасибо, Франклин, его работа, но здесь мне также нужно установить контекст привязки к редактору, но RichEditBox не вызывает свойство Text. –
@SachinKs Полезно знать, так ли это приемлемый ответ на ваш вопрос? ;) –
да, это приемлемо, но здесь мне также нужно установить привязку контекста к свойству Text, чтобы установить текст по умолчанию в RichEditBox, есть ли способ сделать это? –