デフォルトでは、RadGridView コントロールは、コンテンツを表示するのに十分なスペースがない場合、行を水平および垂直にスクロールするためのスクロールバーを自動的に配置します。ScrollViewer は単に RadGridView に制約のない独自のサイズを決定させるため、すべての列に対応する幅とすべての行に対応する高さを埋めます。
RadGridViewをそのコンテナーによって制約する必要があるため、それをグリッド セルに配置する必要があります (ビュー全体を占めることになっている場合を除く)。適切に拡大または縮小するために Auto (デフォルト) に設定する必要があるため、RadGridView に Width または Height を設定しないでください。他の何かが邪魔をしているように聞こえるので、コードを投稿することをお勧めします。
これが私の RadGridView で、コンテナがいっぱいになり、必要に応じてスクロールします。行定義をオーバーライドし、スクロールにまったく影響を与えないカスタム ユーザー コントロールを使用していることに注意してください。
<telerik:RadGridView ItemsSource="{Binding Shipments}" RowStyle="{StaticResource rowStyle}"
RowDetailsVisibilityMode="Collapsed"
RowIndicatorVisibility="Collapsed"
CanUserDeleteRows="False"
CanUserInsertRows="False"
CanUserSelect="False" telerik:StyleManager.Theme="Windows7" />
これが私のカスタマイズしたrowtemplateです(私のローカルリソースディクショナリーにあります):
<ControlTemplate x:Key="MyCustomRowTemplate" TargetType="telerik:GridViewRow">
<Border x:Name="rowsContainer" BorderBrush="#FFA0AFC3" BorderThickness="0,0,0,1" >
<Grid Width="Auto" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<view:ActiveReleaseItemView DataContext="{Binding}" />
</Grid>
</Border>
</ControlTemplate>
<Style x:Key="rowStyle" TargetType="telerik:GridViewRow">
<Setter Property="Template" Value="{StaticResource MyCustomRowTemplate}" />
</Style>