0

これが私が持っているものです:

<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#を介して(できればinfoDataに含まれていない変数に)このUniformGridの行/列を設定するにはどうすればよいですか?

セッターをバインドして使用しようとしましたが、値が適用されていないようです。

4

1 に答える 1

1

ItemsPanel実行時に列を設定するには、コードビハインドのにアクセスする必要があります。VisualTreeのナビゲートなど、これにはいくつかの異なるオプションがあります。 この回答では、オプションと手順について詳しく説明しています。

于 2013-03-02T20:08:47.683 に答える