私はXamarinフォームで水平方向にスクロールリストビューを実装しようとしていますが、いくつかのライブラリを試しましたが、良い解決策が見つかりませんでした。これはXamrinフォーム(レンダリングなし)で可能ですか?使用できるライブラリがありますか?水平リストの表示Xamarinフォーム
答えて
は使用例https://www.nuget.org/packages/HorizontalListView1.1/
を試してみてください(XAML)
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="test.ListPage" xmlns:Controls="clr-namespace:test;assembly=test">
<Controls:HorizontalListView ItemsSource="{Binding Categories}" ListOrientation="Horizontal">
<Controls:HorizontalListView.ItemTemplate>
<DataTemplate>
<Label Text="{Binding Name}" Grid.Row="0" YAlign="Center" />
</DataTemplate>
</Controls:HorizontalListView.ItemTemplate>
</Controls:myControl>
ありがとうございます。私はこれを試してみる。 – droidNDK
INORDERは、あなたが以下のようにカスタムscrollViewを作成し、XAML
でこのカスタムコントロールを使用する必要が水平スクロールリストビューを取得しますパブリッククラスImageGallery:ScrollView { readonly StackLayout _imageStack;
public ImageGallery()
{
this.Orientation = ScrollOrientation.Horizontal;
_imageStack = new StackLayout
{
Orientation = StackOrientation.Horizontal
};
this.Content = _imageStack;
}
public IList<View> Children
{
get
{
return _imageStack.Children;
}
}
public static readonly BindableProperty ItemsSourceProperty =
BindableProperty.Create<ImageGallery, IList>(
view => view.ItemsSource,
default(IList),
BindingMode.TwoWay,
propertyChanging: (bindableObject, oldValue, newValue) => {
((ImageGallery)bindableObject).ItemsSourceChanging();
},
propertyChanged: (bindableObject, oldValue, newValue) => {
((ImageGallery)bindableObject).ItemsSourceChanged(bindableObject, oldValue, newValue);
}
);
public IList ItemsSource
{
get
{
return (IList)GetValue(ItemsSourceProperty);
}
set
{
SetValue(ItemsSourceProperty, value);
}
}
void ItemsSourceChanging()
{
if (ItemsSource == null)
return;
}
void ItemsSourceChanged(BindableObject bindable, IList oldValue, IList newValue)
{
if (ItemsSource == null)
return;
var notifyCollection = newValue as INotifyCollectionChanged;
if (notifyCollection != null)
{
notifyCollection.CollectionChanged += (sender, args) => {
if (args.NewItems != null)
{
foreach (var newItem in args.NewItems)
{
var view = (View)ItemTemplate.CreateContent();
var bindableObject = view as BindableObject;
if (bindableObject != null)
bindableObject.BindingContext = newItem;
_imageStack.Children.Add(view);
}
}
if (args.OldItems != null)
{
// not supported
_imageStack.Children.RemoveAt(args.OldStartingIndex);
}
};
}
}
public DataTemplate ItemTemplate
{
get;
set;
}
public static readonly BindableProperty SelectedItemProperty =
BindableProperty.Create<ImageGallery, object>(
view => view.SelectedItem,
null,
BindingMode.TwoWay,
propertyChanged: (bindable, oldValue, newValue) => {
((ImageGallery)bindable).UpdateSelectedIndex();
}
);
public object SelectedItem
{
get
{
return GetValue(SelectedItemProperty);
}
set
{
SetValue(SelectedItemProperty, value);
}
}
void UpdateSelectedIndex()
{
if (SelectedItem == BindingContext)
return;
SelectedIndex = Children
.Select(c => c.BindingContext)
.ToList()
.IndexOf(SelectedItem);
}
public static readonly BindableProperty SelectedIndexProperty =
BindableProperty.Create<ImageGallery, int>(
carousel => carousel.SelectedIndex,
0,
BindingMode.TwoWay,
propertyChanged: (bindable, oldValue, newValue) => {
((ImageGallery)bindable).UpdateSelectedItem();
}
);
public int SelectedIndex
{
get
{
return (int)GetValue(SelectedIndexProperty);
}
set
{
SetValue(SelectedIndexProperty, value);
}
}
void UpdateSelectedItem()
{
SelectedItem = SelectedIndex > -1 ? Children[SelectedIndex].BindingContext : null;
}
}`
今、あなたは、水平スクロールリスト
<custom:ImageGallery ItemsSource="{Binding ImageList}" HeightRequest="100"> <custom:ImageGallery.ItemTemplate> <DataTemplate>
<取得するにはXAMLでカスタムScrollViewを使用することができます - レイアウトと関連の低いものを - > </DataTemplate> </custom:ImageGallery.ItemTemplate> </custom:ImageGallery>
ありがとうございます。私はこれを試してみる。 – droidNDK
一部は、リストビューを回転させることにより、水平方向のリストビューを作成します、次に要素を回転させます。
これはハックだから、レイアウトに混乱を与えないようにする必要があります(たとえば、グリッドに入れないなど)。しかし、それは正常に動作します。
- 1. フレキシブルの水平リストでページングを表示
- 2. Android水平動的リスト表示
- 3. 水平方向にULリストを表示
- 4. 水平のFirefoxのリストがFirefox上で水平に表示されない
- 5. Android水平スクロールビューピッカー - Xamarin
- 6. リストビューの水平スクロール表示
- 7. MaterialUI水平フォーム
- 8. フォーム水平ブーツストラップ
- 9. Yii2水平フォーム
- 10. 水平フォーム
- 11. CSS水平メニュー:表示:インライン;
- 12. 水平に表示する?
- 13. 水平リストビューナビゲーション - 表示アイテム
- 14. ボタン付きXamarin水平ビュー
- 15. フレックス水平リスト
- 16. タブ付きページスワイプが水平スクロールの途中に入るXamarinフォーム
- 17. 水平リストビューの高さを小さくする - xamarinフォーム
- 18. ブートストラップ - フォーム - 水平アライメント
- 19. jaspersoftスタジオディスプレイ水平リスト
- 20. 水平リストが行内に表示されています
- 21. Firefoxが水平リストを適切に表示しない
- 22. mySQL +リスト - フレックスボックスで水平に表示する方法
- 23. 水平方向のチェックボックスの表示
- 24. フォームのインラインと水平イメージ
- 25. 水平スクロールViewPager内での表示
- 26. 縦の列データを水平に表示
- 27. SSRS表示データセットの結果を水平
- 28. MySQL。属性の水平表示
- 29. 水平スクロール表示のアンドロイド描画線
- 30. HTMLリストの水平スクロール
CarouselView? –