2014-10-17 83 views
0

我在auditInventoryViews後面的代碼中寫了一些東西:SchedulerView用戶控件替換父內容控件的內容「DSViewContentControl」 我試過「this .content「,但它僅替換當前用戶控件的內容,其他內容仍保留在用戶控件中。如何在子代碼後面的代碼中替換父控件的內容

所以,事情是如何從代碼後面的子代替父控件的內容。例如

<UserControl> 
<ContentControl x:Name="DSViewContentControl" > 
    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition/> 
      <RowDefinition/> 

     </Grid.RowDefinitions> 

     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*" ></ColumnDefinition> 
      <ColumnDefinition Width="*"></ColumnDefinition> 
     </Grid.ColumnDefinitions> 
     <!-- region scheduler --> 
     <StackPanel Grid.Row="1" Grid.Column="1" Margin="40,5,0,0"> 
      some content 
     </StackPanel> 
     <StackPanel Grid.Row="1" Grid.Column="1" Margin="40,5,0,0"> 
     <auditInventoryViews:SchedulerView/> 
     </StackPanel> 
    </Grid> 

</ContentControl> 
</UserControl> 

回答

0

示例代碼,您可以通過Parent屬性引用從孩子家長控制。例如從SchedulerView代碼隱藏得DSViewContentControl

StackPanel parentStackpnl = (StackPanel)this.Parent; 
Grid grandParentGrid = (Grid)parentStackpnl.Parent; 
ContentControl DSViewContentControl = (ContentControl)grandParentGrid.Parent; 
//at this point doing operation on DSViewContentControl is straightforward 
+1

謝謝!你嘗試了你的方法,並能夠使用ContentControl DSViewContentControl =(ContentControl)(((Grid)((StackPanel)this.Parent)獲得父內容控件。 – user2863825 2014-10-19 11:38:34

相關問題