问题标签 [wpf-positioning]

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 投票
4 回答
40971 浏览

wpf - 如何在wpf画布中居中元素

如何使用附加属性在 wpf 画布中居中元素?

0 投票
1 回答
346 浏览

wpf - 为什么我的 ItemsControl 中没有我的内部控制中心?

我正在使用 prism 来执行此操作,我只是重新创建了代码,以便我可以将其发布在这里,你们可以告诉我我缺少什么。我相信它很简单......我已经尝试了我能想到的一切。我想我只是错过了一些东西。

以图片为例

0 投票
1 回答
1302 浏览

wpf - 如何添加 ItemsControl 的子项,子项应在 Wpf 中决定自己的位置?

我正在使用 wpf 滑块在视频播放器中显示时间线。我需要在此之上添加某种 ItemControl,以便我可以在时间线上的某些位置上添加按钮(按钮将相对于父 ItemsControl 保持它们自己的位置)。

我应该使用什么 ItemsControl 容器来添加知道自己位置的子元素(基于它们的时间码)?我查看了 Wpf 中的不同 ItemsControl,看起来他们都有某种方式来堆叠他们的孩子(一个接一个的水平或垂直)!

为了增加一些复杂性,子项的定位如何相对于父项控件的宽度?这种方式放大和缩小 ItemsContol 将重新定位孩子!

0 投票
1 回答
16758 浏览

wpf - 在画布上定位 UIElement

我有一个画布和一个红色矩形放在上面。 Rectangle已实现MouseDown事件处理程序:

CreateMyBorder方法应该创建一个与画布上的矩形Border具有相同大小和位置的 UIElement ,即它应该覆盖红色矩形。

复制红色矩形的WidthHeight属性并为Border元素设置它们很容易:

但是,经过 2 小时的反复试验,在画布上复制红色矩形的位置对我来说似乎是不可能的!预期:

不起作用,因为xy变量值是NaN。为什么?

请帮忙,我无法相信像UIElement在面板上获取和设置 ' 位置这样微不足道的事情会如此烦人。谢谢。

0 投票
1 回答
3093 浏览

wpf - 如何在 ItemsControl 中定位 ViewModel

我的主窗口 ViewModel 有一个 ViewModel 的 ObservableCollection,称为 ViewModel。

Mainwindow XAML 有一个 ItemsControl,其中 ItemsSource 绑定到 ViewModel。

当我有

与集合中每个 ViewModel 关联的 Views 呈现在另一个之下。视图是用户控件,显示数据网格。

如何以可自定义的方式定位它们,例如 VM1 在左侧,VM2 和 VM3 在 VM1 的右侧堆叠在一起。

每个 VieModel 都有 PosX、PosY、Width 和 Height 属性,我一直在尝试各种模板方法,但到目前为止都没有成功。

我已经找到了如何使用可观察的图像集合来实现这一点的示例,但我正在努力的一件事是我的集合是 ViewModels。

0 投票
2 回答
1514 浏览

c# - 创建 WPF 弹出窗口

我想创建一个模式弹出窗口。到目前为止,我已经制作了一个在需要时创建的窗口。但我认为这不是正确的做法。问题是,每次我调用它时,它都会向右打开大约 20px,比上一个低 20px。这很烦人。这是默认行为还是我在这里做错了什么?

另外,如果可能的话,我希望它居中吗?

0 投票
2 回答
1487 浏览

c# - 在图像顶部放置标签

我在 WPF 中使用了图像。在图像的顶部,我放置了标签。当调整我的窗口大小时,图像也会调整大小,这没关系。然而,标签也应该重新定位。因此它们在图像顶部保持相同的相对位置。目前我正在使用画布。我为标签设置了 Canvas.Top 和 Canvas.Left 属性。调整大小时如何修复标签的位置。

0 投票
1 回答
83 浏览

wpf - 获取 wpf gridid

如果在我的 wpf 应用程序中有多个网格和一个可拖动的用户控件。任何人都可以建议每次将控件拖动到不同的网格上时可以返回不同网格 ID 的代码。

0 投票
3 回答
1281 浏览

wpf - 如何在 WPF MVVM 中绝对定位对话框视图

所以,我使用网格和堆栈面板很好地布置了我的所有控件。

在某些情况下,我想显示一个对话框层(添加首选项等)。它不需要是模态的,也不需要具有透明背景..我只需要它很好,不引人注目,并且绝对定位..

我能想到的绝对定位此类对话框控件的唯一方法是使用我没有使用的画布。我需要它显示在定期布置的控件之上..

有哪些选择?

0 投票
1 回答
2118 浏览

wpf - 使 TreeView.ItemsPanel 成为画布

我正在寻找一种在面板中制作我的TreeView显示项目的方法。Canvas

此解决方案允许我在 Root 周围移动TreeViewItem,但我希望每个项目都TreeView尊重Canvas附加属性。我的意思是,当 Root {Left = 50, Top = 10}(到这里有效)包含 Alpha {Left = 0, Top=0},Root 将在 [50,10] 和 Alpha 在 [0,0 ](坐标是绝对的Canvas)。

只有 Root 正确放置自己的原因TreeViewItem是,我使用TreeView.ItemsPanel. 我有一种感觉我应该TreeView.ItemContainerStyle改用,但我真的不知道该怎么做。

当然,任何帮助都会受到赞赏,最好HierarchicalDataTemplate也合并,所以_我知道如何将解决方案与Binding.