Xaml 如何在Blend for Visual Studio中保存鼠标单击的坐标?

Xaml 如何在Blend for Visual Studio中保存鼠标单击的坐标?,xaml,blend,mouse-coordinates,Xaml,Blend,Mouse Coordinates,我想为触摸屏设计一个界面原型,这样我就可以在用户测试过程中记录每次鼠标点击。 我成功地制作了故事板,但未能记录鼠标点击 我查了其他问题- , - 但我不明白如何将这些代码应用到.xaml或代码隐藏文件中。每次试用我都会收到错误消息 如果我想记录测试人员在画布上单击的位置,如何跟踪坐标并将日志导出为其他文件格式?一个非常简单的示例 这将记录用户单击的每个位置以及以下时间: <Window x:Class="WpfApplication6.MainWindow" xmlns=

我想为触摸屏设计一个界面原型,这样我就可以在用户测试过程中记录每次鼠标点击。 我成功地制作了故事板,但未能记录鼠标点击

我查了其他问题- , - 但我不明白如何将这些代码应用到.xaml或代码隐藏文件中。每次试用我都会收到错误消息


如果我想记录测试人员在画布上单击的位置,如何跟踪坐标并将日志导出为其他文件格式?

一个非常简单的示例

这将记录用户单击的每个位置以及以下时间:

<Window x:Class="WpfApplication6.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow"
        Width="525"
        Height="350"
        MouseDown="MainWindow_OnMouseDown">
    <Grid>
        <Button Width="75"
                Margin="5"
                HorizontalAlignment="Left"
                VerticalAlignment="Top"
                Click="Button_Click"
                Content="_Show log" />

    </Grid>
</Window>
代码隐藏:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Input;

namespace WpfApplication6
{
    /// <summary>
    ///     Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        private readonly List<Tuple<DateTime, Point>> _list;

        public MainWindow()
        {
            InitializeComponent();
            _list = new List<Tuple<DateTime, Point>>();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            IEnumerable<string> @select = _list.Select(s => string.Format("{0} {1}", s.Item1.TimeOfDay, s.Item2));
            string @join = string.Join(Environment.NewLine, @select);
            MessageBox.Show(join);
        }

        private void MainWindow_OnMouseDown(object sender, MouseButtonEventArgs e)
        {
            Point position = e.GetPosition((IInputElement) sender);
            var tuple = new Tuple<DateTime, Point>(DateTime.Now, position);
            _list.Add(tuple);
        }
    }
}