MainWindow.xaml 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <Window xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:viewModels="using:VirtualizationDemo.ViewModels"
  4. x:Class="VirtualizationDemo.MainWindow"
  5. Title="AvaloniaUI Virtualization Test"
  6. Width="800"
  7. Height="600"
  8. x:DataType="viewModels:MainWindowViewModel">
  9. <DockPanel LastChildFill="True" Margin="16">
  10. <StackPanel DockPanel.Dock="Right"
  11. Margin="16 0 0 0"
  12. MinWidth="150"
  13. Spacing="4">
  14. <ComboBox Items="{Binding VirtualizationModes}"
  15. SelectedItem="{Binding VirtualizationMode}"/>
  16. <ComboBox Items="{Binding Orientations}"
  17. SelectedItem="{Binding Orientation}"/>
  18. <TextBox Watermark="Item Count"
  19. UseFloatingWatermark="True"
  20. Text="{Binding ItemCount}"/>
  21. <TextBox Watermark="Extent"
  22. UseFloatingWatermark="True"
  23. Text="{Binding #listBox.Scroll.Extent, Mode=OneWay}"/>
  24. <TextBox Watermark="Offset"
  25. UseFloatingWatermark="True"
  26. Text="{Binding #listBox.Scroll.Offset, Mode=OneWay}"/>
  27. <TextBox Watermark="Viewport"
  28. UseFloatingWatermark="True"
  29. Text="{Binding #listBox.Scroll.Viewport, Mode=OneWay}"/>
  30. <TextBlock>Horiz. ScrollBar</TextBlock>
  31. <ComboBox Items="{Binding ScrollBarVisibilities}"
  32. SelectedItem="{Binding HorizontalScrollBarVisibility}"/>
  33. <TextBlock>Vert. ScrollBar</TextBlock>
  34. <ComboBox Items="{Binding ScrollBarVisibilities}"
  35. SelectedItem="{Binding VerticalScrollBarVisibility}"/>
  36. <TextBox Watermark="Item to Create"
  37. UseFloatingWatermark="True"
  38. Text="{Binding NewItemString}"/>
  39. <Button Command="{Binding AddItemCommand}">Add Item</Button>
  40. <Button Command="{Binding RemoveItemCommand}">Remove Item</Button>
  41. <Button Command="{Binding RecreateCommand}">Recreate</Button>
  42. <Button Command="{Binding SelectFirstCommand}">Select First</Button>
  43. <Button Command="{Binding SelectLastCommand}">Select Last</Button>
  44. <Button Command="{Binding RandomizeSize}">Randomize Size</Button>
  45. <Button Command="{Binding ResetSize}">Reset Size</Button>
  46. </StackPanel>
  47. <ListBox Name="listBox"
  48. Items="{Binding Items}"
  49. Selection="{Binding Selection}"
  50. SelectionMode="Multiple"
  51. VirtualizationMode="{Binding VirtualizationMode}"
  52. ScrollViewer.HorizontalScrollBarVisibility="{Binding HorizontalScrollBarVisibility, Mode=TwoWay}"
  53. ScrollViewer.VerticalScrollBarVisibility="{Binding VerticalScrollBarVisibility, Mode=TwoWay}">
  54. <ListBox.ItemsPanel>
  55. <ItemsPanelTemplate>
  56. <VirtualizingStackPanel Orientation="{Binding Orientation}"/>
  57. </ItemsPanelTemplate>
  58. </ListBox.ItemsPanel>
  59. <ListBox.ItemTemplate>
  60. <DataTemplate>
  61. <TextBlock Text="{Binding Header}" Height="{Binding Height}" TextWrapping="Wrap"/>
  62. </DataTemplate>
  63. </ListBox.ItemTemplate>
  64. </ListBox>
  65. </DockPanel>
  66. </Window>