2017-10-16 59 views
0

我的項目基於WPF。我創建了一個畫布容器。在那個容器下,我有兩個網格(gSettingsgGrid)。當選擇Canvas下另一個網格的Tab項時,網格內容消失

我已經使用GroupBox。在Canvas Container(gCanvas)下,我創建了兩個網格(gSettingsgGrid)。在gGrid下,我使用Tab Controls(tabCtrlDevice)。第一次加載窗口時,它在兩個網格中都正確顯示數據,但是當我更改選項卡控件的選項卡項時,第二個網格即gGrid,則gSettings消失。

請幫忙解決這個問題。

在此先感謝。

<GroupBox x:Name="DragDropgrpbox" Height="Auto" Width="Auto"> 
    <ZoomableCanvas x:Name="zoomCtrl"> 
     <Canvas x:Name="gCanvas"> 
      <Grid x:Name="gSettings" Canvas.Left="0" Height="613"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="*"/> 
       </Grid.RowDefinitions> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="15" /> 
        <ColumnDefinition /> 
       </Grid.ColumnDefinitions> 
       <Border x:Name="wrapBrdr2" Grid.Column="1" Grid.ColumnSpan="2"> 
        <WrapPanel VerticalAlignment="Center" HorizontalAlignment="Center"> 
         <Image Name="ImageViewer2" Stretch="Fill" HorizontalAlignment="Center" Width="116" Height="107" Panel.ZIndex="1" VerticalAlignment="Center" /> 
        </WrapPanel> 
       </Border> 
      </Grid> 
      <Grid x:Name="gGrid" Canvas.Left="140" Height="646"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="5"/> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="15"/> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="5"/> 
        <RowDefinition Height="*"/> 
       </Grid.RowDefinitions> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="5" /> 
        <ColumnDefinition /> 
        <ColumnDefinition x:Name="grdConverterColumn" MinWidth="140" Width="*"/> 
        <ColumnDefinition /> 
        <ColumnDefinition x:Name="grdPortColumn" Width="*"/> 
        <ColumnDefinition /> 
        <ColumnDefinition Width="5"/> 
       </Grid.ColumnDefinitions> 
       <Border x:Name="wrapBrdr" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="2"> 
        <WrapPanel> 
         <Image Name="ImageViewer1" Stretch="Fill" HorizontalAlignment="Left" Width="54" Height="49" Panel.ZIndex="1" /> 
         <TextBlock x:Name="lblMessage" Grid.Column="3" Grid.Row="2" Grid.ColumnSpan="4"> 
          <TextBlock.Inlines> 
           <Run x:Name="step1" /> 
           <LineBreak/> 
           <Run x:Name="step2" /> 
           <LineBreak/> 
           <Run x:Name="step3" /> 
          </TextBlock.Inlines> 
         </TextBlock> 
        </WrapPanel> 
       </Border><TabControl x:Name="tabCtrlDevice" Grid.Column="1" Grid.Row="5" Grid.ColumnSpan="2" Grid.RowSpan="2"> 
        <TabItem x:Name="CoriolisMVD" > 
         <TabItem.Content> 
          <UniformGrid x:Name="grdDevices" Columns="3" VerticalAlignment="Top"/> 
         </TabItem.Content> 
        </TabItem> 
        <TabItem x:Name="DensityViscosity"> 
         <TabItem.Content> 
          <UniformGrid x:Name="grdDensityViscosity" Columns="2" VerticalAlignment="Top"/> 
         </TabItem.Content> 
        </TabItem> 
        <TabItem x:Name="RosemountFlow" > 
         <TabItem.Content> 
          <UniformGrid x:Name="grdRosemountFlow" Columns="2" VerticalAlignment="Top"/> 
         </TabItem.Content> 
        </TabItem> 
        <TabItem x:Name="Other" > 
         <TabItem.Content> 
          <UniformGrid x:Name="grdOther" Columns="2" VerticalAlignment="Top"/> 
         </TabItem.Content> 
        </TabItem> 
       </TabControl> 
       <!--End Device Tab Controler--> 

       <Grid Grid.Column="3" Grid.Row="6"> 
        <UniformGrid x:Name="grdConverters" Columns="1" VerticalAlignment="Top"/> 
       </Grid> 
       <Border x:Name="grdPortsBrdr" Height="500px" Grid.Column="4" Grid.Row="6" HorizontalAlignment="Right" > 
        <ScrollViewer> 
         <UniformGrid x:Name="grdPorts" VerticalAlignment="Top"/> 
        </ScrollViewer> 
       </Border> 
      </Grid> 
     </Canvas> 
    </ZoomableCanvas> 
</GroupBox> 

回答

0

了很多的鬥爭後,我得到了一個解決方案:

gCanvas.Children.Add(gSettings); 

我已經解決了it`

相關問題