Domanda

ho un controllo utente e in essa ho due controlli: 1) un controllo di criteri di ricerca (controllo utente personalizzata) e 2) un Telerik RadGridView.

A parte che ho una finestra che è la shell per la mia applicazione e in essa esiste tre regioni. Quando si apre questa finestra fa clic su un pulsante e il controllo utente di cui sopra viene inserita in una delle regioni. Ora che il controllo utente viene caricato a modificare i criteri di ricerca e fare clic sul pulsante per popolare la mia griglia con circa 1.000 record. Il problema è che la barra di scorrimento della griglia non venga attivato perché i massimizza il controllo della griglia per adattarsi alle dimensioni di tutti i dati di che si estende oltre lo schermo .

L'unico modo in cui funziona correttamente è quello di impostare la proprietà Height della griglia per un valore assoluto, ma poi la griglia non è così formato con la finestra.

Ho provato tutto quello che mi viene in mente: quando nella griglia ho impostato la dimensione di riga DEF a 200 *, ho messo la griglia in un pannello involucro, l'ho messo in un DockPanel, impostare il VerticalAlignment per allungare, cambiato il pannello dock al pannello stack.

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>

di controllo utente:

<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" />

            
    

È stato utile?

Soluzione

Vorrei poter ottenere punti per rispondere alla mia domanda. Mi rendo conto che questo potrebbe essere sfruttato. Detto questo, nel mio guscio, ho cambiato la regione ItemsControl ad un ContentControl e funziona perfettamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top