2016-07-11 5 views
-1

私は1つの列を持つ表形式のレイアウトを持っています。上部にキャンバス、スプライター、データグリッドがあります。キャンバス(Viewbox内)を上部グリッド領域に制限したいどのようにしてキャンバスがレンダリングされるのを防ぐのですか?ViewBoxのWPFキャンバスを親グリッドに制約する

<Grid VerticalAlignment="Stretch"> 

      <Grid.RowDefinitions> 
       <RowDefinition Height="5*"/> 
       <RowDefinition Height="auto"/> 
       <RowDefinition Height="2*"/> 
      </Grid.RowDefinitions>  

       <Viewbox Stretch="Uniform"><Canvas x:Name="canvas" /></Viewvox> 


       <GridSplitter Grid.Column="0" Grid.Row="1" Height="5" ResizeDirection="Rows" VerticalAlignment="Center" HorizontalAlignment="Stretch"/> 

       <DataGrid x:Name="dataGrid" />  
</Grid> 
+0

私は ''と思っています。 –

+0

適切な行と列を設定してください!ほかに何か ? – AnjumSKhan

答えて

0
  1. Canvasesは常に幅/高さを使用する必要があります。 ViewBoxにキャンバスの拡大/縮小をしたいが、キャンバスの大きさは分かりません。
  2. キャンバスでもClipToBoundstrueに設定する必要があります。
  3. 内容がどこにでも配置できるため、キャンバスの大きさがわからない場合は、他のパネルの使用を検討する必要があります。すべてのShapeクラスはどのパネルにも配置できます。
関連する問題