2015-11-21 165 views
0

我有一個2行的網格,並在第一行2列各有2行。 GridSplitter位於第二列內。我不知道它爲什麼不動。我很感謝任何幫助。 (我是新來的:-)) 至於WPF GridSplitter不移動

以下XAML:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*"></RowDefinition> 
     <RowDefinition Height="Auto"></RowDefinition> 
    </Grid.RowDefinitions> 
    <Grid Grid.Row="0"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="0.5*"/> 
      <ColumnDefinition Width="0.5*"/> 
     </Grid.ColumnDefinitions> 
     <Grid Grid.Column="0"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="*"/> 
      </Grid.RowDefinitions> 
      <StackPanel Grid.Row="0"> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock Text="yyy:" Margin="10" MinWidth="50"/> 
       </StackPanel> 
      </StackPanel> 
      <TreeView Grid.Row="1" x:Name="TreeView0"></TreeView> 
     </Grid> 
     <Grid Grid.Column="1"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="*"/> 
      </Grid.RowDefinitions> 
      <StackPanel Grid.Row="0"> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock Margin="10" Text="xxx:" HorizontalAlignment="Left" MinWidth="140"/> 
       </StackPanel> 
      </StackPanel> 
      <TreeView Grid.Row="1" x:Name="TreeView1"></TreeView> 
      <GridSplitter Grid.Row="1" Width="2" Background="Gray" HorizontalAlignment="Left" VerticalAlignment="Stretch" ResizeBehavior="PreviousAndNext"/> 
     </Grid> 
    </Grid> 
    <Grid Grid.Row="1"> 
     <ListView Margin="10">    
      <ListView.View> 
       <GridView></GridView> 
      </ListView.View> 
     </ListView> 
    </Grid> 
</Grid> 

回答

0

你有一排高度分路器*
錯誤

分離器需要在一個自動與高度*以上和以下

+0

解決問題並按照指示 – Paparazzi

+0

你的意思是第三行? – Dano

+0

@Dano以上和以下的*部分不清楚。 MSDN上有例子。從一個簡單的例子開始,並使其工作。 – Paparazzi

-1

重新排列一些行和cloumns後,我可以解決我的問題。

<Grid> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="*"/> 
       <RowDefinition Height="Auto"/> 
      </Grid.RowDefinitions> 
      <Grid Row="0"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="0.5*"/> 
        <ColumnDefinition Width="0.5*"/> 
       </Grid.ColumnDefinitions>   
       <StackPanel Grid.Row="0" Grid.Column="0"> 
        <StackPanel Orientation="Horizontal"> 
         <TextBlock Text="x:" Margin="10" HorizontalAlignment="Left" MinWidth="50"/> 
        </StackPanel> 
       </StackPanel>  
       <StackPanel Grid.Row="0" Grid.Column="1"> 
        <StackPanel Orientation="Horizontal"> 
         <TextBlock Margin="10" Text="y:" HorizontalAlignment="Left" MinWidth="140"/> 
        </StackPanel> 
       </StackPanel> 
      </Grid> 
      <Grid Grid.Row="1"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="0.5*"/> 
        <ColumnDefinition Width="Auto"/> 
        <ColumnDefinition Width="0.5*"/> 
       </Grid.ColumnDefinitions> 
       <Grid Grid.Column="0"> 
        <TreeView x:Name="TreeView0"></TreeView> 
       </Grid> 
       <GridSplitter Grid.Column="1" Width="2" Background="Red" HorizontalAlignment="Center"/> 
       <Grid Grid.Column="2"> 

        <TreeView x:Name="TreeView1"></TreeView>     
       </Grid> 
      </Grid> 
      <Grid Grid.Row="2"> 
       <ListView Margin="10"> 
        <ListView.View> 
         <GridView></GridView> 
        </ListView.View> 
       </ListView> 
      </Grid> 
     </Grid> 

@Frisbee我不會羞於在MSDN或其他地方提及。我來到這裏尋求幫助。我沒有要求你解決我的問題。你幫助別人的方法實際上是令人厭惡和欺騙的。不要用垃圾迴應,你可以集中精力解決問題。

+0

那麼也許你應該學會閱讀垃圾。所陳述的問題沒有提到水平或垂直方向,只有行。所以現在你用列和*來左右醒來。上面和下面的高度是垃圾?80%的XAML與這個問題無關。而「不動」並不是什麼問題陳述。花了將近一天的時間,甚至開始分解一個MSDN上有例子的非常簡單的問題。 – Paparazzi