2013-02-03 2 views
0

나는 비슷한 질문을하고 있지만 아직 해결 방법을 찾지 못했습니다. 내부 컨트롤은 테이블 : (. CoolScroller 이미 응용 프로그램에서 성공적으로 사용되는 스타일 그것은 그래서 지금은 코드를 추가하지 마십시오 꽤 오래입니다.)내부 컨트롤에 스크롤러 추가하기

<UserControl x:Class="Labster7.Application.Modules.MassiveExecution.Windows.ExperimentDetailsTableView" 
      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" 
      mc:Ignorable="d" 
      MinHeight="150" 
      d:DesignHeight="300" d:DesignWidth="300" 
      xmlns:igDP="http://infragistics.com/DataPresenter" 
      xmlns:fw="clr-namespace:Labster7.Application.Framework;assembly=Labster7.Application.Framework" 
      xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:igEditors="http://infragistics.com/Editors"> 
    <UserControl.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="..\Resources\Styles.xaml" /> 
       <ResourceDictionary> 
        <Style TargetType="ScrollViewer" BasedOn="{StaticResource CoolScrollViewerStyle}"> 
         <Setter Property="HorizontalAlignment" Value="Stretch" /> 
         <Setter Property="VerticalAlignment" Value="Stretch" /> 
         <Setter Property="Visibility" Value="Visible"/> 
        </Style> 
       </ResourceDictionary> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </UserControl.Resources> 
    <Grid> 
     <igDP:XamDataGrid DataSource="{Binding Path=TaskObjects, Mode=TwoWay}" MinHeight="100" 
          RecordsDeleting="DataPresenterBase_OnRecordsDeleting" 
          RecordsDeleted="DataPresenterBase_OnRecordsDeleted" ScrollingMode="DeferredWithScrollTips"> 
      <igDP:XamDataGrid.Resources> 
       <Style x:Key="CheckBoxedHeaderStyle" TargetType="{x:Type igDP:LabelPresenter}"> 
        <Setter Property="ContentTemplate"> 
         <Setter.Value> 
          <DataTemplate> 
           <CheckBox Name="HeaderCheckBox" Content="{Binding}" Click="OnClick" IsChecked="True" IsThreeState="False"/> 
          </DataTemplate> 
         </Setter.Value> 
        </Setter> 
       </Style> 
       <Style TargetType="igEditors:XamCheckEditor"> 
        <EventSetter Event="ValueChanged" Handler="XamCheckEditorValueChanged"/> 
       </Style> 
      </igDP:XamDataGrid.Resources> 
      <igDP:XamDataGrid.FieldLayouts> 
       <igDP:FieldLayout> 
        <igDP:FieldLayout.Fields> 
         <igDP:Field Name="IsSelected" Label="Selected" IsSelected="{Binding AllSelected}"> 
          <igDP:Field.Settings> 
           <igDP:FieldSettings AllowEdit="{Binding IsEditable}" 
                EditAsType="{x:Type sys:Boolean}" 
                EditorType="{x:Type igEditors:XamCheckEditor}" 
                LabelPresenterStyle="{StaticResource CheckBoxedHeaderStyle}" /> 
          </igDP:Field.Settings> 
         </igDP:Field> 
         <igDP:Field Name="ExperimentName" Label="Experiment Name"> 
          <igDP:Field.Settings> 
           <igDP:FieldSettings AllowEdit="False" /> 
          </igDP:Field.Settings> 
         </igDP:Field> 
         <igDP:Field Name="Machines" Label="Machines"> 
          <igDP:Field.Settings> 
           <igDP:FieldSettings AllowEdit="False" /> 
          </igDP:Field.Settings> 
         </igDP:Field> 
         <igDP:Field Name="Status" Label="Status"> 
          <igDP:Field.Settings> 
           <igDP:FieldSettings AllowEdit="False" /> 
          </igDP:Field.Settings> 
         </igDP:Field> 
         <igDP:Field Name="StartTime" Label="Start Time" 
            Converter="{fw:DateTimeToStringConverter FormatString=0:hh:mm:ss}"> 
          <igDP:Field.Settings> 
           <igDP:FieldSettings AllowEdit="False" EditAsType="{x:Type sys:String}"/> 
          </igDP:Field.Settings> 
         </igDP:Field> 
         <igDP:Field Name="EndTime" Label="End Time" 
            Converter="{fw:DateTimeToStringConverter FormatString=0:hh:mm:ss}"> 
          <igDP:Field.Settings> 
           <igDP:FieldSettings AllowEdit="False" EditAsType="{x:Type sys:String}"/> 
          </igDP:Field.Settings> 
         </igDP:Field> 
        </igDP:FieldLayout.Fields> 
       </igDP:FieldLayout> 
      </igDP:XamDataGrid.FieldLayouts> 
      <igDP:XamDataGrid.FieldLayoutSettings> 
       <igDP:FieldLayoutSettings SelectionTypeRecord="Single"/> 
      </igDP:XamDataGrid.FieldLayoutSettings> 
     </igDP:XamDataGrid> 
    </Grid> 
