问题标签 [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.
c# - 如何从 C# 代码创建和显示 WPF 内容?
我正在开发一个 WPF 应用程序,我想从 c# 代码而不是 XML 创建整个窗口。
我尝试了以下代码,但没有任何反应,网格不显示。我错过了什么?是否可以这样做或者有其他解决方案吗?
.net - IsSharedSizeScope 属性的 WPF 问题
IsSharedSizeScope 在 Grid(parent) 级别中设置为 true,StackPanel 作为子级,然后 IsSharedSizeScope 属性不起作用,但是当我删除 StackPanel 时它起作用。我试图了解我做错了什么。任何帮助,将不胜感激。
wpf - 仅增长的 GridSplitter
我有一个非常简单的要求,我似乎找不到解决方案。看看我的示例 XAML 代码:
我有三行,高度为 100。我希望用户能够拖动任何行的边缘以使其更高,所以我GridSplitter
在每一行中都放了一个。
问题是:
GridSplitter 控件在 Grid 中的行或列之间重新分配空间,而不更改 Grid 的尺寸。例如,当 GridSplitter 调整两列的大小时,一列的 ActualWidth 属性会增加,而同时另一列的 ActualWidth 属性会减少相同的量。
上面的 XAML 不起作用,拖动时没有任何行改变大小,因为GridSplitter
它试图从另一行获取高度并将其添加到正在调整大小的行。由于没有任何行可以变得更小 ( MinHeight="100"
),因此没有任何反应。
但我不想从其他行中获取高度。我想独立增加一行的大小,这反过来会改变Grid
. 如果我将中间行拖到高 50 像素,我希望该行为 150 像素,而其他两行保持 100 像素,使整个网格为 350 像素。
GridSplitter
我失踪的任何设置都允许这样做吗?或者我可以使用其他一些控件吗?
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.?
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
c# - 如何从 UIElement 中删除父级?WPF
我有一些带边框的网格(网格名称是“maingrid”)
然后我有另一个带有构造函数和网格的窗口(网格名称是“somegrid”)
如何从“brd2”中删除父母并使此边框成为“somegrid”的子元素,但我需要将“brd1”与“maingrid”一起保留?
简而言之,我需要使用 null 父属性克隆“brd1”。
wpf - 如何告诉网格在需要时缩小哪一列
我想将 a 限制Grid.ColumnDefinition
为最大宽度,但我不知道以编程方式执行此操作的宽度。考虑以下 XAML:
最多为 150 像素宽,Grid
但可以更小。第TextBlock
0 列中的Wrap
. 第TextBlock
1 列中的NoWrap
. 为了清晰起见,添加了背景颜色。结果:
现在让我们更改文本:
结果:
可换行文本不换行。似乎没有提供Grid
反馈TextBlock
。我想要的行为是让Grid
意识到它的列Auto
已经扩展超过了它自己的MaxWidth
属性并尝试缩小列中的内容。TextBlock
that isNoWrap
不会遵守这个要求,而withTextBlock
会Wrap
。因此输出将是:
我想不出任何*
调整大小的方法,因为我不希望网格占用这么多空间,除非需要内容。顺便说一句,实际Grid
有许多潜在大小的列。这是一个简短的例子。
[编辑]:我的解决方案是一个 hack,我不在乎,但它有效。我在我的模型上创建了一个属性,该属性确定可以出现在其他列中的内容,包括图像、边距、文本等。然后它从网格大小中减去以找到设置了 Wrap 的 TextBlock 的最大宽度。工作得很好,但很丑。
c# - WPF 内部网格没有按比例放大
我无法将我的内部网格的一部分缩放到特定大小。问题是,我想做的是在一个地方周围创建一个边框,稍后我将在其中插入图像。我希望我的应用程序具有可扩展性,但目前我无法创建它。
所以,这是我的代码:
外部网格工作得非常好,即使是“画布右”。但不幸的是,我无法使第二个网格的中间部分扩大到其最大潜力。知道我该怎么做吗?先感谢您!
c# - width="*" 的网格列未按预期使用所有可用空间
我第一次使用 ListView 时遇到问题。我的自定义项目(当前)应该有 2 行 3 列,每列包含一个标签(第一列宽度 =“自动”),一个文本框(填充第二列(用 =“ ” 或宽度 =“100 ” 测试)和一个第三列中的按钮(宽度=“自动”)
不幸的是,第二列无法缩放以使用完整的 Listview 宽度,但其行为类似于 width="Auto"。
请注意,最初我在 DataTemplate 中使用 StackPanel 作为顶部控件并将其替换为网格,只是为了检查它是否可以解决问题。
在测试应用程序中直接在窗口中测试 DataTemplate Grid 可以按预期工作。
wpf - WPF 窗口扩展到全屏
我有这段代码,我想在上面显示我的布局问题。
矩形表示数据网格或图形等对象。前两个矩形很小,但第三个矩形可能很长,因此位于 scrollviewer 内。问题是这个长矩形在滚动条出现之前将对话框扩展到全屏。
我想仅根据两个小矩形(网格的第一行)设置对话框的宽度,并将滚动查看器应用于长矩形。但是,我需要保留SizeToContent = "WidthAndHeight"
,因为小矩形可以是不同的大小。
关于如何编辑布局的任何想法?