2013-02-13 82 views
5

दूसरों की तरह मेरे पास डेटाग्रिड है जो स्क्रॉलबार नहीं दिखा रहा है। मुझे लगता है कि मेरी स्थिति के लिए अद्वितीय है कि मुझे दृश्य या तार्किक पेड़ में कहीं भी स्टैकपैनल दिखाई नहीं देता है। मैं पेड़ों को देखने के लिए डब्ल्यूपीएफ इंस्पेक्टर का उपयोग कर रहा हूं। मैंने बिना किसी सफलता के युक्त ग्रिड कॉलम और पंक्तियों की ऊंचाई और चौड़ाई निर्धारित करने के लिए विभिन्न सुझावों का प्रयास किया है। मुझे यकीन है कि कुछ ऐसा है जो मुझे याद आ रहा है जो सामग्री को दृश्य क्षेत्र से आगे बढ़ाने की इजाजत दे रहा है लेकिन मैं यह नहीं बता सकता कि यह अभी तक क्या है। किसी भी सहायता की सराहना की जाएगी। यह एप्लिकेशन एमईएफ ऐप के साथ एक डब्ल्यूपीएफ प्रिज्म है और डेटाग्रिड उपयोगकर्ता नियंत्रण में है जो प्रिज्म क्षेत्र में है।डब्ल्यूपीएफ डाटाग्रिड स्क्रॉलबार नहीं दिखा रहा है और दृश्य क्षेत्र से बाहर चल रहा है

शैल विंडो XAML:

<Window> 
    <Grid x:Name="GridOuterShell"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="Auto"/> 
    </Grid.RowDefinitions> 

    <ribbon:Ribbon Grid.Row="0" > 
     ... 
    </ribbon:Ribbon> 

    <Grid x:Name="GridShellContent" Grid.Row="1"> 
     <Grid.RowDefinitions> 
      <RowDefinition /> 
      <RowDefinition Height="Auto" /> 
      <RowDefinition /> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="350" MinWidth="300"/> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 


     <local:RegionBorderControl Grid.Row="0" Grid.Column="0" Grid.RowSpan="3" Margin="2,2,8,2" RegionName="{Binding MainRegionDisplayName}" 
           Style="{DynamicResource RegionBorderControlStyle}"> 
     <ContentControl prism:RegionManager.RegionName="MainRegion" 
         VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch"/> 

     </local:RegionBorderControl> 


     <GridSplitter Grid.Row="0" Grid.Column="1" Grid.RowSpan="3" HorizontalAlignment="Center" VerticalAlignment="Stretch" 
        Width="3" ShowsPreview="True" ResizeDirection="Columns" /> 

     <local:RegionBorderControl Grid.Row="0" Grid.Column="2" RegionName="{Binding RightTopRegionDisplayName}" 
           Style="{DynamicResource RegionBorderControlStyle}"> 
     <ContentControl prism:RegionManager.RegionName="RightTopRegion" 
         VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch"/> 

     </local:RegionBorderControl> 

     <GridSplitter Grid.Row="1" Grid.Column="3" HorizontalAlignment="Stretch" VerticalAlignment="Center" 
        Height="3" ShowsPreview="true" ResizeDirection="Rows" ResizeBehavior="PreviousAndNext" Background="Silver"/> 

     <local:RegionBorderControl Grid.Row="2" Grid.Column="2" RegionName="{Binding RightBottomRegionDisplayName}" 
           Style="{DynamicResource RegionBorderControlStyle}"> 
      <ContentControl prism:RegionManager.RegionName="RightBottomRegion"/> 

     </local:RegionBorderControl> 

    </Grid> 

    <StatusBar Grid.Row="2"> 
     ... 
    </StatusBar> 

    </Grid> 
</Window> 

UserControl XAML:

<UserControl> 

<Grid x:Name="GridMain"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition/> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition /> 
      <RowDefinition Height="Auto"/> 
     </Grid.RowDefinitions> 

     <DockPanel Grid.Row="0" LastChildFill="False" HorizontalAlignment="Stretch" Width="Auto" > 
      <ToolBar x:Name="tbToolBar" DockPanel.Dock="Left" Background="{x:Null}"> 
       ... 
      </ToolBar> 
     </DockPanel> 

     <DataGrid AutoGenerateColumns="False" Grid.Row="2" Name="DataGridList" ItemsSource="{Binding MyItems}" IsReadOnly="True" CanUserResizeRows="False" SelectionMode="Single" 
        SelectedItem="{Binding Path=SelectedDataGridRecord, Mode=TwoWay}" Style="{StaticResource DataGridDefault}" > 
      <DataGrid.Columns> 
       ... 
      </DataGrid.Columns> 
     </DataGrid> 

    </Grid> 

उत्तर

14

आप एक ग्रिड पंक्ति जहां RowDefinition ऊंचाई ऑटो है तो ग्रिड के साथ की जाएगी में डेटा ग्रिड है एक अनंत ऊंचाई और इसकी वांछित आकार की व्यवस्था की जाएगी। हाइट और स्क्रॉलबार कभी नहीं दिखाएं। ऐसा लगता है कि ग्रिड पंक्ति 1 में होना चाहिए या ऑटो की बजाय पंक्ति 2 की ऊंचाई बनाना चाहिए।

+0

इससे मेरी समस्या का समाधान हुआ। धन्यवाद एंड्रयू। मैंने शपथ ली थी कि मैंने कोशिश की। इस तरह की एक स्पष्ट निगरानी पोस्ट करने के लिए खेद है, लेकिन मैं काफी हद तक निश्चित था कि ऐसा कुछ ऐसा था क्योंकि कुछ भी समझ में नहीं आया था। – David