C# XAML example gridlayout + splitter

Date: 2019-11-15
<Pages:GridBasePage MinWidth="1000"  xmlns:Pages="clr-namespace:Uniconta.ClientTools.Page;assembly=ClientTools"
					xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
					xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
					xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
					xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
					xmlns:UnicontaControls="clr-namespace:Uniconta.ClientTools.Controls;assembly=ClientTools"
					xmlns:ClientTools="clr-namespace:Uniconta.ClientTools;assembly=ClientTools"
					xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
					xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxwui="http://schemas.devexpress.com/winfx/2008/xaml/windowsui" 
					xmlns:dxlc="http://schemas.devexpress.com/winfx/2008/xaml/layoutcontrol" 
					x:Class="Plugin.Views.EdiOrderForm">
	<StackPanel>
		<UnicontaControls:UnicontaRibbonControl x:Name="localMenu" />

		<Grid>
			<Grid.ColumnDefinitions>
				<ColumnDefinition Width="*" />
				<ColumnDefinition Width="5" />
				<ColumnDefinition Width="*" />
			</Grid.ColumnDefinitions>
			<Grid.RowDefinitions>
				<RowDefinition Height="1*" />
			</Grid.RowDefinitions>

			<StackPanel Grid.Column="0" Margin="5">
				<WrapPanel>
					<Label Content="Order berichten" />
				</WrapPanel>
				<dxg:GridControl x:Name="headerGrid" Height="500" SelectionMode="None" SelectedItem="{Binding Path=SelectedVmAlgemeneConfiguratie}"
								  AutoGenerateColumns="None" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
								 Grid.ColumnSpan="2" Grid.Row="2" ItemsSource="{Binding Path=AlgemeneConfiguratieLines, Mode=OneWay}" >
					<dxg:GridControl.View>
						<dxg:TableView AllowColumnFiltering="False" AllowSorting="False" ShowFixedTotalSummary="True"  AllowPerPixelScrolling="True" 
										   ShowGroupPanel="False"  ShowIndicator="False" EnableImmediatePosting="True" 
										   NewItemRowPosition="Bottom" ColumnFilterPopupMode="ExcelSmart" />
					</dxg:GridControl.View>

					<dxg:GridControl.Columns>
						<dxg:GridColumn FieldName="Date" Header="Date" Width="150" />
						<dxg:GridColumn FieldName="Message.BuyerGLN" Header="Klant GLN" Width="200" />
						<dxg:GridColumn FieldName="Message.MatchedDebtorClient" Header="Klant" Width="200" />
						<dxg:GridColumn FieldName="Status" Header="Status" Width="200" />
					</dxg:GridControl.Columns>
				</dxg:GridControl>
			</StackPanel>
			<GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />

			<Grid Grid.Column="2" Margin="5">
				<Grid.RowDefinitions>
					<RowDefinition Height="*" />
					<RowDefinition Height="5" />
					<RowDefinition Height="*" />
				</Grid.RowDefinitions>

				<!--<Label Grid.Row="0" Content="Order artikelen" VerticalContentAlignment="Stretch" />
				<GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" />
				<Label Grid.Row="2" Content="Message detail" VerticalContentAlignment="Stretch"  />-->

				<StackPanel x:Name="detailTopPanel" Grid.Row="0" Height="auto">
					<Label Content="Order artikelen" />
					<dxg:GridControl x:Name="detailGrid" Height="280" SelectionMode="None" SelectedItem="{Binding Path=SelectedVmAlgemeneConfiguratie}"
								AutoGenerateColumns="None" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
								Grid.ColumnSpan="2" Grid.Row="2" ItemsSource="{Binding Path=AlgemeneConfiguratieLines, Mode=OneWay}" >
						<dxg:GridControl.View>
							<dxg:TableView AllowColumnFiltering="False" AllowSorting="False" ShowFixedTotalSummary="True"  AllowPerPixelScrolling="True" 
										ShowGroupPanel="False"  ShowIndicator="False" EnableImmediatePosting="True" 
										NewItemRowPosition="Bottom" ColumnFilterPopupMode="ExcelSmart" />
						</dxg:GridControl.View>

						<dxg:GridControl.Columns>
							<dxg:GridColumn FieldName="LineNumber" Header="Regel" Width="100" />
							<dxg:GridColumn FieldName="ArticleCodeSupplier" Header="Artikelcode" Width="150" />
							<dxg:GridColumn FieldName="ArticleCodeBuyer" Header="Artikelcode klant" Width="150" />
							<dxg:GridColumn FieldName="OrderedQuantity" Header="Aantal" Width="150" />
						</dxg:GridControl.Columns>
					</dxg:GridControl>
				</StackPanel>
				<GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" />
				<StackPanel x:Name="detailBottomPanel" Grid.Row="2" Height="auto">
					<Label Content="Order bericht" />
					<RichTextBox x:Name="textBoxMessage" MinWidth="200" MinHeight="200" IsReadOnly="True">
						<FlowDocument>
							<Paragraph>
							</Paragraph>
						</FlowDocument>
					</RichTextBox>
				</StackPanel>
			</Grid>
		</Grid>
	</StackPanel>
</Pages:GridBasePage>
28770cookie-checkC# XAML example gridlayout + splitter