Advertisement
Guest User

Untitled

a guest
Mar 27th, 2013
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 8.06 KB | None | 0 0
  1. <Window x:Class="DemoDataGrid.MainWindow"
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.         xmlns:wpf="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
  5.         Title="MainWindow" Height="350" Width="525"
  6.         Name="mainWindow">
  7.    <Window.Resources>
  8.        <Style TargetType="{x:Type wpf:DataGridCell}" x:Key="DefaultExcelCell">
  9.            <Setter Property="BorderThickness" Value="0"/>
  10.            <Setter Property="TextBlock.TextAlignment" Value="Right" />
  11.            <Style.Triggers>
  12.                <Trigger Property="IsSelected" Value="True">
  13.                    <Setter Property="Background" Value="Transparent" />
  14.                    <Setter Property="Foreground" Value="DarkBlue" />
  15.                </Trigger>
  16.            </Style.Triggers>
  17.        </Style>
  18.         <Style TargetType="{x:Type wpf:DataGridCell}" x:Key="ReadonlyDefaultExcelCell" BasedOn="{StaticResource DefaultExcelCell}">
  19.        </Style>
  20.         <Style TargetType="{x:Type wpf:DataGrid}" x:Key="DefaultExcelGrid">
  21.            <Setter Property="BorderThickness" Value="0" />
  22.            <!-- Both are need for transparency -->
  23.            <Setter Property="RowBackground" Value="Transparent" />
  24.            <Setter Property="Background" Value="Transparent" />
  25.            <!-- Default cell and column stuff -->
  26.            <Setter Property="GridLinesVisibility" Value="None" />
  27.            <Setter Property="CellStyle" Value="{StaticResource DefaultExcelCell}" />
  28.            <!-- Selection -->
  29.            <Setter Property="SelectionMode" Value="Single" />
  30.            <Setter Property="SelectionUnit" Value="FullRow" />
  31.            <!-- Default Excel styling  -->
  32.            <Setter Property="AutoGenerateColumns" Value="False" />
  33.            <Setter Property="HeadersVisibility" Value="None" />
  34.            <Setter Property="Margin" Value="50,0,50,0" />
  35.            <!-- Disabled because it will be done with MVVM -->
  36.            <Setter Property="CanUserAddRows" Value="False" />
  37.            <!-- Default button images -->
  38.            <!--
  39.         <Setter Property="AddButtonImage" Value="pack://application:,,,/WpSoft;component/Resources/button_add.png" />
  40.        <Setter Property="DeleteButtonImage" Value="pack://application:,,,/WpSoft;component/Resources/button_delete.png" />
  41.        -->
  42.        </Style>
  43.         <Style TargetType="{x:Type wpf:DataGrid}" x:Key="ReadonlyDefaultExcelGrid" BasedOn="{StaticResource DefaultExcelGrid}">
  44.            <Setter Property="CellStyle" Value="{StaticResource ReadonlyDefaultExcelCell}" />
  45.            <Setter Property="CanUserDeleteRows" Value="False" />
  46.            <Setter Property="IsReadOnly" Value="True" />
  47.        </Style>
  48.         <Style TargetType="{x:Type wpf:DataGrid}" BasedOn="{StaticResource DefaultExcelGrid}">
  49.        </Style>
  50.        
  51.     </Window.Resources>
  52.    <Grid>
  53.        <ScrollViewer>
  54.            <StackPanel Width="400">
  55.                <wpf:DataGrid ItemsSource="{Binding DataGridDS, ElementName=mainWindow}"
  56.                               VirtualizingStackPanel.IsVirtualizing="False">
  57.                    <wpf:DataGrid.Columns>
  58.                        <wpf:DataGridTextColumn Binding="{Binding Col1}" Width="*" />
  59.                        <wpf:DataGridTextColumn Binding="{Binding Col2}" Width="100" />
  60.                        <wpf:DataGridTextColumn Binding="{Binding Col3}" Width="100" />
  61.                    </wpf:DataGrid.Columns>
  62.                </wpf:DataGrid>
  63.                
  64.                 <TextBlock>-----------------------2--------------------</TextBlock>
  65.                 <wpf:DataGrid ItemsSource="{Binding DataGridDS, ElementName=mainWindow}"
  66.                               VirtualizingStackPanel.IsVirtualizing="False">
  67.                    <wpf:DataGrid.Columns>
  68.                        <wpf:DataGridTextColumn Binding="{Binding Col1}" Width="*" />
  69.                        <wpf:DataGridTextColumn Binding="{Binding Col2}" Width="100" />
  70.                        <wpf:DataGridTextColumn Binding="{Binding Col3}" Width="100" />
  71.                    </wpf:DataGrid.Columns>
  72.                </wpf:DataGrid>
  73.                 <TextBlock>-----------------------3--------------------</TextBlock>
  74.                 <wpf:DataGrid ItemsSource="{Binding DataGridDS, ElementName=mainWindow}">
  75.                    <wpf:DataGrid.Columns>
  76.                        <wpf:DataGridTextColumn Binding="{Binding Col1}" />
  77.                        <wpf:DataGridTextColumn Binding="{Binding Col2}" />
  78.                        <wpf:DataGridTextColumn Binding="{Binding Col3}" />
  79.                    </wpf:DataGrid.Columns>
  80.                </wpf:DataGrid>
  81.                 <TextBlock>------------------------4-------------------</TextBlock>
  82.                 <wpf:DataGrid ItemsSource="{Binding DataGridDS, ElementName=mainWindow}">
  83.                    <wpf:DataGrid.Columns>
  84.                        <wpf:DataGridTextColumn Binding="{Binding Col1}" />
  85.                        <wpf:DataGridTextColumn Binding="{Binding Col2}" />
  86.                        <wpf:DataGridTextColumn Binding="{Binding Col3}" />
  87.                    </wpf:DataGrid.Columns>
  88.                </wpf:DataGrid>
  89.                 <TextBlock>------------------------A-------------------</TextBlock>
  90.                 <ItemsControl ItemsSource="{Binding DataGridDS, ElementName=mainWindow}">
  91.                    <ItemsControl.ItemTemplate>
  92.                        <DataTemplate>
  93.                            <Grid>
  94.                                <Grid.ColumnDefinitions>
  95.                                    <ColumnDefinition />
  96.                                    <ColumnDefinition />
  97.                                    <ColumnDefinition />
  98.                                </Grid.ColumnDefinitions>
  99.                                <Grid.RowDefinitions>
  100.                                    <RowDefinition />
  101.                                </Grid.RowDefinitions>
  102.                                
  103.                                 <TextBlock TextWrapping="Wrap" Text="{Binding Col1}" Grid.Column="0" />
  104.                                <TextBlock TextWrapping="Wrap" Text="{Binding Col2}" Grid.Column="1" />
  105.                                <TextBlock TextWrapping="Wrap" Text="{Binding Col3}" Grid.Column="2" />
  106.                            </Grid>
  107.                        </DataTemplate>
  108.                    </ItemsControl.ItemTemplate>
  109.                </ItemsControl>
  110.                 <TextBlock>------------------------B-------------------</TextBlock>
  111.                 <ItemsControl ItemsSource="{Binding DataGridDS, ElementName=mainWindow}">
  112.                    <ItemsControl.ItemsPanel>
  113.                        <ItemsPanelTemplate>
  114.                            <VirtualizingStackPanel />
  115.                        </ItemsPanelTemplate>
  116.                    </ItemsControl.ItemsPanel>
  117.                    <ItemsControl.ItemTemplate>
  118.                        <DataTemplate>
  119.                            <Grid>
  120.                                <Grid.ColumnDefinitions>
  121.                                    <ColumnDefinition />
  122.                                    <ColumnDefinition />
  123.                                    <ColumnDefinition />
  124.                                </Grid.ColumnDefinitions>
  125.                                <Grid.RowDefinitions>
  126.                                    <RowDefinition />
  127.                                </Grid.RowDefinitions>
  128.                                 <TextBlock TextWrapping="Wrap" Text="{Binding Col1}" Grid.Column="0" />
  129.                                <TextBlock TextWrapping="Wrap" Text="{Binding Col2}" Grid.Column="1" />
  130.                                <TextBlock TextWrapping="Wrap" Text="{Binding Col3}" Grid.Column="2" />
  131.                            </Grid>
  132.                        </DataTemplate>
  133.                    </ItemsControl.ItemTemplate>
  134.                </ItemsControl>
  135.                 <TextBlock>------------------------C-------------------</TextBlock>
  136.             </StackPanel>
  137.        </ScrollViewer>
  138.    </Grid>
  139. </Window>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement