- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我确信这是一个 super 简单的过程,但我正在开发 C# UWP 应用程序并试图制作可拖动的用户控件,但在我的鼠标事件中我收到以下错误:
CS1061“MouseEventArgs”不包含“GetPosition”的定义,并且找不到接受“MouseEventArgs”类型的第一个参数的扩展方法“GetPosition”(是否缺少 using 指令或程序集引用?)
我发现这个例子是我在堆栈上使用的 ( Dragging a WPF user control ) 并且之前使用鼠标按下事件在 winforms 中的列表框之间拖动项目但是没有这个问题。
这是我的代码:
<UserControl
x:Class="HopHaus.TimerControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HopHaus"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400" Width="120" Height="60">
<Grid Margin="0,0,0,167" Width="120">
<Rectangle Fill="#FF404040" HorizontalAlignment="Left" Height="60" Margin="1,0,-1,-133" Stroke="Black" VerticalAlignment="Top" Width="120"/>
<TextBox x:Name="timersetBox" Margin="-1,-2,1,-59" TextWrapping="Wrap" Text="00" VerticalAlignment="Top" Height="60" BorderBrush="Transparent" FontFamily="Fonts/DIGITAL.TTF#Digital" Foreground="#FF72FB00" FontSize="50" Background="Transparent" TextAlignment="Right" AcceptsReturn="True" SelectionHighlightColor="#000078D7" Width="120"/>
<Border x:Name="dragBrdr" BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Left" Height="59" Margin="2,0,0,-59" VerticalAlignment="Top" Width="118"/>
</Grid>
</UserControl>
和:
public sealed partial class TimerControl : UserControl
{
Point currentPoint;
Point anchorPoint;
bool isInDrag;
public TimerControl()
{
this.InitializeComponent();
}
private TranslateTransform transform = new TranslateTransform();
private void root_MouseMove(object sender, MouseEventArgs e)
{
if (isInDrag)
{
var element = sender as FrameworkElement;
currentPoint = e.GetPosition(null);
transform.X += currentPoint.X - anchorPoint.X;
transform.Y += (currentPoint.Y - anchorPoint.Y);
this.RenderTransform = transform;
anchorPoint = currentPoint;
}
}
}
我同时使用 System.Windows.Input
和 using Windows.Devices.Input
非常感谢您提供的任何帮助。
最佳答案
为了更好地支持触摸和墨迹书写,对鼠标事件进行了抽象。这称为指针。所以你有一个 PointerMoved 事件
在 xaml 中:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
PointerMoved="Grid_PointerMoved">
</Grid>
在代码中
private void Grid_PointerMoved(object sender, PointerRoutedEventArgs e)
{
var point = e.GetCurrentPoint(null);
}
关于c# - 'MouseEventArgs' 不包含 'GetPosition' 的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41716160/
我一直在关注 Create and use ASP.NET Core Razor components 我对这部分有疑问 @Title @ChildContent
我有一个图片框,一旦在其中单击鼠标,我需要获取框内鼠标位置的值。我可以使用以下代码执行此操作: public void pictureBox1_MouseClick(object sender, Mo
我目前正在开发我的一个项目,它是一个类似于 MSPaint 的 WPF 应用程序。但是,我不使用铅笔工具或类似的工具,而是使用对象(矩形、圆形、三角形等)进行绘画。我使用 Prism 和 MVVM 模
我在我的 WPF 应用程序中使用 RX 来跟踪鼠标移动。 与使用 RX 示例方法时相比,当直接订阅鼠标移动事件时,我在 MouseEventArgs 中获得了不同的来源。 为了便于说明,这里有一个简单
Windows 窗体应用程序: 这让我困惑了好几个小时。我正在尝试做的是,当我按住标签时,它会移动表格。 private void label1_MouseUp(object sender,
我看到了这个question我有同样的问题,但我在 View 模型中有命令。我可以像 CommandParameter 那样传递 MouseEventargs 吗?如何传递? acb:CommandB
我有一个包含很多很多控件的表单。我需要检测鼠标是向下还是向上。大多数时候,我没有 MouseEventArgs。 没有 mouseEventArgs 是否有一种快速简便的方法来判断鼠标是否按下? 是否
我确定这有一个直接的答案,但我似乎无法弄明白。 我正在尝试使用我的 mousehover 事件添加一个 tooltip。过去,我使用过 mousemove 事件,但不幸的是,这意味着 tooltip
我正在尝试制作这种扩展方法。强制转换时出现错误,提示“无法将类型 T 转换为 MouseEventArgs”。难道我不能向上转换对象(因为 MouseEventArgs : InputEventArg
您好,我有一个 MDI 应用程序,其中一个子窗口处理许多鼠标事件。在我尝试从 e.Delta(鼠标定位器数量)获取值之前,一切都没有问题(e.Button、e.Location 等)。 e.Delta
我在使用 Forms 集成的 WPF 应用程序中为 NotifyIcon 设置了以下事件处理程序: void MyNotifyIcon_MouseDown(Object sender, System.
我确信这是一个 super 简单的过程,但我正在开发 C# UWP 应用程序并试图制作可拖动的用户控件,但在我的鼠标事件中我收到以下错误: CS1061“MouseEventArgs”不包含“GetP
我会尝试一点 Shapemoving 并编写以下应用程序:
我有一个矩形,当我点击它时,它会显示到另一个 View 我正在使用 Rectangle.Contains(e.Location)(e 是 MouseEventArgs)这在 SizeMode 正常时没
我有一种方法可以检测 visual studio 通过双击表单产生的左键单击事件。 private void pictureBox1_Click(object sender, EventArgs e)
我是一名优秀的程序员,十分优秀!