Won't Fix
Last Updated: 13 Nov 2024 17:05 by ADMIN
We want a way to change/control the animation during a drag and drop. Instead of rearranging everything in the live time, it'd be nice to have a line indicator appear between the rows to show where the row will be placed as you drag the row and just rearrange everything after it's released. 
Won't Fix
Last Updated: 13 Nov 2024 17:01 by ADMIN
Implement alternating item styles for RadListView.
Won't Fix
Last Updated: 13 Nov 2024 16:59 by ADMIN

Currently the LoadOnDemandCollection accepts a callback of the following format in the constructor:

public LoadOnDemandCollection(Func<CancellationToken, IEnumerable> action)

It is a very common scenario to populate the items asynchronously. In its current form the collection would require blocking the current thread to populate the results:

ItemsSource = new ListViewLoadOnDemandCollection((cancelationToken) =>
{
    var result = new List<ItemsModel>();
    try
    {
        var items = dataService.GetItemsAsync().Result;

        // TODO: Handle the result.

        return result;
    }
    catch (Exception e)
    {
        // TODO: Handle the exception.
        return null;
    }
});

This is not desired, as using Task.Result blocks the current thread and is considered an anti-pattern, in general.

A better approach would be to add a second overload of the constructor, allowing asynchronous calls:

public LoadOnDemandCollection(Func<CancellationToken, Task<IEnumerable>> action)

This way we can use async and await in the callback instead:

ItemsSource = new ListViewLoadOnDemandCollection(async (cancelationToken) =>
{
    var result = new List<ItemsModel>();
    try
    {
        var items = await dataService.GetItemsAsync();

        // TODO: Handle the result.

        return result;
    }
    catch (Exception e)
    {
        // TODO: Handle the exception.
        return null;
    }
});

According to my tests, the first blocking approach is not a problem, as the ListViewLoadOnDemandCollection starts a thread internally. That behavior is not obvious however, and using Task.Result is somewhat counterintuitive, so the second approach is much better from the user's perspective.

Won't Fix
Last Updated: 13 Nov 2024 16:57 by ADMIN
Hallo, imagine we want to extend your tutorial example from this link:

https://docs.telerik.com/devtools/maui/controls/listview/styling/group-header



Imagine we have additional field in City class (CountryFlag as Image)

 

public class City
{
public string Name { get; set; }
public string Country { get; set; }
public Image CountryFlag { get; set; }
}

 

Won't Fix
Last Updated: 13 Nov 2024 16:55 by ADMIN
Created by: Nathan
Comments: 1
Category: ListView
Type: Feature Request
2
Instead of just a tap and hold gesture (reordering through the UI), expose an option to programmatically enter reordering.
Won't Fix
Last Updated: 13 Nov 2024 16:52 by ADMIN
Created by: Larry
Comments: 1
Category: ListView
Type: Feature Request
0
Provide keyboard navigation support for ListView.
Won't Fix
Last Updated: 13 Nov 2024 16:51 by ADMIN
Created by: Christoph
Comments: 1
Category: ListView
Type: Feature Request
2
Add events to handle when listview cells are unloaded/recycled and created.
Won't Fix
Last Updated: 13 Nov 2024 16:48 by ADMIN
Created by: JP
Comments: 4
Category: ListView
Type: Feature Request
6
Provide a way to set header and footer that are always visible in the ListView and are excluded from the scrolling.
Currently the property exists only for GroupHeaders. I want to have the same option for the HeaderTemplate. 
Won't Fix
Last Updated: 13 Nov 2024 16:45 by ADMIN

Hi Team,

In the current RadListView implementation, the RadListView will start with all the groups expanded. The only way to have any form of preference is to programmatically interact with the Dataview after-the-fact https://docs.telerik.com/devtools/maui/controls/listview/grouping/expand-collapse 

This is problematic because I need to take a wild guess as to how long it takes for the data to load in the RadListView.Loaded event and then manually collapse them.

Even if I time this perfectly... this results in visual flash for the user because the ListView starts expanded and immediately collapses.

Requested Feature

A better approach that I am requesting a feature for is to have a property available for the RadListView that sets this value ahead of time.

For example, you could add it as a BindableProperty on the GroupDescriptorBase class. 

// THE OFFICIAL BASE CLASS
public abstract class GroupDescriptorBase : OrderedDescriptorBase, IKeyLookup
{
    public object GetKey(object item) => this.GetKeyCore(item);

    protected abstract object GetKeyCore(object item);

    protected virtual object GetDefaultKey(object item) => item;

    // SUGGESTED IMPROVEMENT
    public bool IsExpanded
    {
        get => (bool)GetValue(IsExpandedProperty);
        set => SetValue(IsExpandedProperty, value);
    }
    
