私はWPF C#で新しいアプリケーションを開発し始めました。私が持っている問題は、グリッド列の定義に関するものです。C#WPFグリッドの列が正しく解釈されない
グリッドの行と列の定義(下記のコードを参照)を使用して、私のウィンドウを別々のセクションに分割しました。
私は2つの行を持っています。最初は現在空です。もう1つは新しいグリッドを含み、それはさらに列に分割されます。 すべてのグリッドが境界内にあります。
私は取得しています奇妙な行動は、このコードのセクションです:
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="1">
<Grid>
</Grid>
</Border>
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="2">
<Grid>
</Grid>
</Border>
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="3">
<Grid>
</Grid>
</Border>
問題は、最初の「サブグリッド」は、実際に 第二カラム第2、第3に対応していること、ですどちらも第3列を参照してください。 つまり、Grid.Column = "2"の2番目のサブグリッドに何らかのコントロールを置くたびに、何らかの理由でコントロールが第3列に表示されます。
私はそれを耳にしていて、私が得ている動作を理解できないようです。
もう一つの例:私は次のように、第2の列にコントロールを配置しました:
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="2">
<Grid>
<TextBox Width="100" Height="50"></TextBox>
</Grid>
</Border>
全体XAMLコード:
<Border BorderThickness="1" BorderBrush="#ffcd22" Margin="10,10,10,10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border BorderThickness="1" BorderBrush="#ffcd22" Margin="-1,-1,-1,-1" Grid.Row="2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="200" />
</Grid.ColumnDefinitions>
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="1">
<Grid>
</Grid>
</Border>
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="2">
<Grid>
</Grid>
</Border>
<Border BorderThickness="1" BorderBrush="#ffcd22" Grid.Column="3">
<Grid>
</Grid>
</Border>
</Grid>
</Border>
</Grid>
3 ColumnDefinitionsはインデックス1,2,1,2,3 ... – ASh