</UserControl> 

포함하는 윈도우입니다 :

<UserControl x:Class="Labster7.Application.Modules.MassiveExecution.Windows.ActivityEditorView" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:fw="clr-namespace:Labster7.Application.Framework;assembly=Labster7.Application.Framework" 
      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:windows="clr-namespace:Labster7.Application.Modules.MassiveExecution.Windows" mc:Ignorable="d" d:DesignHeight="550" 
      xmlns:igCa="http://infragistics.com/Chart"> 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*"/> 
      <RowDefinition Height="2"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
     <StackPanel Grid.Row="0"> 
      <TextBox VerticalAlignment="Center" HorizontalAlignment="Center" Margin="10,10,10,10" Foreground="Red" IsReadOnly="True" 
        Visibility="{Binding ShouldShowExperimentTable,Converter={fw:BoolToVisibilityConverter TrueValue=Hidden, FalseValue=Visible}}"> 
       Click 'Add test from DOE' to view the activity's experiments 
      </TextBox> 
      <DockPanel LastChildFill="True" Visibility="{Binding Path=ShouldShowExperimentTable, Converter={fw:BoolToVisibilityConverter TrueValue=Visible, FalseValue=Hidden}}"> 
       <!--<StackPanel DockPanel.Dock="Right" Orientation="Horizontal" MaxHeight="30" Margin="4"> 
        <Label Content="Select all"/> 
        <igEditors:XamCheckEditor IsChecked="{Binding ExperimentDetailsTableViewModel.SelectAll}" IsThreeState="False" /> 
       </StackPanel>--> 
       <windows:ExperimentDetailsTableView DockPanel.Dock="Top" 
                HorizontalAlignment="Stretch" 
                Margin="3,3,3,3" 
                VerticalAlignment="Stretch" 
                DataContext="{Binding Path=ExperimentDetailsTableViewModel}" /> 
      </DockPanel> 
     </StackPanel> 
     <GridSplitter Grid.Row="1" Background="SkyBlue" Height="2" HorizontalAlignment="Stretch" VerticalAlignment="Top"/> 
     <Grid Grid.Row="2" HorizontalAlignment="Left" Width="Auto"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="*"/> 
       <RowDefinition Height="Auto"/> 
      </Grid.RowDefinitions> 
      <StackPanel Grid.Row="1" Orientation="Horizontal" Grid.ColumnSpan="2"> 
       <!--<Label MinHeight="30" MinWidth="100" Content="{Binding Stopwatch.TimeElapsed}"/>--> 
       <!--<ProgressBar MinHeight="30" Maximum="100" Minimum="0" 
          Value="{Binding Progress, UpdateSourceTrigger=PropertyChanged}" 
          Visibility="{Binding RelativeSource={RelativeSource Self}, Path=Value, Mode=OneWay, Converter={StaticResource conv}}"/>--> 
      </StackPanel> 
      <igCa:XamChart Grid.Row="2" HorizontalContentAlignment="Left" HorizontalAlignment="Left" Visibility="{Binding Path=ShowExperimentsStatusData, 
          Converter={fw:BoolToVisibilityConverter TrueValue=Visible, FalseValue=Hidden}}" 
          MaxHeight="300" Width="Auto" Grid.ColumnSpan="2"> 

      </igCa:XamChart> 
     </Grid> 

    </Grid> 
</UserControl> 

(는 무관의 결합으로 I 차트 시리즈를 제거).
windows:ExperimentDetailsTableView 이너 제어한다. 내가 scroller (스타일과 선호하지만 유연한) 내가 너무 작은 테이블을위한 영역을 만들 때 나타납니다 또는 테이블이 현재 영역에 표시 할 너무 많은 행이있을 때 나타납니다. 도와주세요.

답변

0

차트를 제거한 후 스크롤러가 갑자기 작동했습니다. 나는 그것이 'VS 다시 시작'과 같다고 생각합니다.

0

ScrollViewer을 사용할 수 없습니까?

<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled"> 
    <%-- your content --%> 
+0

나는 그것을 시험해 보지 않았다. – Noich

관련 문제