Mini Kabibi Habibi
<local:TreeListDemoModule x:Class="TreeListDemo.BandedView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:global="clr-namespace:System.Globalization;assembly=mscorlib"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:local="clr-namespace:TreeListDemo"
xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase"
xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800">
<local:TreeListDemoModule.Resources>
<ResourceDictionary>
<local:SpaceObjectsViewModel x:Key="spaceObjectsViewModel" />
</ResourceDictionary>
</local:TreeListDemoModule.Resources>
<dxdb:DemoModuleControl>
<dxdb:DemoModuleControl.OptionsContent>
<StackPanel>
<dx:GroupFrame Header="Bands Layout Options" Margin="0,0,0,12">
<StackPanel>
<dxe:CheckEdit x:Name="showBandsPanelCheckEdit" Content="Show Bands Panel" IsChecked="{Binding Path=View.ShowBandsPanel, Mode=TwoWay}" Margin="0,0,0,4"/>
<dxe:CheckEdit x:Name="allowChangeColumnParentCheckEdit" Content="Allow Change Column Parent" IsChecked="{Binding Path=View.AllowChangeColumnParent, Mode=TwoWay}" Margin="0,0,0,4"/>
<dxe:CheckEdit x:Name="allowChangeBandParentCheckEdit" Content="Allow Change Band Parent" IsChecked="{Binding Path=View.AllowChangeBandParent, Mode=TwoWay}" Margin="0,0,0,4"/>
<dxe:CheckEdit x:Name="showBandsInCustomizationFormCheckEdit" Content="Show Bands In Customization Form" IsChecked="{Binding Path=View.ShowBandsInCustomizationForm, Mode=TwoWay}" Margin="0,0,0,4"/>
<dxe:CheckEdit x:Name="allowBandMovingCheckEdit" Content="Allow Band Moving" IsChecked="{Binding Path=View.AllowBandMoving, Mode=TwoWay}" Margin="0,0,0,4"/>
<dxe:CheckEdit x:Name="allowBandResizingCheckEdit" Content="Allow Band Resizing" IsChecked="{Binding Path=View.AllowBandResizing, Mode=TwoWay}" Margin="0,0,0,4"/>
</StackPanel>
</dx:GroupFrame>
<dx:GroupFrame Header="TreeListView Options" Margin="0,0,0,12">
<StackPanel>
<dxe:CheckEdit x:Name="autoWidthCheckEdit" Content="Auto Width" IsChecked="{Binding Path=View.AutoWidth, Mode=TwoWay}" Margin="0,0,0,4"/>
<dxe:CheckEdit x:Name="allowPerPixelScrollingCheckEdit" Content="Allow Per Pixel Scrolling" IsChecked="{Binding Path=View.AllowPerPixelScrolling, Mode=TwoWay}" Margin="0,0,0,4"/>
<dxe:CheckEdit x:Name="showAutoFilterRowCheckEdit" Content="Show Auto Filter Row" IsChecked="{Binding Path=View.ShowAutoFilterRow, Mode=TwoWay}" Margin="0,0,0,4"/>
<dxe:CheckEdit x:Name="allowMovingCheckEdit" Content="Allow Moving" IsChecked="{Binding Path=View.AllowColumnMoving, Mode=TwoWay}" Margin="0,0,0,4"/>
<dxe:CheckEdit x:Name="allowResizingCheckEdit" Content="Allow Resizing" IsChecked="{Binding Path=View.AllowResizing, Mode=TwoWay}" Margin="0,0,0,4"/>
</StackPanel>
</dx:GroupFrame>
</StackPanel>
</dxdb:DemoModuleControl.OptionsContent>
<dxg:TreeListControl x:Name="treeList" DataContext="{StaticResource spaceObjectsViewModel}" ItemsSource="{Binding Path=SpaceObjects}">
<dxg:TreeListControl.Bands>
<dxg:TreeListControlBand Header="Main">
<dxg:TreeListColumn FieldName="Name"/>
<dxg:TreeListColumn FieldName="TypeOfObject" Header="Type of object" dxg:BandBase.GridRow="1"/>
</dxg:TreeListControlBand>
<dxg:TreeListControlBand Header="Details">
<dxg:TreeListControlBand.Bands>
<dxg:TreeListControlBand Header="Absolute Values">
<dxg:TreeListColumn FieldName="MeanRadiusInKM" Header="Mean radius (km)"/>
<dxg:TreeListColumn FieldName="Volume10pow9KM3" Header="Volume (10⁹ km³)">
<dxg:TreeListColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Right" MaskType="Numeric" Mask="f" MaskUseAsDisplayFormat="True" />
</dxg:TreeListColumn.EditSettings>
</dxg:TreeListColumn>
<dxg:TreeListColumn FieldName="Mass10pow21kg" Header="Mass (10²¹kg)" dxg:BandBase.GridRow="1"/>
<dxg:TreeListColumn FieldName="SurfaceGravitymBys2" Header="Surface gravity (m/s²)" dxg:BandBase.GridRow="1"/>
</dxg:TreeListControlBand>
<dxg:TreeListControlBand Header="Relative to Earth Values">
<dxg:TreeListColumn FieldName="MeanRadiusByEarth" Header="Mean radius">
<dxg:TreeListColumn.EditSettings>
<dxe:TextEditSettings HorizontalContentAlignment="Right" MaskType="Numeric" Mask="f" MaskUseAsDisplayFormat="True" />
</dxg:TreeListColumn.EditSettings>
</dxg:TreeListColumn>
<dxg:TreeListColumn FieldName="VolumeRByEarth" Header="Volume" />
<dxg:TreeListColumn FieldName="MassByEarth" Header="Mass" dxg:BandBase.GridRow="1"/>
<dxg:TreeListColumn FieldName="SurfaceGravityByEarth" Header="Surface gravity" dxg:BandBase.GridRow="1" />
</dxg:TreeListControlBand>
</dxg:TreeListControlBand.Bands>
</dxg:TreeListControlBand>
<dxg:TreeListControlBand Header="Picture">
<dxg:TreeListColumn FieldName="ImageData" Header="Icon" AllowEditing="False">
<dxg:TreeListColumn.CellTemplate>
<DataTemplate>
<dxe:ImageEdit x:Name="PART_Editor" Stretch="Uniform" Height="50" ToolTipService.ToolTip="Courtesy NASA/JPL-Caltech."/>
</DataTemplate>
</dxg:TreeListColumn.CellTemplate>
</dxg:TreeListColumn>
</dxg:TreeListControlBand>
</dxg:TreeListControl.Bands>
<dxg:TreeListControl.View>
<dxg:TreeListView x:Name="view" KeyFieldName="ObjectId" ParentFieldName="ParentId" AutoWidth="True" AutoExpandAllNodes="True" AllowPerPixelScrolling="True" AllowChangeBandParent="True" AllowChangeColumnParent="True"/>
</dxg:TreeListControl.View>
</dxg:TreeListControl>
</dxdb:DemoModuleControl>
</local:TreeListDemoModule>