Почему моя сеть WPF не содержится в его контейнере?

StackOverflow https://stackoverflow.com/questions/3722033

  •  03-10-2019
  •  | 
  •  

Вопрос

У меня есть контроль пользователя, и внутри него у меня есть два элемента управления: 1) контроль критериев поиска (пользовательский контроль пользователя) и 2) Teleerik RadgridView.

Кроме того, у меня есть окно, которое является оболочкой для моего приложения, и в ней существует три региона. Когда это окно открывается, я нажал кнопку, и упомянутый выше пользовательский элемент управления вставляется в один из регионов. Теперь, когда пользовательский элемент управления загружен, я редактирую свои критерии поиска и щелкните кнопку, чтобы заполнить мою сетку с помощью около 1000 записей. Проблема в том, что полоса прокрутки сетки не становится включена, потому что управление сеткой максимизирует, чтобы соответствовать размеру всех данных который проходит мимо экрана.

Единственный способ, которым это работает должным образом - это установить свойство высоты сетки в абсолютное значение, но затем сетка не размещает с окном.

Я пробовал все, о чем я могу подумать: когда в сетке я установил ряд 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, и он отлично работает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top