なぜ私のWPFグリッドがそのコンテナに含まれていないのですか?
-
03-10-2019 - |
質問
ユーザーコントロールがあり、その中には2つのコントロールがあります。1)検索基準コントロール(カスタムユーザーコントロール)と2)Telerik RadgridView。
それとは別に、私はアプリケーションのシェルであり、その中には3つの領域が存在する窓があります。このウィンドウが開くと、ボタンをクリックし、上記のユーザーコントロールが領域の1つに挿入されます。ユーザーコントロールが読み込まれたので、検索基準を編集し、ボタンをクリックしてグリッドに約1,000のレコードを入力します。問題は、グリッド制御がすべてのデータのサイズに合うように最大化するため、グリッドのスクロールバーが有効になっていないことです 画面を通り過ぎます.
これが適切に機能する唯一の方法は、グリッドの高さプロパティを絶対値に設定することですが、グリッドはウィンドウにサイズがありません。
私は考えられるすべてのことを試しました:グリッドで行Defサイズを200*に設定したとき、グリッドをラップパネルに入れ、ドックパネルに入れ、垂直調整を設定して伸ばし、ドックを変更しましたパネルからスタックパネルへ。
シェル:
<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" />
解決
私は自分の質問に答えるためのポイントを得ることができたらいいのにと思います。私はこれが利用できることを理解しています。とはいえ、私のシェルでは、ItemsControl領域をContentControlに変更し、完全に機能します。
所属していません StackOverflow