Question

J'ai un contrôle utilisateur et en son sein, j'ai deux contrôles: 1) un contrôle des critères de recherche (contrôle utilisateur personnalisé) et 2) un Telerik RadGridView.

En dehors de cela, j'ai une fenêtre qui est la coque pour mon application et il existe trois régions. Lorsque cette fenêtre ouvre je clique sur un bouton et le contrôle de l'utilisateur mentionné ci-dessus est insérée dans l'une des régions. Maintenant que le contrôle de l'utilisateur est chargé modifier I mes critères de recherche et cliquez sur le bouton pour remplir ma grille avec environ 1 000 dossiers. Le problème est que la grille de défilement de la barre ne soit pas activée car les Optimise de contrôle de la grille pour s'adapter la taille de toutes les données qui passe devant l'écran .

La seule façon dont cela fonctionne correctement est de définir la propriété de la hauteur de la grille à une valeur absolue mais la grille ne taille pas la fenêtre.

J'ai essayé tout ce que je peux penser: Quand la grille I définir la taille def ligne à 200 *, je mets la grille dans un panneau d'enveloppe, je l'ai mis dans un DockPanel, définissez les VerticalAlignment à l'étirement, changé le panneau de quai au panneau de la pile.

Shell:

<Window x:Class="WTS.CGCApplicationInterface.CGCApplicationShellView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"             
         xmlns:cal="http://www.codeplex.com/CompositeWPF"
         xmlns:inf="clr-namespace:WTS.CGCApplicationInterface.Infrastructure;assembly=WTSCGCApplicationInterface.Infrastructure"             
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300" Width="750" Height="480"
        Title="CGC Interface Window">       
<Grid> 
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="200*"/>            
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <ItemsControl cal:RegionManager.RegionName="MenuRegion" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0" />
    <ItemsControl cal:RegionManager.RegionName="SwitchboardRegion" Grid.Column="0" Grid.Row="1" />
    <ItemsControl cal:RegionManager.RegionName="MainRegion" Grid.Column="1" Grid.Row="1" />                            
</Grid>

Contrôle de l'utilisateur:

<UserControl x:Class="WTS.CGCApplicationInterfaceMVVM.Views.Oncor.OncorTimesheetCGC"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"   
         xmlns:wtsControls="clr-namespace:WTS.CGCApplicationInterface.UserControls;assembly=WTSCGCApplicationInterface.Infrastructure"                  
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="600" Background="Red">     
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="200*" />
    </Grid.RowDefinitions>    

        <wtsControls:CGCQueryUserControl  Grid.Row="0"/>
        <telerik:RadGridView ItemsSource="{Binding Path=Timesheets}" AutoGenerateColumns="False" Grid.Row="1"
                                 ScrollViewer.VerticalScrollBarVisibility="Visible">
            <telerik:RadGridView.Columns>
                <telerik:GridViewToggleRowDetailsColumn></telerik:GridViewToggleRowDetailsColumn>
                <telerik:GridViewDataColumn Header="MyField1" UniqueName="AssociatedObject.MyField1" IsVisible="False" />
                <telerik:GridViewDataColumn Header="MyField2" UniqueName="AssociatedObject.MyField2" IsVisible="False" />

            
    

Était-ce utile?

La solution

Je souhaite que je pourrais obtenir des points pour répondre à ma propre question. Je me rends bien compte que cela pourrait être mis à profit. Cela dit, dans ma coquille, j'ai changé la région ItemsControl à un ContentControl et il fonctionne parfaitement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top