0

項目コントロールの ItemsPanel として uniformgrid を設定しました。行数または列数を設定していません。画面サイズに応じて調整されます。

4

1 に答える 1

0

ここStackOverflowで質問する場合は、より多くの情報を提供する必要があります。コード ビハインドまたはビュー モデルのどちらで行数にアクセスするかを指定した場合 (答えは異なるでしょう)、既に答えを受け取っていると思います。

コードビハインドでそれらにアクセスしたいと思います...このメソッドでは、このメソッドを実装する必要があります:

public T FindVisualChild<T>(DependencyObject dependencyObject) where T : 
DependencyObject
{
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(dependencyObject); i++)
    {
        DependencyObject child = VisualTreeHelper.GetChild(dependencyObject, i);
        if (child != null && child is T) return (T)child;
        else
        {
            T childOfChild = FindVisualChild<T>(child);
            if (childOfChild != null) return childOfChild;
        }
    }
    return null;
}

次に、この方法を使用します。

UniformGrid uniformGrid = FindVisualChild<UniformGrid>(ItemsControl);

この例では、次の XAML を使用します。

<ItemsControl Name="ItemsControl">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid Columns="3" Rows="2" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>
于 2013-10-30T09:49:51.330 に答える