私はxamlで1行のグリッドを作成してから、C#で動的に行を追加します。しかし、ALMOSTのラインアップはありますが、QUITEはそうしません。コードが同じときはどうしてでしょうか?xamlとC#は等価でなければなりません。
XAMLの最も適切な部分がある:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="4*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
のC#の最も適切な部分がある:
を更新しました
Grid grd = new Grid();
ColumnDefinition c0 = new ColumnDefinition();
c0.Width = new GridLength(1, GridUnitType.Star);
ColumnDefinition c1 = new ColumnDefinition();
c1.Width = new GridLength(1, GridUnitType.Star);
ColumnDefinition c2 = new ColumnDefinition();
c2.Width = new GridLength(1, GridUnitType.Star);
ColumnDefinition c3 = new ColumnDefinition();
c3.Width = new GridLength(4, GridUnitType.Star);
ColumnDefinition c4 = new ColumnDefinition();
c4.Width = new GridLength(1, GridUnitType.Star);
ColumnDefinition c5 = new ColumnDefinition();
c5.Width = new GridLength(3, GridUnitType.Star);
ColumnDefinition c6 = new ColumnDefinition();
c6.Width = new GridLength(2, GridUnitType.Star);
ColumnDefinition c7 = new ColumnDefinition();
c7.Width = new GridLength(2, GridUnitType.Star);
grd.ColumnDefinitions.Add(c0);
grd.ColumnDefinitions.Add(c1);
grd.ColumnDefinitions.Add(c2);
grd.ColumnDefinitions.Add(c3);
grd.ColumnDefinitions.Add(c4);
grd.ColumnDefinitions.Add(c5);
grd.ColumnDefinitions.Add(c6);
grd.ColumnDefinitions.Add(c7);
// Add it to the StackPanel
spNufan.Children.Add(grd);
私が持っているようですすべての列が並んでいて、本当に広いまたは「細胞」が波状/波状のカラムアライメントでラップすることを可能にする。
最初に私が正常に動作ラッピングを持っていましたが、列が正確に整列されませんでしたが、今私は私のXAMLに次の(SharedSizeGroup要素)を追加したこと:
<StackPanel x:Name="spNufan" Grid.IsSharedSizeScope="True"
Orientation="Vertical">
<Grid ShowGridLines="True" >
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="ZeroethColumn" Width="*" />
<ColumnDefinition SharedSizeGroup="FirstColumn" Width="*" />
<ColumnDefinition SharedSizeGroup="SecondColumn" Width="*" />
<ColumnDefinition SharedSizeGroup="ThirdColumn" Width="4*" />
<ColumnDefinition SharedSizeGroup="FourthColumn" Width="*" />
<ColumnDefinition SharedSizeGroup="FifthColumn" Width="3*" />
<ColumnDefinition SharedSizeGroup="SixthColumn" Width="2*" />
<ColumnDefinition SharedSizeGroup="SeventhColumn" Width="2*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0"
Margin="2"
TextAlignment="Left"
TextWrapping="Wrap"
. . .
...それなし私はTextWrappingここ
「ラップ」に設定されているものの長く、(細胞は、彼らが必要としてラップすることができます)んです私の適切なC#の:
Grid grd = new Grid();
grd.ShowGridLines = true;
ColumnDefinition c0 = new ColumnDefinition();
c0.Width = new GridLength(1, GridUnitType.Star);
c0.SharedSizeGroup = "ZeroethColumn";
. . .
spNufan.Children.Add(grd);
. . .
TextBlock tbDateTime = new TextBlock();
tbDateTime.Margin = _margin;
tbDateTime.Background = scb;
tbDateTime.TextWrapping = TextWrapping.Wrap;
tbDateTime.TextAlignment = TextAlignment.Left;
tbDateTime.VerticalAlignment = VerticalAlignment.Center;
tbDateTime.Text = ADateTime.ToString();
Grid.SetColumn(tbDateTime, LogParsePumpViewerConsts.GRID_COL_DATETIME);
grd.Children.Add(tbDateTime);
視覚的にどのように異なるかを示すスクリーンショットを提供できますか? –
自動生成列をtrueに設定していますか?もしそうであれば、このspNufan.Children.Add(grd);もfalseに設定します。 .Children.Add()メソッド – MethodMan
のためにここに昨日ここの投稿のように見えますか?また、余白と埋め込みの設定を注意深くチェックしましたか? –