私は Visual Studio 2012 と WPF で最も厄介な問題を抱えており、助けを求めていました。グリッドのセルを含む TextBlocks などの子要素を持つ単純なグリッドがあります。TextBlocks は、セル内に相対的に配置されるように設定されています (たとえば、Left の HorizontalAlignment を使用)。あえてグリッドの列または行のサイズを変更するまで、すべて問題ありません。次に、Visual Studio は、親/子要素の結果の位置に合わせて、Margin および Width/Height 属性を挿入します。これはすべて静かに行われ、後で列のサイズをさらに縮小することにした場合、挿入された Margin 属性が原因で突然 TextBlock が切り取られてしまうまで気がつきません。すべての子要素を調べて、これらの余分な属性を手動で削除する必要があります。現在のプロジェクトでこれを100回近く行う必要がありましたが、Web上でVisual Studioにバックオフを指示し、達成しようとしている素敵なフォーマットを盗むこれらの自由を取るのをやめる方法を見つけることができません. 参照用のコード スニペットを次に示します。しかし、これは私のプロジェクトのグリッドのさまざまなインスタンスで発生しました。
<Grid Canvas.Left="435" Canvas.Top="138" Height="61" Width="192">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="11*"/>
<ColumnDefinition Width="21*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="Subtotal:" HorizontalAlignment="Right" VerticalAlignment="Center" />
</Grid>
...そして、列 0 のサイズ変更後:
<TextBlock Grid.Row="0" Grid.Column="0" Text="Subtotal:" HorizontalAlignment="Right" VerticalAlignment="Center" Height="16" Margin="0,7" Width="47" />
確かに、この問題を経験した人は他にもいます。助けてください!
ありがとう