diff --git a/samples/VirtualizationTest/MainWindow.xaml b/samples/VirtualizationTest/MainWindow.xaml index 3fd25eb176..db256a032d 100644 --- a/samples/VirtualizationTest/MainWindow.xaml +++ b/samples/VirtualizationTest/MainWindow.xaml @@ -1,13 +1,25 @@ - + + + + - + diff --git a/samples/VirtualizationTest/Program.cs b/samples/VirtualizationTest/Program.cs index 5bbf01f428..8958605a3b 100644 --- a/samples/VirtualizationTest/Program.cs +++ b/samples/VirtualizationTest/Program.cs @@ -4,6 +4,8 @@ using System; using Avalonia; using Avalonia.Controls; +using Avalonia.Logging.Serilog; +using Serilog; namespace VirtualizationTest { @@ -11,10 +13,22 @@ namespace VirtualizationTest { static void Main(string[] args) { + InitializeLogging(); + AppBuilder.Configure() .UseWin32() .UseDirect2D1() .Start(); } + + private static void InitializeLogging() + { +#if DEBUG + SerilogLogger.Initialize(new LoggerConfiguration() + .MinimumLevel.Warning() + .WriteTo.Trace(outputTemplate: "{Area}: {Message}") + .CreateLogger()); +#endif + } } } diff --git a/samples/VirtualizationTest/ViewModels/ItemViewModel.cs b/samples/VirtualizationTest/ViewModels/ItemViewModel.cs index f0cf69c23e..32acdd4336 100644 --- a/samples/VirtualizationTest/ViewModels/ItemViewModel.cs +++ b/samples/VirtualizationTest/ViewModels/ItemViewModel.cs @@ -2,10 +2,11 @@ // Licensed under the MIT license. See licence.md file in the project root for full license information. using System; +using ReactiveUI; namespace VirtualizationTest.ViewModels { - internal class ItemViewModel + internal class ItemViewModel : ReactiveObject { private int _index; diff --git a/samples/VirtualizationTest/VirtualizationTest.csproj b/samples/VirtualizationTest/VirtualizationTest.csproj index bbe5882de9..ed7a340234 100644 --- a/samples/VirtualizationTest/VirtualizationTest.csproj +++ b/samples/VirtualizationTest/VirtualizationTest.csproj @@ -36,6 +36,14 @@ + + ..\..\packages\Serilog.1.5.14\lib\net45\Serilog.dll + True + + + ..\..\packages\Serilog.1.5.14\lib\net45\Serilog.FullNetFx.dll + True + ..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll True @@ -114,6 +122,10 @@ {42472427-4774-4c81-8aff-9f27b8e31721} Avalonia.Layout + + {B61B66A3-B82D-4875-8001-89D3394FE0C9} + Avalonia.Logging.Serilog + {6417b24e-49c2-4985-8db2-3ab9d898ec91} Avalonia.ReactiveUI diff --git a/samples/VirtualizationTest/packages.config b/samples/VirtualizationTest/packages.config index 9613b3fccb..782e7fbf2c 100644 --- a/samples/VirtualizationTest/packages.config +++ b/samples/VirtualizationTest/packages.config @@ -5,5 +5,6 @@ + \ No newline at end of file diff --git a/src/Avalonia.Controls/ListBox.cs b/src/Avalonia.Controls/ListBox.cs index eddadc2846..84e4751d37 100644 --- a/src/Avalonia.Controls/ListBox.cs +++ b/src/Avalonia.Controls/ListBox.cs @@ -21,6 +21,12 @@ namespace Avalonia.Controls private static readonly FuncTemplate DefaultPanel = new FuncTemplate(() => new VirtualizingStackPanel()); + /// + /// Defines the property. + /// + public static readonly DirectProperty ScrollProperty = + AvaloniaProperty.RegisterDirect(nameof(Scroll), o => o.Scroll); + /// /// Defines the property. /// @@ -39,6 +45,8 @@ namespace Avalonia.Controls public static readonly AvaloniaProperty VirtualizationModeProperty = ItemsPresenter.VirtualizationModeProperty.AddOwner(); + private IScrollable _scroll; + /// /// Initializes static members of the class. /// @@ -50,7 +58,11 @@ namespace Avalonia.Controls /// /// Gets the scroll information for the . /// - public IScrollable Scroll { get; set; } + public IScrollable Scroll + { + get { return _scroll; } + private set { SetAndRaise(ScrollProperty, ref _scroll, value); } + } /// public new IList SelectedItems => base.SelectedItems;