问题标签 [wpf-grid]

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 投票
0 回答
622 浏览

wpf - WPF 图像适合网格内的画布内的内容

我有一个实现,其中我在 UserControl 中有一个滚动查看器。在滚动查看器中,我有一个包含画布的网格。画布内部又包含一个图像。像这样的东西。

我想要的是加载图像时它应该适合查看区域。我已经尝试了几件事来做到这一点,比如将 Grid 的宽度设置为其父级,但显然没有像我预期的那样工作。如果有人可以帮助我,我将不胜感激。

0 投票
1 回答
149 浏览

wpf-controls - Grid 中的 ColumnDefinition 位置

我试图弄清楚 a 是否ColumnDefinition知道它在里面的位置Grid

我有3列如下:

而且我想MouseEnter在两者上应用相同的功能,如果是 left 或 right 则执行不同的操作ColumnDefinition。是否ColumnDefinition有包含其编号或位置的属性Grid

0 投票
1 回答
1065 浏览

wpf - 按钮单击时的 WPF 网格可见性

我有一个 WPF 应用程序。如果我只在按钮单击时编写网格隐藏显示,那么它正在工作。但是如果我在下面写任何代码,它就不起作用。

我怎样才能解决这个问题?

0 投票
1 回答
1210 浏览

c# - WPF如何将按钮放入列内的行中

如何将按钮放入列内的行中?

Grid.Row="2" 超出索引。Grid.Colum="1" 将按钮放入正确的列。使用这些行的正确方法可能是什么?

0 投票
1 回答
161 浏览

c# - 如何为 ItemTemplate 和 ItemsSource 实现可附加属性

我正在尝试使用 WPF Grid 作为 ItemsControl 使用附加属性来创建可扩展的钢琴键盘。键盘中的每个键可以跨越 1 到 3 列,具体取决于它之前和之后的内容,如果是锐利的,则跨越 1 行,如果是自然的,则跨越 2 行。我已经有 2 个附加属性用于动态设置网格的列数和行数(尽管需要调整这些属性以支持每列/行的宽度/高度的设置)。

我现在需要实现的是ItemsSource(Keys) 和ItemTemplate(PianoKeyView) 的两个可附加属性。我需要在 Grid 控件上使用它,因为ItemsControl它只支持UniformGrid作为 GridItemsPanel并且不将特定项目分配给特定的列/行。我的钢琴键盘每个八度音阶需要 17 列键,但 ItemsControl 只会在 a 中创建 12 列,UniformGrid因为只有 12 个键传递给它。我已经包含了一个 1 倍频程钢琴键盘的图像,其中包含每个所需列的索引。

PianoKeyboard 网格列索引

这是我目前的键盘代码,我缺少GridExtensions.ItemsSourceand的实现GridExtensions.ItemTemplateGridExtensions是一个包含可附加属性的静态类。

这是 GridExtensions 中 ItemTemplate 可附加属性的 ItemTemplateChanged 处理程序的代码,请注意不编译的行上方的两个 TODO。

0 投票
1 回答
309 浏览

c# - 如何重用略有不同的 DataTemplate 元素?

在 WPF 中,我定义了一个元素网格。它们将根据ViewModel.

在 XAML 文件中,DataTemplate如下所示:

如您所见,我对每一行使用相同的元素块,但值略有不同。这非常不方便,因为添加新行需要手动调整,而在上方(在此网格内)添加一行则需要更多。

我可以一次定义元素集并使用简单的命令重用它们吗?像这样的东西:

0 投票
1 回答
283 浏览

wpf - 将滚动添加到网格列中的 StackPanel

目前我尝试通过将 StackPanel 从属于我的 ScrollViewer 来向我的 StackPanel 添加一个垂直滚动条。但是有了这个“解决方案”,我的 StackPanel 中的内容消失了,而且我也没有滚动条。

我的 XAML:

0 投票
1 回答
725 浏览

c# - WPF:如何正确使用控件大小的多个列表视图?

这是我现在的 XAML:

当我运行时,它显示:

在此处输入图像描述

问题马上出现,它使用了太多的垂直空间。

我喜欢并想要保留的一件事是,如果我缩小它以至于它太小而无法完整显示两个列表视图,则列表框会缩小并自动添加滚动条,但无论如何按钮仍然可见。

在此处输入图像描述

但主要问题发生在列表视图大小不同时。他们将始终使用一半的可用空间。假设我有 10 只动物和 5 种蔬菜,我的窗户足够高,可以容纳 15 件物品。我希望蔬菜列表视图只要求它需要的空间,让动物列表视图要求所有剩余空间。相反,两个列表视图都要求 50% 的剩余空间,导致动物列表视图太小而蔬菜列表视图太大。

在此处输入图像描述

我认为我想要的是列表视图行在有足够空间时表现得像 Height="Auto" ,而在没有足够空间时表现得像 Height="*" 。

0 投票
0 回答
120 浏览

wpf - WPF Grid的具体自适应设计

我需要以特定方式调整元素的参数,但是有一些狡猾的技巧逻辑,我还不能实现。

请让我画一幅画。在这张图片上,黑色边框是窗口的边框,蓝线表示网格,黄色表示文本框,它们占用了所有单元格的空闲空间。

在此处输入图像描述

0 投票
2 回答
185 浏览

c# - WPF 如何访问网格中的标签?

我在代码的网格中创建项目。

单击此网格单元格时,我想获取标签文本。我该怎么做?