winform を使い続けるのではなく、自分自身で WPF を学ぶことに移りました。バインドのより詳細な側面にはまだ触れていませんが、最初の実行インターフェイスを事前に作成して、xaml ファイルとコード ビハインド ファイルがどのように連携するかをよりよく把握できるようにしています。とにかく、入力が 4 行、それぞれが 11 列で、11 列目がコンボ ボックスであるテーブルを作成しようとしています。他のすべての入力はテキスト ボックスです。以下のコードは、すべての厚さ 2 の境界線を持つテーブルを生成します。ただし、すべての xaml 定義が同じ場合、3 行目と 4 行目の間にギャップが生じます。理由はわかりません。
提供できるヘルプは大歓迎です。粗雑なコードについてお詫び申し上げます。片付けは議題の上位にあります。
注 1; このグリッドは別のグリッドに存在します。親行の定義は auto に設定されています
注 2; デザイナーでこのグリッドを超えてページ デザインを拡張すると、デザイン時には正しくレンダリングされますが、デバッグに入るとギャップが生じます。
注3; コードを VS2012 の別のインスタンスにコピーしたところ、設計とデバッグの両方で正常に動作するようです....
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition MinWidth="30"/>
<ColumnDefinition MinWidth="30"/>
<ColumnDefinition MinWidth="30"/>
<ColumnDefinition MinWidth="30"/>
<ColumnDefinition MinWidth="30"/>
<ColumnDefinition MinWidth="30"/>
<ColumnDefinition MinWidth="30"/>
<ColumnDefinition MinWidth="30"/>
<ColumnDefinition MinWidth="30"/>
<ColumnDefinition MinWidth="75"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Label Grid.Column="0" FontWeight="Bold" BorderBrush="Black" BorderThickness="2,2,1,1">A</Label>
<Label Grid.Column="1" FontWeight="Bold" BorderBrush="Black" BorderThickness="1,2,1,1" HorizontalContentAlignment="Center">B</Label>
<Label Grid.Column="2" FontWeight="Bold" BorderBrush="Black" BorderThickness="1,2,1,1" HorizontalContentAlignment="Center">C</Label>
<Label Grid.Column="3" FontWeight="Bold" BorderBrush="Black" BorderThickness="1,2,1,1" HorizontalContentAlignment="Center">D</Label>
<Label Grid.Column="4" FontWeight="Bold" BorderBrush="Black" BorderThickness="1,2,1,1" HorizontalContentAlignment="Center">E</Label>
<Label Grid.Column="5" FontWeight="Bold" BorderBrush="Black" BorderThickness="1,2,1,1" HorizontalContentAlignment="Center">F</Label>
<Label Grid.Column="6" FontWeight="Bold" BorderBrush="Black" BorderThickness="1,2,1,1" HorizontalContentAlignment="Center">G</Label>
<Label Grid.Column="7" FontWeight="Bold" BorderBrush="Black" BorderThickness="1,2,1,1" HorizontalContentAlignment="Center">H</Label>
<Label Grid.Column="8" FontWeight="Bold" BorderBrush="Black" BorderThickness="1,2,1,1" HorizontalContentAlignment="Center">I</Label>
<Label Grid.Column="9" FontWeight="Bold" BorderBrush="Black" BorderThickness="1,2,1,1" HorizontalContentAlignment="Center">J</Label>
<Label Grid.Column="10" FontWeight="Bold" BorderBrush="Black" BorderThickness="1,2,2,1" HorizontalContentAlignment="Center">K</Label>
<TextBox Grid.Column="0" Grid.Row="1" BorderBrush="Black" BorderThickness="2,1,1,1" Padding="1" MinWidth="150"/>
<TextBox Grid.Column="1" Grid.Row="1" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="2" Grid.Row="1" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="3" Grid.Row="1" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="4" Grid.Row="1" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="5" Grid.Row="1" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="6" Grid.Row="1" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="7" Grid.Row="1" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="8" Grid.Row="1" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="9" Grid.Row="1" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<ComboBox Grid.Column="10" Grid.Row="1">
<!--Combobox items-->
</Combobox>
<TextBox Grid.Column="0" Grid.Row="2" BorderBrush="Black" BorderThickness="2,1,1,1" Padding="1" MinWidth="150"/>
<TextBox Grid.Column="1" Grid.Row="2" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="2" Grid.Row="2" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="3" Grid.Row="2" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="4" Grid.Row="2" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="5" Grid.Row="2" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="6" Grid.Row="2" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="7" Grid.Row="2" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="8" Grid.Row="2" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<TextBox Grid.Column="9" Grid.Row="2" BorderBrush="Black" BorderThickness="1" Padding="1"/>
<ComboBox Grid.Column="10" Grid.Row="2">
<!-- Combobox items -->
</ComboBox>
<TextBox Grid.Column="0" Grid.Row="3" BorderBrush="Black" BorderThickness="2,1,1,1" Padding="1" MinWidth="150" Visibility="Visible"/>
<TextBox Grid.Column="1" Grid.Row="3" BorderBrush="Black" BorderThickness="1" Padding="1" Visibility="Visible"/>
<TextBox Grid.Column="2" Grid.Row="3" BorderBrush="Black" BorderThickness="1" Padding="1" Visibility="Visible"/>
<TextBox Grid.Column="3" Grid.Row="3" BorderBrush="Black" BorderThickness="1" Padding="1" Visibility="Visible"/>
<TextBox Grid.Column="4" Grid.Row="3" BorderBrush="Black" BorderThickness="1" Padding="1" Visibility="Visible"/>
<TextBox Grid.Column="5" Grid.Row="3" BorderBrush="Black" BorderThickness="1" Padding="1" Visibility="Visible"/>
<TextBox Grid.Column="6" Grid.Row="3" BorderBrush="Black" BorderThickness="1" Padding="1" Visibility="Visible"/>
<TextBox Grid.Column="7" Grid.Row="3" BorderBrush="Black" BorderThickness="1" Padding="1" Visibility="Visible"/>
<TextBox Grid.Column="8" Grid.Row="3" BorderBrush="Black" BorderThickness="1" Padding="1" Visibility="Visible"/>
<TextBox Grid.Column="9" Grid.Row="3" BorderBrush="Black" BorderThickness="1" Padding="1" Visibility="Visible"/>
<ComboBox Grid.Column="10" Grid.Row="3" Visibility="Visible">
<!-- Combobox items -->
</ComboBox>
<TextBox Grid.Column="0" Grid.Row="4" BorderBrush="Black" BorderThickness="2,1,1,2" Padding="1" MinWidth="150"/>
<TextBox Grid.Column="1" Grid.Row="4" BorderBrush="Black" BorderThickness="1,1,1,2" Padding="1"/>
<TextBox Grid.Column="2" Grid.Row="4" BorderBrush="Black" BorderThickness="1,1,1,2" Padding="1"/>
<TextBox Grid.Column="3" Grid.Row="4" BorderBrush="Black" BorderThickness="1,1,1,2" Padding="1"/>
<TextBox Grid.Column="4" Grid.Row="4" BorderBrush="Black" BorderThickness="1,1,1,2" Padding="1"/>
<TextBox Grid.Column="5" Grid.Row="4" BorderBrush="Black" BorderThickness="1,1,1,2" Padding="1"/>
<TextBox Grid.Column="6" Grid.Row="4" BorderBrush="Black" BorderThickness="1,1,1,2" Padding="1"/>
<TextBox Grid.Column="7" Grid.Row="4" BorderBrush="Black" BorderThickness="1,1,1,2" Padding="1"/>
<TextBox Grid.Column="8" Grid.Row="4" BorderBrush="Black" BorderThickness="1,1,1,2" Padding="1"/>
<TextBox Grid.Column="9" Grid.Row="4" BorderBrush="Black" BorderThickness="1,1,1,2" Padding="1"/>
<ComboBox Grid.Column="10" Grid.Row="4">
<!-- Combobox items -->
</ComboBox>
</Grid>