unoplatform / uno

Open-source platform for building cross-platform native Mobile, Web, Desktop and Embedded apps quickly. Create rich, C#/XAML, single-codebase apps from any IDE. Hot Reload included! 90m+ NuGet Downloads!!
https://platform.uno
Apache License 2.0
9.08k stars 739 forks source link

`KeepLastItemInView` does not work for `ListView` #4257

Open xperiandri opened 4 years ago

xperiandri commented 4 years ago

I need a chat like ListView.

According to this sample image this must be achieved by

<ItemsPanelTemplate>
  <ItemsStackPanel VerticalAlignment="Bottom" ItemsUpdatingScrollMode="KeepLastItemInView" />
</ItemsPanelTemplate>

Current behavior

But the ListView does not scroll to the last item

Expected behavior

ListView is scrolled to the last item when added

How to reproduce it (as minimally and precisely as possible)

KeepLastItemInView repro.zip

Workaround

Write your own logic to do scrolling

Environment

Nuget Package Version(s):

<PackageReference Include="DisposableFixer" Version="3.3.0" />
<PackageReference Include="Elmish" Version="3.1.0" />
<PackageReference Include="ErrorProne.NET.CoreAnalyzers" Version="0.1.2" PrivateAssets="all">
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="ErrorProne.NET.Structs" Version="0.1.2" PrivateAssets="all">
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="FSharp.Core" Version="4.7.2" />
<PackageReference Include="FSharpPlus" Version="1.1.4" />
<PackageReference Include="FSharpx.Extras" Version="2.5.0" />
<PackageReference Include="Microsoft.CodeAnalysis" Version="3.7.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.8" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="3.1.8" />
<PackageReference Include="Puma.Security.Rules" Version="2.4.6" PrivateAssets="all">
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Roslynator.Analyzers" Version="3.0.0" PrivateAssets="all">
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="System.Runtime" Version="4.3.1" />
<PackageReference Include="Uno.Microsoft.Toolkit.Uwp.UI" Version="6.1.0-build.191.gc988bdd4ff" />
<PackageReference Include="Uno.Microsoft.Xaml.Behaviors.Interactivity" Version="2.0.2-uno.79" />
<PackageReference Include="Uno.Microsoft.Xaml.Behaviors.Uwp.Managed" Version="2.0.2-uno.79" />
<PackageReference Include="Uno.UI.WebAssembly" Version="3.0.17" />
<PackageReference Include="Uno.UI.RemoteControl" Version="3.0.17" Condition="'$(Configuration)'=='Debug'" />
<PackageReference Include="Uno.Wasm.Bootstrap" Version="1.3.4" />
<PackageReference Include="Uno.Wasm.Bootstrap.DevServer" Version="1.3.4" />
<PackageReference Include="Uno.WindowsStateTriggers" Version="1.1.1-uno.132" />

Affected platform(s):

xperiandri commented 4 years ago

Bottom alignment also does not work

Android chat
davidjohnoliver commented 4 years ago

Similar to this issue: https://github.com/unoplatform/uno/issues/166