    public static readonly BindableProperty IsExpandedProperty = BindableProperty.Create(
        nameof(IsExpanded), 
        typeof(bool), 
        typeof(GroupDescriptorBase), 
        true,  // the default right now is true... do not change that because no breaking changes
        propertyChanged: OnIsExpandedChanged);
    
    static void OnIsExpandedChanged(BindableObject bindable, object oldValue, object newValue)
    {
        if (bindable is GroupDescriptorBase self)
        {
            if (!(bool)newValue)
            {
                // PLEASE DO NOT START WITH GROUPS EXPANDED
            }
        }
    }
}

 

Or you could even put it a little lower, next to the BindableProperty SortOrder:

Thank you for your consideration,

Jian

 

on the GroupDefinition is to have a IsExap

Completed
Last Updated: 13 Nov 2024 15:26 by ADMIN
Support for relative source binding in the Listview ItemTemplate/SwipeTemplate
Completed
Last Updated: 17 Sep 2024 11:56 by ADMIN

Hi Team,

Please expose the ScrollViewer, or expose a method on the RadListView that allows the developer to set a Y device-independent vertical position. Setting the Y value will trigger the internal/native scrollview to go to that position without any special animations or manipulation. Just a pure position set.

I need to be able to programmatically scroll to a specific position in the list. Yes, I am aware of the ScrollToItem methods, however that will not work in my case as I explicitly need the Y position (for acceleration and manipulation of the exact position).

As an example, here's how I am currently doing it for a ScrollView:

private async Task AutoScrollAsync()
        {
            while (!(this.ScrollVelocity == 0 || this.ScrollVelocity > 0 && this.IsScrolledToBottom() || this.ScrollVelocity < 0 && this.IsScrolledToTop()))
            {
                await this.scrollView.ScrollToAsync(0, this.CalculateNextScrollY(), false);
                await Task.Delay(ScrollDelay);
            }

            this.StopScrolling();
        }

I am hoping to be able to do the same thing for the RadListView.

Thank you,

Aaron

Completed
Last Updated: 17 Sep 2024 09:33 by ADMIN
Created by: Vaibhav
Comments: 1
Category: ListView
Type: Feature Request
2
 I want to use the TemplateSelector for the group header. 
Completed
Last Updated: 17 Sep 2024 09:03 by ADMIN
Exception in a very custom scenario and GroupHeaderTemplate usage. 
filtering the ListView by using additional buttons, and bindable filter descriptors
Completed
Last Updated: 17 Sep 2024 08:33 by ADMIN

When having a nested grid layouts with auto and definitive row heights, the content in the ListView ItemTemplate is not property sized only on iOS. On Android, MacCatalyst and WinUI the content is property sized. 

Solution:

1. Using only auto-sized grid rows, 

2. Using grouping and simplifying the layout, removing nested grid layouts, and using a vertical stack. 

Completed
Last Updated: 17 Sep 2024 08:12 by ADMIN

When setting margin to the elements in the template, the margin is not respected

 

Completed
Last Updated: 17 Sep 2024 08:06 by ADMIN
The iOS app loads a long time when the "IsItemsReorderEnabled" property is set to true and the screen orientation is changed while staying on the page.
Completed
Last Updated: 17 Sep 2024 08:00 by ADMIN

Since migrating to MAUI .NET8 GA 8.0.3 (and Telerik 6.5) - on iOS the RadListView keeps repeatedly triggering the defined LoadOnDemand command to get more items even though list has not been scrolled by user. 

the behavior is valid for the command, event and collection and when automatic load on demand mode is used. 

 

When using manual mode, it works as expected.

Completed
Last Updated: 16 Sep 2024 15:38 by ADMIN

Having ContentViews for left and right item swipe

  • Remove an Item from the List View Collection using right swipe content (The Item Source is then re-initialized as a new Observable Collection)
  • Attempt to perform a Swipe Gesture on any list view item.

The ListView crashes

Completed
Last Updated: 12 Sep 2024 14:30 by ADMIN

The bug can be reproduced quite easily with the SDK examples. Choose any ListView example from the LoadOnDemand category that uses LoadOnDemandMode set to Automatic, e.g. ListView/LoadOnDemand/LoadOnDemandEvent. Remove the initial items from the ItemsSource:

public ViewModel()
{
    this.Source = new ObservableCollection<string>();
    //for (int i = 0; i < 14; i++)
    //{
    //    this.Source.Add(string.Format("Item {0}", i));
    //}
    this.LoadItemsCommand = new Command(this.LoadItemsCommandExecute);
}

Run the example to observe the exception almost immediately.

Duplicated
Last Updated: 12 Sep 2024 13:53 by ADMIN
Pull to refresh stops working when opening a popup from an item in the ListView
1 2 3