0

すべてのウィンドウ コントロールにはアンカーと呼ばれるプロパティがあり、それによってコントロールをその表面に貼り付けることができます。フォームのサイズを変更すると、フォームのサイズに合わせてコントロールの高さと幅も増減します。

wpfでそれを行う方法を誰かに尋ねたところ、子コントロールのHorizo​​ntalAllignmentおよびVerticalAllignmentプロパティを設定することで、WPFでの「ドッキング」を以下のように行うことができると彼は言いました。

WPF での「アンカー」は、子の Margin および/またはコンテナーの Padding を設定することで実行できます。

残念ながら、私はそうすることができません。これが私のサンプルxamlです。

<Window x:Class="WpfApplication1.Window3"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window3" Height="300" Width="515">
<Grid>
    <Label Name="lblName" Content="Enter Name" Height="28" HorizontalAlignment="Left" Margin="-17,5,0,0"  VerticalAlignment="Top" />
    <Label Content="Enter Address" Height="28" HorizontalAlignment="Left" Margin="-17,39,0,0" Name="label2" VerticalAlignment="Top" />
    <Label Content="Enter Company" Height="28" HorizontalAlignment="Left" Margin="-17,68,0,0" Name="label3" VerticalAlignment="Top" />
    <TextBox Height="23" HorizontalAlignment="Left" Margin="83,10,0,0" Name="textBox1" VerticalAlignment="Top" Width="222" />
    <TextBox Height="23" HorizontalAlignment="Left" Margin="83,73,0,0" Name="textBox2" VerticalAlignment="Top" Width="222" />
    <TextBox Height="23" HorizontalAlignment="Left" Margin="83,42,0,0" Name="textBox3" VerticalAlignment="Top" Width="222" />
</Grid>
</Window>

だから私が探しているものを達成するためにny xamlを編集してください....ありがとう

4

2 に答える 2

1

私があなたのためにコードを書くことはしませんが、適切にコーディングする方法を学ぶために何をする必要があるかを教えます。

まず、WPF が持つレイアウト コントロールについて学習する必要があります。実際には、このコード プロジェクトの記事を読むことをお勧めします。この記事には、各レイアウト コントロールの簡単な視覚的表現とそれらがどのように機能するかが含まれています。

現在の XAML はGridコントロールを正しく使用しておらず、現在のコントロールのセットアップ方法Canvasでは、静的レイアウトに使用される を使用することもできます。

と を定義してGridコントロールを正しく使用し、コントロールを特定の と に割り当てると、必要なものが得られます。:)RowDefinitionsColumnDefinitionsGrid.RowGrid.Column

于 2012-09-12T19:21:22.913 に答える
0

別のアプローチがあります。それはあなたに静的なレイアウトを与えるでしょう:

<Grid>
     <Grid.RowDefinitions>
 <RowDefinition Height="auto"/>
  <RowDefinition Height="auto"/>
  <RowDefinition Height="auto"/>
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
  <ColumnDefinition Width="auto"/>
  <ColumnDefinition Width="auto"/>
  </Grid.ColumnDefinitions>

  <Label Grid.Column="0" Grid.Row="0" Name="lblName" Content="Enter Name"/>     
  <Label Grid.Column="0" Grid.Row="1" Content="Enter Address" />     
  <Label Grid.Column="0" Grid.Row="2" Content="Enter Company" />     
  <TextBox Grid.Column="1" Grid.Row="0" Width="200"/>     
  <TextBox Grid.Column="1" Grid.Row="1" Width="200" />     
  <TextBox Grid.Column="1" Grid.Row="2" Width="200"/> 
</Grid>
于 2012-09-12T19:24:47.137 に答える