0

ユーザー コントロールがあり、その中に次の 2 つのコントロールがあります。1) 検索基準コントロール (カスタム ユーザー コントロール) と 2) Telerik RadGridView。

それとは別に、アプリケーションのシェルであるウィンドウがあり、その中に 3 つの領域が存在します。このウィンドウが開いたら、ボタンをクリックすると、上記のユーザー コントロールが領域の 1 つに挿入されます。ユーザー コントロールが読み込まれたので、検索基準を編集し、ボタンをクリックしてグリッドに約 1,000 レコードを入力します。問題は、グリッド コントロールが画面を通過するすべてのデータのサイズに合わせて最大化されるため、グリッドのスクロール バーが有効にならないことです。

これが適切に機能する唯一の方法は、グリッドの Height プロパティを絶対値に設定することですが、そうすると、グリッドはウィンドウに合わせてサイズ変更されません。

私が考えることができるすべてを試しました:グリッドで行定義サイズを200 *に設定すると、グリッドをラップパネルに配置し、ドックパネルに配置し、VerticalAlignmentをストレッチに設定し、ドックを変更しましたパネルを積み重ねます。

シェル:

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

ユーザーコントロール:

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


4

1 に答える 1

0

自分の質問に答えてポイントを獲得できたらいいのにと思います。私はこれが利用できることを理解しています。つまり、私のシェルでは、ItemsControl 領域を ContentControl に変更したところ、完全に機能しました。

于 2010-09-16T18:43:50.700 に答える