问题标签 [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 投票
1 回答
351 浏览

c# - 如何从 C# 代码创建和显示 WPF 内容?

我正在开发一个 WPF 应用程序,我想从 c# 代码而不是 XML 创建整个窗口。

我尝试了以下代码,但没有任何反应,网格不显示。我错过了什么?是否可以这样做或者有其他解决方案吗?

0 投票
1 回答
48 浏览

.net - IsSharedSizeScope 属性的 WPF 问题

IsSharedSizeScope 在 Grid(parent) 级别中设置为 true,StackPanel 作为子级,然后 IsSharedSizeScope 属性不起作用,但是当我删除 StackPanel 时它起作用。我试图了解我做错了什么。任何帮助,将不胜感激。

0 投票
1 回答
41 浏览

wpf - 仅增长的 GridSplitter

我有一个非常简单的要求,我似乎找不到解决方案。看看我的示例 XAML 代码:

我有三行,高度为 100。我希望用户能够拖动任何行的边缘以使其更高,所以我GridSplitter在每一行中都放了一个。

问题是:

GridSplitter 控件在 Grid 中的行或列之间重新分配空间,而不更改 Grid 的尺寸。例如,当 GridSplitter 调整两列的大小时,一列的 ActualWidth 属性会增加,而同时另一列的 ActualWidth 属性会减少相同的量。

上面的 XAML 不起作用,拖动时没有任何行改变大小,因为GridSplitter它试图从另一行获取高度并将其添加到正在调整大小的行。由于没有任何行可以变得更小 ( MinHeight="100"),因此没有任何反应。

但我不想从其他行中获取高度。我想独立增加一行的大小,这反过来会改变Grid. 如果我将中间行拖到高 50 像素,我希望该行为 150 像素,而其他两行保持 100 像素,使整个网格为 350 像素。

GridSplitter我失踪的任何设置都允许这样做吗?或者我可以使用其他一些控件吗?

0 投票
1 回答
42 浏览

c# - How can I trigger a ValidationRule on a WPF grid based upon its contents, rather than its properties like width?

One can only use a ValidationRule with binding; what's a good way to use Validation.ErrorTemplate with Grid based upon its contents rather than its properties like width, etc.?

0 投票
0 回答
26 浏览

c# - 在未绑定的 Accessform 中使用 WPF-Grid

我尝试将WPF-Grid插入到未绑定的 Access-Form 中。我有一个使用 C# 的 Access 表单.dll。这适用于未绑定的 Access-Form。现在我想插入一个 wpf-grid 作为 ActiveX-Element。

xml:

cs

使用 Access-Form 的简单方法

当我尝试插入ComRound.Wpf1InAccess时,我收到消息(抱歉:它是德语):Der OLE-Server ist nicht registriert. Damit der OLE-Server registriert wrd, müssen Sie Ihn erneut installieren

chinese (like): the OLE-Server not registered to register the OLE-Server, you have to install it again

我注册了 VS2019 和 RegAsm。没有任何效果。任何有想法的人?

谢谢 Mafusys

0 投票
1 回答
71 浏览

c# - 如何从 UIElement 中删除父级?WPF

我有一些带边框的网格(网格名称是“maingrid”)

然后我有另一个带有构造函数和网格的窗口(网格名称是“somegrid”)

如何从“brd2”中删除父母并使此边框成为“somegrid”的子元素,但我需要将“brd1”与“maingrid”一起保留
简而言之,我需要使用 null 父属性克隆“brd1”。

0 投票
1 回答
40 浏览

wpf - 如何告诉网格在需要时缩小哪一列

我想将 a 限制Grid.ColumnDefinition为最大宽度,但我不知道以编程方式执行此操作的宽度。考虑以下 XAML:

最多为 150 像素宽,Grid但可以更小。第TextBlock0 列中的Wrap. 第TextBlock1 列中的NoWrap. 为了清晰起见,添加了背景颜色。结果:

在此处输入图像描述

现在让我们更改文本:

结果:

在此处输入图像描述

可换行文本不换行。似乎没有提供Grid反馈TextBlock。我想要的行为是让Grid意识到它的列Auto已经扩展超过了它自己的MaxWidth属性并尝试缩小列中的内容。TextBlockthat isNoWrap不会遵守这个要求,而withTextBlockWrap。因此输出将是:

在此处输入图像描述

我想不出任何*调整大小的方法,因为我不希望网格占用这么多空间,除非需要内容。顺便说一句,实际Grid有许多潜在大小的列。这是一个简短的例子。

[编辑]:我的解决方案是一个 hack,我不在乎,但它有效。我在我的模型上创建了一个属性,该属性确定可以出现在其他列中的内容,包括图像、边距、文本等。然后它从网格大小中减去以找到设置了 Wrap 的 TextBlock 的最大宽度。工作得很好,但很丑。

0 投票
0 回答
44 浏览

c# - WPF 内部网格没有按比例放大

我无法将我的内部网格的一部分缩放到特定大小。问题是,我想做的是在一个地方周围创建一个边框,稍后我将在其中插入图像。我希望我的应用程序具有可扩展性,但目前我无法创建它。

所以,这是我的代码:

外部网格工作得非常好,即使是“画布右”。但不幸的是,我无法使第二个网格的中间部分扩大到其最大潜力。知道我该怎么做吗?先感谢您!

0 投票
1 回答
42 浏览

c# - width="*" 的网格列未按预期使用所有可用空间

我第一次使用 ListView 时遇到问题。我的自定义项目(当前)应该有 2 行 3 列,每列包含一个标签(第一列宽度 =“自动”),一个文本框(填充第二列(用 =“ ” 或宽度 =“100 ” 测试)和一个第三列中的按钮(宽度=“自动”)

不幸的是,第二列无法缩放以使用完整的 Listview 宽度,但其行为类似于 width="Auto"。

请注意,最初我在 DataTemplate 中使用 StackPanel 作为顶部控件并将其替换为网格,只是为了检查它是否可以解决问题。

在测试应用程序中直接在窗口中测试 DataTemplate Grid 可以按预期工作。

0 投票
0 回答
43 浏览

wpf - WPF 窗口扩展到全屏

我有这段代码,我想在上面显示我的布局问题。

矩形表示数据网格或图形等对象。前两个矩形很小,但第三个矩形可能很长,因此位于 scrollviewer 内。问题是这个长矩形在滚动条出现之前将对话框扩展到全屏。

我想仅根据两个小矩形(网格的第一行)设置对话框的宽度,并将滚动查看器应用于长矩形。但是,我需要保留SizeToContent = "WidthAndHeight",因为小矩形可以是不同的大小。

关于如何编辑布局的任何想法?