A cross-platform UI framework for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

125 lines
3.2 KiB

<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dg="clr-namespace:Avalonia.Controls;assembly=Avalonia.DataGrid"
xmlns:local="clr-namespace:DataGridSample;assembly=DataGridSample"
Title="DataGridSample"
Width="800"
Height="600">
<Window.Resources>
<local:GDPValueConverter
x:Key="GDPConverter"/>
</Window.Resources>
<Window.Styles>
<Style Selector="dg|DataGridCell.gdp">
<Setter
Property="FontWeight"
Value="Bold"/>
<Setter
Property="Background"
Value="{Binding Path=GDP, Mode=OneWay, Converter={StaticResource GDPConverter}}"/>
</Style>
</Window.Styles>
<TabControl>
<TabItem Header="DataGrid">
<dg:DataGrid
Name="dataGrid1"
Margin="12"
CanUserResizeColumns="True"
CanUserReorderColumns="True">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn
Header="Country"
Binding="{Binding Name}"
Width="6*" />
<dg:DataGridTextColumn
Header="Region"
Binding="{Binding Region}"
Width="4*"/>
<dg:DataGridTextColumn
Header="Population"
Binding="{Binding Population}"
Width="3*"/>
<dg:DataGridTextColumn
Header="Area"
Binding="{Binding Area}"
Width="3*"/>
<dg:DataGridTextColumn
Header="GDP"
Binding="{Binding GDP}"
Width="3*"
CellStyleClasses="gdp"/>
</dg:DataGrid.Columns>
</dg:DataGrid>
</TabItem>
<TabItem Header="Grouping">
<dg:DataGrid
Name="dataGridGrouping"
Margin="12">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn
Header="Country"
Binding="{Binding Name}"
Width="6*" />
<dg:DataGridTextColumn
Header="Region"
Binding="{Binding Region}"
Width="4*"/>
<dg:DataGridTextColumn
Header="Population"
Binding="{Binding Population}"
Width="3*"/>
<dg:DataGridTextColumn
Header="Area"
Binding="{Binding Area}"
Width="3*"/>
<dg:DataGridTextColumn
Header="GDP"
Binding="{Binding GDP}"
Width="3*"/>
</dg:DataGrid.Columns>
</dg:DataGrid>
</TabItem>
<TabItem Header="Editable">
<Grid
RowDefinitions="*,Auto">
<dg:DataGrid
Name="dataGridEdit"
Margin="12"
Grid.Row="0">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn
Header="First Name"
Binding="{Binding FirstName}"
Width="2*" />
<dg:DataGridTextColumn
Header="Last"
Binding="{Binding LastName}"
Width="*"/>
</dg:DataGrid.Columns>
</dg:DataGrid>
<Button
Grid.Row="1"
Name="btnAdd"
Margin="12,0,12,12"
Content="Add"
HorizontalAlignment="Right"/>
</Grid>
</TabItem>
</TabControl>
</Window>