How to get the XamDataGrid Control with in the User Control

Jul 9, 2009 at 4:02 PM

This is my user control xaml file that contains the Xamdatagrid......

My Question is how do I get the control from the by writing the instruction _window.Get ??

What will be the steps ???

<UserControl x:Class=" .Client.Infrastructure.Interface.StandardList"

    >

    <UserControl.CommandBindings>

        <CommandBinding Command="{x:Static NavigationCommands.PreviousPage}" Executed="OnPreviousExecuted" CanExecute="OnPreviousCanExecute" />

        <CommandBinding Command="{x:Static NavigationCommands.NextPage}" Executed="OnNextExecuted" CanExecute="OnNextCanExecute" />

        <CommandBinding Command="{x:Static NavigationCommands.GoToPage}" Executed="GoToPage_Executed" CanExecute="GoToPage_CanExecute"/>

        <!--GoToPage-->

    </UserControl.CommandBindings>

    <UserControl.Resources>

        <converter:BeginSearchAdornerConverter x:Key="BeginSearchAdornerConverter" />

        <converter:RecordCountAdornerConverter x:Key="RecordCountAdornerConverter" />

        <converter:SearchingAdornerConverter x:Key="SearchingAdornerConverter" />

        <converter:NumericRangeMaskConverter x:Key="NumericRangeMaskConverter"/>

        <Style x:Key="IsActiveCell" TargetType="{x:Type igDP:CellValuePresenter}">

            <Style.Triggers>

                <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Value}" Value="True">

                    <Setter Property="Template" Value="{ ui:SkinResource StandardListActiveRecord}"/>

                </DataTrigger>

                <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Value}" Value="False">

                    <Setter Property="Template" Value="{ ui:SkinResource StandardListInactiveRecord}"/>

                </DataTrigger>

            </Style.Triggers>

        </Style>

        <Style x:Key="DeleteCell" TargetType="{x:Type igDP:CellValuePresenter}">

            <Setter Property="Template">

                <Setter.Value>

                    <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">

                        <Button local:Resource.Uid="DeleteButton" ToolTip="{local:Resource}" Style="{ ui:SkinResource DeleteButtonStyle}"

                            Command="{x:Static local:StandardList.DeleteItemCommand}" CommandParameter="{Binding Path=DataItem}" />

                    </ControlTemplate>

                </Setter.Value>

            </Setter>

        </Style>

        <Style x:Key="EditCell" TargetType="{x:Type igDP:CellValuePresenter}">

            <Setter Property="Template">

                <Setter.Value>

                    <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">

                        <Button local:Resource.Uid="EditButton" ToolTip="{local:Resource}" Style="{ ui:SkinResource EditButtonStyle}"

                            Command="{x:Static local:StandardList.EditItemCommand}" CommandParameter="{Binding Path=DataItem}" />

                    </ControlTemplate>

                </Setter.Value>

            </Setter>

        </Style>

        <DataTemplate x:Key="RecordsTemplate" DataType="{x:Type local:SearchPaging}">

            <ContentControl x:Name="PART_ContentControl" Focusable="False" IsTabStop="False" VerticalAlignment="Center">

                <local:Resource Uid="RecordsLabel">

                    <Binding Path="Records" />

                </local:Resource>

            </ContentControl>

            <DataTemplate.Triggers>

                <DataTrigger Binding="{Binding Path=Records}" Value="{x:Null}">

                    <Setter TargetName="PART_ContentControl" Property="Visibility" Value="Collapsed" />

                </DataTrigger>

                <!-- Total records should be displayed when number of records is 0 -->

                <!--<DataTrigger Binding="{Binding Path=Records}" Value="0">

                    <Setter TargetName="PART_ContentControl" Property="Visibility" Value="Collapsed" />

                </DataTrigger>-->

            </DataTemplate.Triggers>

        </DataTemplate>

        <DataTemplate x:Key="PagesTemplate" DataType="{x:Type local:SearchPaging}">

            <StackPanel Focusable="False" Orientation="Horizontal" x:Name="PagesPanel" HorizontalAlignment="Right" VerticalAlignment="Center">

                <Grid Margin="5,0,5,0" HorizontalAlignment="Right" VerticalAlignment="Center">

                    <Grid.ColumnDefinitions>

                        <ColumnDefinition Width="Auto"/>

                        <ColumnDefinition/>

                        <ColumnDefinition Width="Auto"/>

                    </Grid.ColumnDefinitions>

                    < ui:ImageButton local:Resource.Uid="PreviousButton" ToolTip="{local:Resource Uid=PreviousButton}" Style="{ ui:SkinResource PreviousButtonStyle}" Command="{x:Static NavigationCommands.PreviousPage}"/>

                    <ContentControl Margin="5,0,5,0" Focusable="False" IsTabStop="False" VerticalAlignment="Center" Grid.Column="1">

                        <local:Resource Uid="PagesLabel">

                            <Binding Path="Page" />

                            <Binding Path="Pages" />

                        </local:Resource>

                    </ContentControl>

                    < ui:ImageButton Grid.Column="2" local:Resource.Uid="NextButton" ToolTip="{local:Resource Uid=NextButton}" Style="{ ui:SkinResource NextButtonStyle}" Command="{x:Static NavigationCommands.NextPage}"/>

                </Grid>

                <Grid Margin="5,0,10,0" HorizontalAlignment="Right" VerticalAlignment="Center">

                    <Grid.ColumnDefinitions>

                        <ColumnDefinition/>

                        <ColumnDefinition Width="Auto"/>

                        <ColumnDefinition Width="Auto"/>

                    </Grid.ColumnDefinitions>

                    <Label local:Resource.Uid="GoToButton" Content="{local:Resource Uid=GoToButton}" Focusable="False" IsTabStop="False" VerticalAlignment="Center" />

                    <igEditors:XamNumericEditor x:Name="TxtGotoPage" Grid.Column="1" Width="50" Margin="5,0,5,0"

                        HorizontalAlignment="Right" VerticalAlignment="Center" HorizontalContentAlignment="Right"                                                        

                        KeyDown="TxtGotoPage_KeyDown" KeyUp="TxtGotoPage_KeyUp">

                        <igEditors:XamMaskedEditor.Mask >

                            <MultiBinding Converter="{StaticResource NumericRangeMaskConverter}" >

                                <Binding Source="1" Path="."/>

                                <Binding Path="Pages"/>

                            </MultiBinding>

                        </igEditors:XamMaskedEditor.Mask>

                    </igEditors:XamNumericEditor>

                    < ui:ImageButton x:Name="GoToButton" local:Resource.Uid="GoToButton" ToolTip="{local:Resource Uid=GoToButton}" 

                        Style="{ ui:SkinResource GoToButtonStyle}" Grid.Column="2"

                        Command="{x:Static NavigationCommands.GoToPage}"                                          

                        CommandParameter="{Binding ElementName=TxtGotoPage, Path=Value}"

                        CommandTarget="{Binding ElementName=Self}"/>

                </Grid>

            </StackPanel>

            <DataTemplate.Triggers>

                <DataTrigger Binding="{Binding Path=Pages}" Value="{x:Null}">

                    <Setter TargetName="PagesPanel" Property="Visibility" Value="Collapsed" />

                </DataTrigger>

                <DataTrigger Binding="{Binding Path=Page}" Value="{x:Null}">

                    <Setter TargetName="PagesPanel" Property="Visibility" Value="Collapsed" />

                </DataTrigger>

                <DataTrigger Binding="{Binding Path=Pages}" Value="1">

                    <Setter TargetName="PagesPanel" Property="Visibility" Value="Collapsed" />

                </DataTrigger>

                <DataTrigger Binding="{Binding Path=Pages}" Value="0">

                    <Setter TargetName="PagesPanel" Property="Visibility" Value="Collapsed" />

                </DataTrigger>

                <DataTrigger Binding="{Binding Path=SupportsPaging}" Value="False">

                    <Setter TargetName="PagesPanel" Property="Visibility" Value="Collapsed" />

                </DataTrigger>

            </DataTemplate.Triggers>

        </DataTemplate>

    </UserControl.Resources>

    <Grid Margin="0,5,0,0" Focusable="False" >

        <Border BorderThickness="0.5,0.5,0.5,0.5" CornerRadius="4" BorderBrush="{ ui:SkinResource GridBorder}" Background="{ ui:SkinResource GridBackground}">

            <DockPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" LastChildFill="True">

                <Border x:Name="GridHeader" DockPanel.Dock="Top">

                    <Border.Style>

                        <Style TargetType="Border">

                            <Setter Property="Height" Value="36"/>

                            <Setter Property="Margin" Value="0.5,0.5,0.5,0"/>

                            <Setter Property="CornerRadius" Value="4,4,0,0" />

                            <Setter Property="HorizontalAlignment" Value="Stretch"/>

                            <Setter Property="VerticalAlignment" Value="Stretch"/>

                            <Setter Property="Visibility" Value="Collapsed" />

                            <Setter Property="Background" Value="{ ui:SkinResource StyleHover}" />

                            <Style.Triggers>

                                <DataTrigger Binding="{Binding ElementName=AddButton, Path=IsEnabled}" Value="True">

                                    <Setter Property="Visibility" Value="Visible" />

                                </DataTrigger>

                                <DataTrigger Binding="{Binding ElementName=SearchPanel, Path=Visibility}" Value="Visible">

                                    <Setter Property="Visibility" Value="Visible" />

                                </DataTrigger>

                                <DataTrigger Binding="{Binding Path=Source.SupportsPaging}" Value="True">

                                    <Setter Property="Visibility" Value="Visible" />

                                </DataTrigger>

                                <!--<MultiDataTrigger>

                                    <MultiDataTrigger.Conditions>

                                        <Condition Binding="{Binding Path=ViewMode}" Value="True"/>

                                        <Condition Binding="{Binding ElementName=AddButton, Path=IsEnabled}" Value="False" />

                                        <Condition Binding="{Binding ElementName=SearchPanel, Path=Visibility}" Value="Collapsed" />

                                        <Condition Binding="{Binding Path=Source.SupportsPaging}" Value="False" />

                                    </MultiDataTrigger.Conditions>

                                    <Setter Property="Visibility" Value="Collapsed" />

                                </MultiDataTrigger>-->

                            </Style.Triggers>

                        </Style>

                    </Border.Style>

                    <DockPanel Focusable="False" Margin="10,0,10,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" KeyboardNavigation.TabNavigation="Local">

                        <Button Name="AddButton" DockPanel.Dock="Left" Margin="0,0,10,0" Content="{local:Resource}" local:Resource.Uid="AddButton" Style="{ ui:SkinResource IconButtonStyle}"

                            Tag="{ ui:SkinResource icon_Add}" KeyboardNavigation.TabIndex="0" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="{local:Resource}" Command="{x:Static local:StandardList.AddItemCommand}"/>

                        <ItemsControl x:Name="CustomControlPanel" Margin="0,0,10,0" DockPanel.Dock="Left" HorizontalAlignment="Left" VerticalAlignment="Center">

                            <ItemsControl.ItemsPanel>

                                <ItemsPanelTemplate>

                                    <StackPanel Orientation="Horizontal"/>

                                </ItemsPanelTemplate>

                            </ItemsControl.ItemsPanel>

                            <ItemsControl.Style>

                                <Style TargetType="ItemsControl">

                                    <Style.Triggers>

                                        <Trigger Property="HasItems" Value="False">

                                            <Setter Property="Visibility" Value="Collapsed"/>

                                        </Trigger>

                                    </Style.Triggers>

                                </Style> 

                            </ItemsControl.Style>

                        </ItemsControl>

                        <StackPanel x:Name="SearchPanel" DockPanel.Dock="Left" Orientation="Horizontal" Margin="0,0,10,0" HorizontalAlignment="Left" VerticalAlignment="Center" Visibility="Collapsed">

                            <StackPanel.DataContext>

                                <Binding Path="Source" />

                            </StackPanel.DataContext>

                            <local:StandardSearch Source="{Binding}" HorizontalAlignment="Left" VerticalAlignment="Center" KeyboardNavigation.TabIndex="1" />

                        </StackPanel>

                        <ContentControl DockPanel.Dock="Left" HorizontalAlignment="Left" VerticalAlignment="Center" IsTabStop="False" Content="{Binding Path=Paging}" ContentTemplate="{StaticResource RecordsTemplate}" />

                    </DockPanel>

                </Border>

                <Border x:Name="GridSecondaryHeader" DockPanel.Dock="Top">

                    <ItemsControl x:Name="SelectControlPanel" HorizontalAlignment="Left" VerticalAlignment="Center">

                        <ItemsControl.ItemsPanel>

                            <ItemsPanelTemplate>

                                <StackPanel Orientation="Horizontal"/>

                            </ItemsPanelTemplate>

                        </ItemsControl.ItemsPanel>

                        <ItemsControl.Style>

                            <Style TargetType="ItemsControl">

                                <Style.Triggers>

                                    <Trigger Property="HasItems" Value="False">

                                        <Setter Property="Visibility" Value="Collapsed"/>

                                    </Trigger>

                                </Style.Triggers>

                            </Style>

                        </ItemsControl.Style>

                    </ItemsControl>

                    <Border.Style>

                        <Style BasedOn="{ ui:SkinResource SelectRowBorderStyle}" TargetType="Border">                            

                            <Setter Property="Visibility" Value="Collapsed" />                            

                            <Style.Triggers>

                                <DataTrigger Binding="{Binding ElementName=SelectControlPanel, Path=Visibility}" Value="Visible">

                                    <Setter Property="Visibility" Value="Visible" />

                                </DataTrigger>                                

                            </Style.Triggers>

                        </Style>

                    </Border.Style>

                </Border>

                <Border x:Name="GridFooter" DockPanel.Dock="Bottom">

                    <Border.Style>

                        <Style TargetType="Border">

                            <Setter Property="Height" Value="35"/>

                            <Setter Property="Margin" Value="0.5,0,0.5,0.5"/>

                            <Setter Property="BorderThickness" Value="0,0.5,0,0"/>

                            <Setter Property="CornerRadius" Value="0,0,4,4" />

                            <Setter Property="HorizontalAlignment" Value="Stretch"/>

                            <Setter Property="VerticalAlignment" Value="Stretch"/>

                            <Setter Property="BorderBrush" Value="{ ui:SkinResource Brush_Gray70}" />

                            <Setter Property="Background" Value="{ ui:SkinResource StyleActive}" />

                            <Setter Property="Visibility" Value="Collapsed" />

                            <Style.Triggers>

                                <MultiDataTrigger>

                                    <MultiDataTrigger.Conditions>

                                        <Condition Binding="{Binding ElementName=GridHeader, Path=Visibility}" Value="Visible"/>                                        

                                    </MultiDataTrigger.Conditions>

                                    <Setter Property="Visibility" Value="Visible" />

                                </MultiDataTrigger>

                            </Style.Triggers>

                        </Style>

                    </Border.Style>

                    <Border.DataContext>

                        <Binding Path="Source" />

                    </Border.DataContext>

                    <ContentControl x:Name="Pager" HorizontalAlignment="Right" VerticalAlignment="Center" IsTabStop="False" Content="{Binding Path=Paging}" ContentTemplate="{StaticResource PagesTemplate}"/>

                </Border>

                <Grid Focusable="False">

                    < ui:GridStateAdornerDecorator>

                        < ui:GridStateAdornerDecorator.RecordCount>

                            <MultiBinding Converter="{StaticResource RecordCountAdornerConverter}">

                                <Binding ElementName="DataGrid" Path="Records.Count" />

                                <Binding Path="EnableSearch" />

                            </MultiBinding>

                        </ ui:GridStateAdornerDecorator.RecordCount>

                        < ui:GridStateAdornerDecorator.IsSearching>

                            <MultiBinding Converter="{StaticResource SearchingAdornerConverter}">

                                <Binding Path="Source.IsSearching" />

                                <Binding Path="EnableSearch" />

                            </MultiBinding>

                        </ ui:GridStateAdornerDecorator.IsSearching>

                        < ui:GridStateAdornerDecorator.BeginSearch>

                            <MultiBinding Converter="{StaticResource BeginSearchAdornerConverter}">

                                <Binding Path="Source.IsSearching" />

                                <Binding Path="EnableSearch" />

                            </MultiBinding>

                        </ ui:GridStateAdornerDecorator.BeginSearch>

                        <igDP:XamDataGrid x:Name="DataGrid" GroupByAreaLocation="None" AutoFit="True" Focusable="False" BorderBrush="Transparent" BorderThickness="0" 

                                Background="Transparent" DataSource="{Binding Path=InternalDataSource}" SortRecordsByDataType="False" ScrollingMode="Immediate" 

                                FieldLayoutInitializing="OnFieldLayoutInitializing" RecordsInViewChanged="OnRecordsInViewChanged" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"

                                MouseDoubleClick="OnMouseDoubleClick" SelectedItemsChanged="OnSelectedItemsChanged" Sorting="OnSorting" Sorted="OnSorted"

                                InitializeRecord="DataGrid_InitializeRecord">

                            <igDP:XamDataGrid.FieldLayoutSettings>

                                <igDP:FieldLayoutSettings AutoGenerateFields="False" MaxSelectedRecords="1" SelectionTypeCell="None" 

                                SelectionTypeField="None" SelectionTypeRecord="Single" HighlightAlternateRecords="False" AllowFieldMoving="No" 

                                RecordSelectorLocation="None" ResizingMode="Immediate" AutoArrangePrimaryFieldReservation="None">

                                </igDP:FieldLayoutSettings>

                            </igDP:XamDataGrid.FieldLayoutSettings>

                            <igDP:XamDataGrid.FieldSettings>

                                <igDP:FieldSettings AllowSummaries="True" SummaryDisplayArea="BottomFixed"  AllowEdit="False" CellClickAction="SelectRecord" LabelClickAction="SortByOneFieldOnly" />

                            </igDP:XamDataGrid.FieldSettings>

                            <igDP:XamDataGrid.FieldLayouts>

                                <igDP:FieldLayout Key="Default">

                                    <igDP:FieldLayout.Fields>

                                        <igDP:UnboundField local:Resource.Uid="IsActiveField" Label="{local:Resource}" BindingPath="IsActive" BindingMode="OneWay" >

                                            <igDP:UnboundField.Settings>

                                                <igDP:FieldSettings LabelMinWidth="50" LabelMaxWidth="60" CellMinWidth="50" CellMaxWidth="60" LabelClickAction="SortByOneFieldOnly" CellValuePresenterStyle="{StaticResource IsActiveCell}" />

                                            </igDP:UnboundField.Settings>

                                        </igDP:UnboundField>

                                        <igDP:UnboundField local:Resource.Uid="EditField" Label="{local:Resource}">

                                            <igDP:UnboundField.Settings>

                                                <igDP:FieldSettings LabelMinWidth="50" LabelMaxWidth="50" CellMinWidth="50" CellMaxWidth="50" LabelClickAction="Nothing" CellValuePresenterStyle="{StaticResource EditCell}" />

                                            </igDP:UnboundField.Settings>

                                        </igDP:UnboundField>

                                        <igDP:UnboundField local:Resource.Uid="DeleteField" Label="{local:Resource}">

                                            <igDP:UnboundField.Settings>

                                                <igDP:FieldSettings LabelMinWidth="50" LabelMaxWidth="50" CellMinWidth="50" CellMaxWidth="50" LabelClickAction="Nothing" CellValuePresenterStyle="{StaticResource DeleteCell}" />

                                            </igDP:UnboundField.Settings>

                                        </igDP:UnboundField>

                                    </igDP:FieldLayout.Fields>

                                </igDP:FieldLayout>

                            </igDP:XamDataGrid.FieldLayouts>

                        </igDP:XamDataGrid>

                    </ ui:GridStateAdornerDecorator>

                </Grid>

            </DockPanel>

        </Border>

    </Grid>

</UserControl>