2014-09-29 31 views
0

我想使用網格系統作爲另一個用戶對我的另一個問題的建議我試圖implment網格系統,但有一點成功,它將按鈕和網格放置在我想要的地方他們,但對於名字和文本框應該在列表視圖的底部Xaml網格WOW文本框不apearing

enter image description here

這三個控件應該出現在列表視圖

<TextBox Name="txtDsiplayName" Text="{Binding Path=CustomColumnsDisplayName, Mode=TwoWay}" Height="23" 
Width="452" Margin="0,149.86,0,188.5" Grid.ColumnSpan="2" /> 
<Label Content="Width:" Height="400" VerticalAlignment="Bottom" Grid.ColumnSpan="2" HorizontalAlignment="Left" Width="452" /> 
<TextBox Name="txtWdith" Width ="30" Height="23" Margin="211,149.86,6,188.5" Grid.Row="1" /> 

有誰沒有什麼,我的底部做w榮?

但是,正如你所看到的文本框顯示不正確,列表視圖應該對齊向上移動按鈕winforms頂部我原諒你,仍然愛你。

<Grid Margin="0,20,0,0" VerticalAlignment="Top" Height="400"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="28" /> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="100"/> 
     <ColumnDefinition Width="100"/> 
    </Grid.ColumnDefinitions> 
    <Label Grid.Row="0" Content="Custom Fields" Margin="12,0,0,0" Grid.ColumnSpan="2"></Label> 
    <StackPanel Grid.Row="1" Grid.Column="0" VerticalAlignment="Top" Grid.ColumnSpan="2"> 
     <Expander Margin="0,0,0,0" 
      IsExpanded="true" 
      Header="Custom Columns"> 
      <Grid Margin="12,0,10,0"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="38.64" /> 
        <RowDefinition Height="361.36"/> 
        <RowDefinition Height="*"/> 
        <RowDefinition Height="400"/> 
        <RowDefinition Height="400"/> 
       </Grid.RowDefinitions> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="247" /> 
        <ColumnDefinition Width="205"/> 
        <ColumnDefinition Width="Auto"/> 
        <ColumnDefinition Width="Auto" /> 
        <ColumnDefinition Width="Auto" /> 

       </Grid.ColumnDefinitions> 

       <ListView Name="listView1" 
      MinHeight="80" 
      SelectionMode="Single" Margin="0,11.36,0,108.4" SelectionChanged="listView1_SelectionChanged" Grid.Row="1" Grid.ColumnSpan="2"> 
        <ListView.View> 
         <GridView> 
          <GridViewColumn Header="Order" Width="100" 
         DisplayMemberBinding="{Binding Path=CustomColumnsOrder}"></GridViewColumn> 
          <GridViewColumn Header="Display Name" Width="290" 
          DisplayMemberBinding="{Binding Path=CustomColumnsDisplayName}"></GridViewColumn> 
          <GridViewColumn Header="Width" Width="50" 
         DisplayMemberBinding="{Binding Path=CustomColumnsWidth}"></GridViewColumn> 

         </GridView> 
        </ListView.View> 
       </ListView> 

       <Label Content="Name:" Grid.ColumnSpan="2" /> 

       <TextBox Name="txtDsiplayName" Text="{Binding Path=CustomColumnsDisplayName, Mode=TwoWay}" Height="23" 
      Width="452" Margin="0,149.86,0,188.5" Grid.ColumnSpan="2" /> 
       <Label Content="Width:" Height="400" VerticalAlignment="Bottom" Grid.ColumnSpan="2" HorizontalAlignment="Left" Width="452" /> 
       <TextBox Name="txtWdith" Width ="30" Height="23" Margin="211,149.86,6,188.5" Grid.Row="1" /> 

       <StackPanel Grid.Column="3" Grid.Row="2" Margin="0,0,74,0" Grid.RowSpan="2"/> 

       <StackPanel Grid.Column="2" Margin="0" Grid.RowSpan="2" Grid.ColumnSpan="2"> 
        <Button Name="moveUpButton"  Click="MoveUp"  DockPanel.Dock="Right" Content="Move Up" 
      Height="22" Width="74" /> 

        <Button Name="moveDownButton" Click="MoveDown" DockPanel.Dock="Right" Content="Move Down" 
      Height="22" Width="74" /> 


        <Button Name="deleteButton" IsEnabled="{Binding ElementName=columnsList, Path=SelectedItems.Count}" Click="RemoveColumn" DockPanel.Dock="Right" Content="Delete" 
      Height="22" Width="74" /> 

        <Button Name="addButton" Click="AddColumn"  Content="Add Item" 
      Height="22" Width="74" /> 

       </StackPanel> 

      </Grid> 
     </Expander> 
    </StackPanel> 
</Grid> 

回答

0

它看起來像網格行高度和文本框緣相互衝突的,如果您從文本框中的邊際線,你應該看到它移動到頂部。

我會建議刪除邊距,並試圖利用高度來定位控件。

也許這樣的事情? (你需要加回你的高度/寬度等,但它給你一個大概的想法)

<Grid VerticalAlignment="Top"> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition /> 
    </Grid.RowDefinitions> 
    <Label Content="Custom Fields" /> 
    <StackPanel Grid.Row="1" VerticalAlignment="Top"> 
     <Expander Header="Custom Columns" IsExpanded="true"> 
      <Grid> 
       <Grid.RowDefinitions> 
        <RowDefinition /> 
        <RowDefinition /> 
        <RowDefinition /> 
        <RowDefinition /> 
        <RowDefinition /> 
       </Grid.RowDefinitions> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition /> 
        <ColumnDefinition /> 
        <ColumnDefinition /> 
        <ColumnDefinition /> 
       </Grid.ColumnDefinitions> 

       <ListView Name="listView1" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" SelectionMode="Single"> 
        <ListView.View> 
         <GridView> 
          <GridViewColumn DisplayMemberBinding="{Binding Path=CustomColumnsOrder}" Header="Order" /> 
          <GridViewColumn DisplayMemberBinding="{Binding Path=CustomColumnsDisplayName}" Header="Display Name" /> 
          <GridViewColumn DisplayMemberBinding="{Binding Path=CustomColumnsWidth}" Header="Width" /> 
         </GridView> 
        </ListView.View> 
       </ListView> 

       <StackPanel Grid.Row="1" Grid.RowSpan="2" Grid.Column="3"> 
        <Button Name="moveUpButton" Content="Move Up" DockPanel.Dock="Right" /> 

        <Button Name="moveDownButton" Content="Move Down" DockPanel.Dock="Right" /> 

        <Button Name="deleteButton" Content="Delete" DockPanel.Dock="Right" IsEnabled="{Binding ElementName=columnsList, Path=SelectedItems.Count}" /> 

        <Button Name="addButton" Content="Add Item" /> 
       </StackPanel> 

       <Label Grid.Row="3" 
         Grid.Column="0" 
         Grid.ColumnSpan="2" 
         HorizontalAlignment="Left" 
         VerticalAlignment="Bottom" 
         Content="Name:" /> 
       <TextBox Name="txtDsiplayName" Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="2" Text="{Binding Path=CustomColumnsDisplayName, Mode=TwoWay}" /> 

       <Label Grid.Row="4" 
         Grid.Column="0" 
         Grid.ColumnSpan="2" 
         HorizontalAlignment="Left" 
         VerticalAlignment="Bottom" 
         Content="Width:" /> 
       <TextBox Name="txtWdith" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="2" /> 

      </Grid> 
     </Expander> 
    </StackPanel> 
</Grid>