获取统一网格中的行数



我已将 uniformgrid 设置为 itemscontrol ItemsPanel.尚未设置行或列的编号。它根据屏幕尺寸进行调整。现在是否有可能获得行数?

当你在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>

相关内容

  • 没有找到相关文章

最新更新