2015-11-21 126 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