WPF中获取形状范围

在没加入到Canvas时,也能获取形状的方法:

var polygon = new Polygon();
                polygon.Points.Add(new Point(xStart, yStart));
                polygon.Points.Add(new Point(xEnd, yStart));
                polygon.Points.Add(new Point(xEnd, yEnd));
                polygon.Points.Add(new Point(xStart, yEnd));
                polygon.Arrange(new Rect());
                var geom = polygon.RenderedGeometry;

                if (isFullContained)
                {
                    foreach (var cabinet in CurrentDataProvider.CabinetElementList)
                    {
                        if (geom.FillContainsWithDetail(cabinet.CabinetGeometry) == IntersectionDetail.FullyContains)
                        {
                            cabinet.CabinetStatus = CabinetElement.CabinetStatusTypes.Active;
                            isActiveCabinet = true;
                        }
                    }

                }
时间: 2024-11-11 16:02:42

WPF中获取形状范围的相关文章

在WPF中获取DataGridTemplateColumn模板定义的内容控件

xaml格式描述: <DataGrid Name="dataGrid" Grid.Row="1" ItemsSource="{Binding}"  >            <DataGrid.Columns>              <DataGridTemplateColumn Header="描述">                    <DataGridTemplateCo

WPF中获取控件之间的相对位置

1,获取元素相对于父控件的位置 使用Vector VisualTreeHelper.GetOffset(Visual visual)方法,其会返回visual在其父控件中的偏移量,然后你再将返回值的Vector对象转换成Point对象就可以了 2,获取元素相对于祖宗控件或子孙控件的位置使用元素的 GeneralTransform TransformToAncetor(Visual ancetor)方法与GeneralTransform TransformToDescendent(Visual d

WPF 中获取DataGrid 模板列中控件的对像

#region 当前选定行的TextBox获得焦点 /// <summary> /// 当前选定行的TextBox获得焦点 /// </summary> public void SelectedRowTBFocus() { if (SelectIndex != -1) { FrameworkElement item = grid.Columns[6].GetCellContent(grid.Items[SelectIndex]); DataGridTemplateColumn te

WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条)

对于TreeView而言: TreeViewAutomationPeer lvap = new TreeViewAutomationPeer(treeView); var svap = lvap.GetPattern(PatternInterface.Scroll) as ScrollViewerAutomationPeer; var scroll = svap.Owner as ScrollViewer; //////////////////////////此处添加你想要对TreeView自身

WPF中根据DPI获取准确坐标点啊

public class DPIUtils { private static double _dpiX = 1.0; private static double _dpiY = 1.0; public static double DPIX { get { return DPIUtils._dpiX; } } public static double DPIY { get { return DPIUtils._dpiY; } } public static void Init(System.Win

在WPF的MVVM框架中获取下拉选择列表中的选中项

文章概述: 本演示介绍如何在WPF的MVVM框架中,通过数据绑定的方式获取下拉列表中的选中项.程序运行后的效果如下图所示: 相关下载(代码.屏幕录像):http://pan.baidu.com/s/1sjwN357 在线播放:http://v.youku.com/v_show/id_XODA5OTYzMDU2.html 温馨提示:如果屏幕录像和代码不能正常下载,可站内留言,或发邮件到[email protected] XAML代码如下所示: <Window x:Class="Demo02E

WPF 窗体中获取键盘和鼠标无操作时的超时提示

原文:WPF 窗体中获取键盘和鼠标无操作时的超时提示 通过调用Windows API中的GetLastInputInfo来获取最后一次输入的时间 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windo

关于WPF中关于样式和模板的区别

百度了下,改天整理. WPF中关于样式和模板的区别: 回答一: 1.WPF样式类似于Web应用程序中的CSS,在WPF中可以为控件定义统一的样式(Style).样式属于资源的一种,例如为Button定义统一的背景颜色和字体: <Window.Resources> <Style  TargetType="Button"> <Setter Property="Background" Value="Yellow" />

WPF中画虚线

原文:WPF中画虚线 在WPF中,画线的方法十分简单,只要声明一个Line然后添加到指定的位置就可以了,但Line并不仅仅只能画一条直线,还可以对直线进行修饰. 1.Line.StrokeDashArray属性 StrokeDashArray是一个双精度字符串,指示用于勾勒形状轮廓的虚线和间距的样式. 2.Line.StrokeDashCap属性 获取或设置一个 PenLineCap 枚举值,该值指定如何绘制虚线的两端. 3.Line.StrokeEndLineCap和Line.StrokeSt