私は固定数の列と不明な行数のグリッドを持っています。行数はコンストラクタで1回設定されます。ItemsPanelTemplateのGridにRowDefinitionを動的に追加するにはどうすればよいですか?
<ItemsControl Name="myItemsControl" ItemsSource="{Binding Cells}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid Name="myGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<!-- some rows should be added here -->
</Grid.RowDefinitions>
</Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style.../>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
私がしたコードの次の行をしようとしますが、それはnullを返します:
object obj = myItemsControl.Template.FindName("myGrid", myItemsControl);
私はコード内の「myGrid」に行を追加することができますどのように?
ありがとうございました。私は安心しています:)そして途中で最後の2つの方法には小さな間違いがありました。私はそれらを次のように変更しました:GetStarColumns(グリッド).Split( '、'); – Bijan
@Bizzありがとう:)最初に私はすべての特殊文字を取り除いたワードプレスにコードをコピーしたので、二重引用符で一重引用符を誤って置き換えているに違いありません。ある日に複数のスターカラムが必要になり、それを文字列に更新することを決めたあと、スターのカラム/ローが整数だったので、余分な '.ToString()'があった – Rachel
リンクオフサイトが悪いです、基本的なアイデア(バインドされたプロパティとプロパティ変更されたハンドラはimerativelyグリッドを変更する)を提示する必要があります。リンクは怠け者の実装の詳細です。 –