Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <Window x:Class="DemoDataGrid.MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:wpf="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
- Title="MainWindow" Height="350" Width="525"
- Name="mainWindow">
- <Window.Resources>
- <Style TargetType="{x:Type wpf:DataGridCell}" x:Key="DefaultExcelCell">
- <Setter Property="BorderThickness" Value="0"/>
- <Setter Property="TextBlock.TextAlignment" Value="Right" />
- <Style.Triggers>
- <Trigger Property="IsSelected" Value="True">
- <Setter Property="Background" Value="Transparent" />
- <Setter Property="Foreground" Value="DarkBlue" />
- </Trigger>
- </Style.Triggers>
- </Style>
- <Style TargetType="{x:Type wpf:DataGridCell}" x:Key="ReadonlyDefaultExcelCell" BasedOn="{StaticResource DefaultExcelCell}">
- </Style>
- <Style TargetType="{x:Type wpf:DataGrid}" x:Key="DefaultExcelGrid">
- <Setter Property="BorderThickness" Value="0" />
- <!-- Both are need for transparency -->
- <Setter Property="RowBackground" Value="Transparent" />
- <Setter Property="Background" Value="Transparent" />
- <!-- Default cell and column stuff -->
- <Setter Property="GridLinesVisibility" Value="None" />
- <Setter Property="CellStyle" Value="{StaticResource DefaultExcelCell}" />
- <!-- Selection -->
- <Setter Property="SelectionMode" Value="Single" />
- <Setter Property="SelectionUnit" Value="FullRow" />
- <!-- Default Excel styling -->
- <Setter Property="AutoGenerateColumns" Value="False" />
- <Setter Property="HeadersVisibility" Value="None" />
- <Setter Property="Margin" Value="50,0,50,0" />
- <!-- Disabled because it will be done with MVVM -->
- <Setter Property="CanUserAddRows" Value="False" />
- <!-- Default button images -->
- <!--
- <Setter Property="AddButtonImage" Value="pack://application:,,,/WpSoft;component/Resources/button_add.png" />
- <Setter Property="DeleteButtonImage" Value="pack://application:,,,/WpSoft;component/Resources/button_delete.png" />
- -->
- </Style>
- <Style TargetType="{x:Type wpf:DataGrid}" x:Key="ReadonlyDefaultExcelGrid" BasedOn="{StaticResource DefaultExcelGrid}">
- <Setter Property="CellStyle" Value="{StaticResource ReadonlyDefaultExcelCell}" />
- <Setter Property="CanUserDeleteRows" Value="False" />
- <Setter Property="IsReadOnly" Value="True" />
- </Style>
- <Style TargetType="{x:Type wpf:DataGrid}" BasedOn="{StaticResource DefaultExcelGrid}">
- </Style>
- </Window.Resources>
- <Grid>
- <ScrollViewer>
- <StackPanel Width="400">
- <wpf:DataGrid ItemsSource="{Binding DataGridDS, ElementName=mainWindow}"
- VirtualizingStackPanel.IsVirtualizing="False">
- <wpf:DataGrid.Columns>
- <wpf:DataGridTextColumn Binding="{Binding Col1}" Width="*" />
- <wpf:DataGridTextColumn Binding="{Binding Col2}" Width="100" />
- <wpf:DataGridTextColumn Binding="{Binding Col3}" Width="100" />
- </wpf:DataGrid.Columns>
- </wpf:DataGrid>
- <TextBlock>-----------------------2--------------------</TextBlock>
- <wpf:DataGrid ItemsSource="{Binding DataGridDS, ElementName=mainWindow}"
- VirtualizingStackPanel.IsVirtualizing="False">
- <wpf:DataGrid.Columns>
- <wpf:DataGridTextColumn Binding="{Binding Col1}" Width="*" />
- <wpf:DataGridTextColumn Binding="{Binding Col2}" Width="100" />
- <wpf:DataGridTextColumn Binding="{Binding Col3}" Width="100" />
- </wpf:DataGrid.Columns>
- </wpf:DataGrid>
- <TextBlock>-----------------------3--------------------</TextBlock>
- <wpf:DataGrid ItemsSource="{Binding DataGridDS, ElementName=mainWindow}">
- <wpf:DataGrid.Columns>
- <wpf:DataGridTextColumn Binding="{Binding Col1}" />
- <wpf:DataGridTextColumn Binding="{Binding Col2}" />
- <wpf:DataGridTextColumn Binding="{Binding Col3}" />
- </wpf:DataGrid.Columns>
- </wpf:DataGrid>
- <TextBlock>------------------------4-------------------</TextBlock>
- <wpf:DataGrid ItemsSource="{Binding DataGridDS, ElementName=mainWindow}">
- <wpf:DataGrid.Columns>
- <wpf:DataGridTextColumn Binding="{Binding Col1}" />
- <wpf:DataGridTextColumn Binding="{Binding Col2}" />
- <wpf:DataGridTextColumn Binding="{Binding Col3}" />
- </wpf:DataGrid.Columns>
- </wpf:DataGrid>
- <TextBlock>------------------------A-------------------</TextBlock>
- <ItemsControl ItemsSource="{Binding DataGridDS, ElementName=mainWindow}">
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition />
- <ColumnDefinition />
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition />
- </Grid.RowDefinitions>
- <TextBlock TextWrapping="Wrap" Text="{Binding Col1}" Grid.Column="0" />
- <TextBlock TextWrapping="Wrap" Text="{Binding Col2}" Grid.Column="1" />
- <TextBlock TextWrapping="Wrap" Text="{Binding Col3}" Grid.Column="2" />
- </Grid>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- <TextBlock>------------------------B-------------------</TextBlock>
- <ItemsControl ItemsSource="{Binding DataGridDS, ElementName=mainWindow}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <VirtualizingStackPanel />
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition />
- <ColumnDefinition />
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition />
- </Grid.RowDefinitions>
- <TextBlock TextWrapping="Wrap" Text="{Binding Col1}" Grid.Column="0" />
- <TextBlock TextWrapping="Wrap" Text="{Binding Col2}" Grid.Column="1" />
- <TextBlock TextWrapping="Wrap" Text="{Binding Col3}" Grid.Column="2" />
- </Grid>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- <TextBlock>------------------------C-------------------</TextBlock>
- </StackPanel>
- </ScrollViewer>
- </Grid>
- </Window>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement