2014-09-29 59 views
0

我想用xaml构建一个屏幕,但它稍微偏离它。我还无法上传图片,所以我包含了this linkXaml和布局问题

我的问题是txtWidth文本框是否在屏幕上显示时,它应该足够大,只有3位数字?有没有人有任何想法。从使用Canvas布局Grid布局

<Canvas Margin="0,0,-249.6,0"> 
    <ListView Canvas.Left="12" Canvas.Top="48" Height="183" Name="listView1" 
      Width="453" 
      SelectionMode="Single"> 
     <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> 
    <Button Name="moveUpButton" Canvas.Left="472.4" Click="MoveUp" Canvas.Top="50" Content="Move Up" 
      Height="22" Width="74" /> 

    <Button Name="moveDownButton" Canvas.Left="472.4" Click="MoveDown" Canvas.Top="80" Content="Move Down" 
      Height="22" Width="74" /> 


    <Button Name="deleteButton" Canvas.Left="472.4" IsEnabled="{Binding ElementName=columnsList, Path=SelectedItems.Count}" Click="RemoveColumn" Canvas.Top="110" Content="Delete" 
      Height="22" Width="74" /> 

    <Button Name="addButton" Click="AddColumn" Canvas.Left="472.4" Canvas.Top="140" Content="Add Item" 
      Height="22" Width="74" /> 

    <Label Content="Name:" Canvas.Left="12" Canvas.Top="250" /> 

    <TextBox Name="txtDsiplayName" Text="{Binding Path=CustomColumnsDisplayName, Mode=TwoWay}" Canvas.Left="12" Canvas.Top="280" Height="23" 
      Width="452" > 

    </TextBox> 

    <Label Content="Width:" Canvas.Left="470" Canvas.Top="250" /> 
    <TextBox Name="txtWdith" Text="50" Canvas.Left="470" Canvas.Top="280" Height="23" 

      /> 

</Canvas> 
+0

不要使用'Canvas'然后。它永远不会限制其孩子的规模。使用其他布局面板,如'Grid' – dkozl 2014-09-29 10:04:59

+0

@dkozl我不知道如何使用网格布局,你可以给我一个例子,我很新的wpf – rogue39nin 2014-09-29 10:11:11

+0

@AwkwardCoder有没有更好的布局工具,我讨厌vs它的如此缓慢即时通讯使用2012 – rogue39nin 2014-09-29 10:42:56

回答

0

变化,有一个很好的教程here

网格布局的一个例子如下所示:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="28" /> 
    </Grid.RowDefinitions> 

    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
     <ColumnDefinition Width="200" /> 
    </Grid.ColumnDefinitions> 

    <Label Grid.Row="0" 
      Grid.Column="0" 
      Content="Name:"/> 

    <Label Grid.Row="1" 
      Grid.Column="0" 
      Content="E-Mail:"/> 

    <Label Grid.Row="2" 
      Grid.Column="0" 
      Content="Comment:"/> 

    <TextBox Grid.Column="1" 
      Grid.Row="0" 
      Margin="3" /> 

    <TextBox Grid.Column="1" 
      Grid.Row="1" 
      Margin="3" /> 

    <TextBox Grid.Column="1" 
      Grid.Row="2" 
      Margin="3" /> 

    <Button Grid.Column="1" 
      Grid.Row="3" 
      HorizontalAlignment="Right" 
      MinWidth="80" 
      Margin="3" 
      Content="Send" /> 

</Grid> 
+0

可以使用我的内嵌控件做示例,只是我不确定如何有效地使用行和列来重新生成图片中的框 – rogue39nin 2014-09-29 10:49:29

+0

请你看看上面的内容 – rogue39nin 2014-09-29 11:15:30