问题标签 [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.
wpf - XAML-如何固定图像相对于显示窗口右侧的位置?
我正在开发一个使用 XAML 编写/显示 GUI 的应用程序。目前,我在 GUI 上显示了大部分所需的元素,现在正在处理布局——将各种元素定位在特定的位置。
大多数控件/按钮等都向左对齐,并保持“绑定”到 GUI 的左侧,即使我通过将窗口的左边缘进一步向左拖动来调整窗口大小(图标等移动到保持与窗口边缘的相对距离)。
但是,我有一个要向右对齐的元素,以便它将保持“绑定”到 GUI 的右侧 - 如果我通过将其右侧边缘进一步向右拖动来调整窗口大小,它应该移动以保持它与窗口边缘的相对距离......此刻,该元素停留在我绘制它的位置(即距离左侧 900 像素),无论窗口的大小是多少 -因此,如果我将窗口的宽度调整为小于 900 像素,则无法看到该元素。
我用于要绑定到 GUI 左侧的元素的 XAML 标记是,例如:
我尝试用于绑定到 GUI 右侧的元素的 XAML 标记是:
但是,将 to 设置HorizontalAlignment
为Right
, 实际上并没有将文本按钮移动到右侧 - 它仍然绑定到显示屏的左侧......我发现将其向右移动的唯一方法是设置一个大的它的'x'位置的值,即Margin="900, 0, 0, 0"
,但是该位置与窗口的大小无关,所以如果我将右侧边缘向左拖动太远,则该按钮位于窗口的显示区域之外,所以我看不出来...
如何设置按钮的属性,使其位置相对于显示窗口的右侧边缘?
编辑
所有有问题的元素都显示在相同的<Grid>
和<StackPanel>
标签内,即
c# - How to position WPF control next to the control with current focus?
I have a typical edit form (user control)
, with several input boxes.
I need a ListBox
which must show right below the TextBox
with current focus, so it needs to move dynamically.
I tried some binding, but nothing happens
c# - PopUp 控件不随 Window 移动,而在我们调整窗口大小后移动窗口
我面临一个 WPF 弹出控件问题。
当我们调整窗口大小并移动它时,PopUp 控件保持在它之前打开的位置,并且不随窗口移动。
那么这个问题的解决方案是什么。请提供解决方案的代码片段(如果有)。谢谢 :)
弹出控件的Xaml代码如下:
我们在地图上点击显示弹出控件的图标。点击事件的代码如下。
c# - 如何在wpf中计算弹出控件和屏幕顶部之间的距离?
我们使用了 WPF 弹出控件。
我们需要知道如何计算 Popup 控件距离屏幕顶部的距离/高度或 Y 坐标。那么,如何计算呢?
请参阅附图以获取问题截图。
我尝试了以下两种解决方案:
第一种解决方案------------------------------------------------ --------
问题:它总是返回与 relativePoint.X = 3.0 和 relativePoint.Y = 25.96 相同的坐标
我的弹出控件在地图图标的右侧打开,如图所示......所以当我点击不同的地图图标时,弹出位置相应地改变。所以它应该返回不同的地理坐标。
第二种解决方案------------------------------------------------ ----
问题:这个解决方案也有同样的问题..每次位置.X = 3.0 和位置.Y = 49.0 时它总是返回相同的地理坐标
wpf - 如何使工具提示出现在固定位置(在这种情况下:页面左下角)
我在“旋转木马”中有几个项目(以矩形的形式)(这基本上只是一个花哨的 PathListBox)
当鼠标悬停在其中一个矩形上时,会出现一个带有一些信息的工具提示。矩形的外观由 DataTemplate 确定。此 DataTemplate 的 xaml 的开头显示在此处:
为了完整起见,这是“Box512”的 xaml:
工具提示应该显示在页面左下角的固定位置,靠近名为“Box512”的 XAML 元素。
为此,我使用了工具提示的“PlacementTarget”-Property。我尝试过(如您在上面的代码中所见):
这没有用。而不是在页面的左下角,工具提示仍然显示在鼠标悬停的矩形上。然后我尝试了:
...这也不起作用。
所以我的问题是:如何使工具提示出现在 Box512 附近的同一位置,而与鼠标悬停在哪个矩形上无关?
****************************附加信息******************** ***
MainWindow.xaml:
主窗口.cs:
GraphItems 列表被定义为 MainViewModel 的一个属性:
“Text”属性与 GraphNode 类相关联:
GraphNode.cs:
c# - WPF - 将控件从左边缘扩展到窗口边缘
我目前正在使用 Popup 控件作为工具提示的屏幕 (C#/WPF) 以提供附加功能(例如复制和粘贴数据)。当单元格悬停在网格视图中时,弹出窗口会显示。我想要完成的是在单元格正下方显示弹出窗口,并允许它向右扩展但不超过屏幕边缘。
到目前为止,我已经能够让它显示在单元格下方并成为单元格的确切宽度。但是,我无法让它扩展到屏幕右侧。我所有的尝试要么没有结果,要么弹出窗口扩大了屏幕的整个宽度。
我一直在尝试将这些SystemParameters
属性与element.PointToScreen(new Point(0, 0))
没有成功的结合使用。我也尝试过PresentationSource.FromVisual(gridCell)
使用 进行一些操作并获得目标点source.CompositionTarget.TransformFromDevice.Transform()
,但同样没有成功。
显示位于特定点并扩展(向右)到屏幕边缘的 Popup 控件的最简单方法是什么?TIA