c# - 如何修复从右到左的绘制矩形
问题描述
绘制矩形时 向右
当我向左侧绘制矩形时,它变成这样
这是我的代码:
ObservableCollection<RectItem> RectItems = new ObservableCollection<RectItem>();
public void MouseDownEvent(object sender, MouseButtonEventArgs e)
{
startPoint = Mouse.GetPosition((IInputElement)sender);
}
public void MouseMoveEvent(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Released) return;if (selected) return;if (_isDragging) return;var pos = Mouse.GetPosition((IInputElement)sender);
// Set the position of rectangle
var x = Math.Min(pos.X, startPoint.X);
var y = Math.Min(pos.Y, startPoint.Y);
// Set the dimenssion of the rectangle
var w = Math.Max(pos.X, startPoint.X) - x;
var h = Math.Max(pos.Y, startPoint.Y) - y;
if (RectItems.Count != 0)
{
var exist = RectItems.Where(xx => xx.X == x).LastOrDefault();
if (exist != null)
{
exist.Height = h;
exist.Width = w;
}
else
{
RectItems.Add(new RectItem
{
X = x,
Y = y,
Height = h,
Width = w,
id = RectItems.Count() + 1,
});
}
}
else
{
RectItems.Add(new RectItem
{
X = x,
Y = y,
Height = h,
Width = w,
id = RectItems.Count() + 1,
});
}
} public void PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e) { StopDragging(); e.Handled = true; }
解决方案
推荐阅读
- java - Java 错误:不兼容的类型:Object[] 无法转换为 Student[]
- java - Mapstruct 映射子类和父类作为源
- python - socketIO-client 连接到服务器时抛出错误
- google-chrome-extension - 为什么 http 未定义 chrome.runtime 但 https 可以正常工作
- swift - Observable
If else in RxSwift - c# - 检测两个字符串之间的差异
- c# - 如何在 c# 中使用 open cv 检测目标上的弹孔
- google-apps-script - 获取股票名称中带有 ^ 的股票的 API 信息
- css - 博客布局缩小 [css]
- azure - 如何将应用程序发布到 Visual Studio 2017 中在 azure 中创建的多个 webapp