通过C#设置ItemPanelTemplate UniformGrid的行

时间:2013-03-02 19:53:03

标签: c# wpf dependency-properties itemscontrol uniformgrid

这就是我所拥有的:

<ItemsControl x:Name="InfoGrid">
       <!-- ItemsPanelTemplate -->
       <ItemsControl.ItemsPanel>
               <ItemsPanelTemplate>
                     <UniformGrid Rows="4" Columns="5"                                                  Background="LightGray" />
               </ItemsPanelTemplate>
       </ItemsControl.ItemsPanel>
       <!-- ItemTemplate -->
       <ItemsControl.ItemTemplate>
              <DataTemplate>
                   <Border BorderBrush="Black" BorderThickness="{Binding Path=BorderThickness}">
                   <CheckBox Style="{StaticResource styleCustomCheckBox}" IsChecked="{Binding Path=IsChecked, Mode=TwoWay}"/>
                   </Border>
              </DataTemplate>
       </ItemsControl.ItemTemplate>

InfoGrid的itemsource设置为后面代码中名为infoData的集合,如何通过C#设置此UniformGrid的行/列(最好是不包含在infoData中的变量)?

我尝试使用setter进行绑定,但似乎没有应用这些值。

1 个答案:

答案 0 :(得分:1)

您需要访问后面代码中的ItemsPanel才能在运行时设置列。这有几个不同的选项,包括导航VisualTree。 This answer详细介绍了选项和步骤。

相关问题