MainWindow.xaml 3.3 KB

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