问题标签 [uniformgrid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1281 浏览

wpf - WPF:统一网格中的列跨度

我知道UniformGrid没有附加属性ColumnSpanRowSpan。但我真正需要的是具有固定宽度的容器和具有固定宽度的内部单元格,除了少数 UIElements,应该填充几个单元格。例如:

UniformGrid 对我来说是理想的,除了这种情况:最后一个TextBlock没有填充两个单元格。是否可以使用其他解决方案来提供所需的结果?感谢您的任何建议!

PSAnd...为什么 XAML 解析器在处理此标记时不会因错误而停止?

0 投票
2 回答
1108 浏览

wpf - 带有 DataTemplate 触发器的 UniformGrid 未按预期工作,WPF

UserControl我在一个 64中托管了一个列表ItemsControl,它DataContext是一个对象数组。那么DataContext对于个体的实例UserControl就变成了对象的实例。

这些对象有一个名为 的布尔变量Exists,这是一个 DataTemplate 触发器,用于确定是否Usercontrol将显示。

我使用 aUniformgrid来显示列表,但我遇到了一些奇怪的行为。Usercontrol不要调整大小。见附图。如果我改用 a StackPanel,它工作得很好。但我想UnifromGrid改用。

这是代码 - 只有 4 个对象将Exist变量设置为 true。

统一网格

堆栈面板

- - -更新 - - -

//SSCCE主窗口

主视图模型

模型

见附图:

图 1 显示了设计视图。为什么不调整用户控件的大小?图 2 显示执行时。为什么不调整用户控件的大小?图 3 显示了任何调整大小事件。控件正在正确调整大小。 设计视图执行 调整大小

0 投票
1 回答
3343 浏览

c# - WPF UniformGrid 动态行高

我写了一个显示一些图像的小应用程序。为此,我使用了UniformGrid. 我的xaml代码:

结果如下所示:

在此处输入图像描述

我的问题是,行高UniformGrid不是动态的。有没有可能每一行都有自己的行高?当前每行的高度是UniformGrid.

0 投票
1 回答
118 浏览

wpf - 如何在 WPF 中创建动态网格?我的意思是根据通用列表创建行和列

我如何将它绑定到统一面板?我想通过记录和绑定从 RestaurantProduct 绑定 ProductName,然后显示类似按钮。我如何将它绑定到统一面板?我想通过记录和绑定从 RestaurantProduct 绑定 ProductName,然后显示类似按钮。我如何将它绑定到统一面板?我想通过记录和绑定从 RestaurantProduct 绑定 ProductName,然后显示类似按钮。我如何将它绑定到统一面板?我想通过记录和绑定从 RestaurantProduct 绑定 ProductName,然后显示类似按钮。

WPF XAML 代码,用于绑定产品名称,但无法正常工作。需要帮助我们如何将其添加到视图中,就像共享图像 WPF XAML 代码一样,用于绑定产品名称但无法正常工作。需要帮助如何才能我们将其添加到我们的视图中,就像共享图像 WPF XAML 代码用于绑定产品名称但它不起作用。需要帮助我们如何将其添加到我们的视图中,就像共享图像 WPF XAML 代码用于绑定产品名称一样但它不起作用。需要帮助我们如何将其添加到我们的视图中,就像共享图像 WPF XAML 代码用于绑定产品名称但它不起作用。需要帮助我们如何将它添加到我们的视图中,就像共享图像一样 WPF XAML 代码,用于绑定产品名称,但无法正常工作。需要帮助我们如何将其添加到视图中,就像共享图像 WPF XAML 代码一样,用于绑定产品名称但无法正常工作。需要帮助如何才能我们将其添加到我们的视图中,就像共享图像一样

0 投票
0 回答
1177 浏览

c# - 动态 wpf uniformgrid 列数

我正在尝试在 wpf 中构建一个动态的 uniformgrid,它将根据控件的宽度更改列数。所以本质上,如果应用程序是全屏的,那么显示 7 列,如果应用程序被调整为小宽度,那么只有 1 列必须显示。我想适应那些非常宽的屏幕尺寸,如果用户想把应用程序塞到屏幕的一侧。

我正在显示数据的卡片视图,在本例中是一些带有肖像图像的通用员工数据。

我对如何解决这个问题的最初想法是将 uniformgrid 的 width 属性链接到 viewmodel 并将列数绑定到另一个属性,其中 get 将是一个计算列数的函数。但这不起作用,因为绑定不适用于 size 属性,即使在 OneWayToSource 模式下也是如此。

到目前为止,我找到的解决方案是创建一个自定义 UniformGrid 类并覆盖 MeasuerOverride 方法。它的工作原理是每次更改屏幕尺寸时都会运行,这会使应用程序变慢。并且当您最大化屏幕或将其固定到屏幕的一侧时,它不会被触发。

所以这里真正的问题是,这种功能是如何使用 MVVM 实现的(如果可能的话),并以一种不会降低应用程序速度的方式实现?

0 投票
1 回答
700 浏览

c# - XML 命名空间“使用:Microsoft.Toolkit.Uwp.UI.Controls”中的未知类型“UniformGrid”

我正在尝试使用统一网格来动态创建网格。但是,该类型UniformGrid不存在于Microsoft.Toolkit.Uwp.UI.Controls. 我已经为 UWP 更新了我的 NuGet,但它似乎仍然无法正常工作。这是我的代码:

提前致谢。

0 投票
1 回答
65 浏览

c# - 获取二维数组中点击的矩形

我有一个包含矩形的二维数组。它们存储在动态的 UniformGrid 中。如何找出数组中的哪个矩形是 MouseDown?

我试过了,但我一直得到 [0,0]:

这就是我生成矩形的方式:

xaml 中的 MouseDown 事件: <UniformGrid x:Name="GameUniformGrid" HorizontalAlignment="Left" Height="272" VerticalAlignment="Top" Width="272" Grid.Row="0" Grid.Column="0" Rectangle.MouseDown="ToggleGrid"/>

0 投票
1 回答
54 浏览

wpf - 将样式应用于 wpf 自定义日历

我有一个如下创建的日历

结果是这样的 自定义日历

现在我有另一个具有漂亮样式的日历控件我可以访问样式,但是当我应用它时,我得到一个错误

日历目标类型与元素类型不匹配...这是我的风格

如您所见,我的日历是由统一网格制作的,那么如何将日历样式应用于它呢?

0 投票
0 回答
110 浏览

c# - 自定义 UniformGrid 导致 ItemsControl 中的缩放问题

我在使用自定义 UniformGrid 控件时遇到问题,该控件在应用程序启动时没有缩放其所有子控件 - 我必须稍微调整窗口大小才能正确缩放内容。

UniformGrid 用作 ItemsControl 中的 ItemsPanel。ItemsControl ItemsSource 绑定到一个viewmodel 集合,UserControls 是根据viewmodel 类型选择的。这是一个片段:

我的问题是用户控件的某些部分在应用程序启动时没有缩放。一个示例是 RovIllustrationIndicator 用户控件。它包含一个带有 Grid 的 Viewbox,其中包含一个 Image 控件和一个 ItemsControl 控件(我已经剥离了不相关的东西):

在应用程序启动时,Viewbox 的高度和宽度都为零。但是,如果我只调整一个像素的窗口大小,则 Viewbox 会缩放到正确的大小。

在此处输入图像描述

问题是,如果我将顶部 ItemsControl ItemsPanel 更改为标准 UniformGrid 而不是我的自定义 WeightedUniformGrid,它在启动时可以很好地扩展。因此,WeightedUniformGrid 与 UserControls 的组合导致缩放在启动时失败。但是什么?

这是 WeightedUniformGrid 实现:

0 投票
0 回答
46 浏览

c# - 有什么方法可以确保 unifromgrid 仅在调整大小结束时重新渲染其项目

我最近开始学习 wpf,我发现uniformgrid 的性能很差,它会重新计算并在触发调整大小时重新渲染它的项目(如窗口调整大小或自身调整大小),这会使应用程序真正滞后(例如:播放缩回侧边栏动画时) ,我认为是因为它调用ArrangeOverride太频繁,所以我尝试延迟重新渲染直到调整大小结束,如果它发生在SizeChanged事件中,那么我可以捕获调整大小结束并阻止重新渲染任务直到那时,但它发生在ArrangeOverride我不知道怎么处理