Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将TextBlock绑定到MouseEventHandler_C#_Wpf_Xaml_Binding - Fatal编程技术网

C# 将TextBlock绑定到MouseEventHandler

C# 将TextBlock绑定到MouseEventHandler,c#,wpf,xaml,binding,C#,Wpf,Xaml,Binding,我试图将一个简单的字符串绑定到一个文本块,但它没有任何作用 public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.MouseMove += new MouseEventHandler(window_MouseMove); } public void window_MouseMove (object

我试图将一个简单的字符串绑定到一个文本块,但它没有任何作用

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        this.MouseMove += new MouseEventHandler(window_MouseMove);
    }

    public void window_MouseMove (object sender, MouseEventArgs e)
    {
        Point mouseXY = Mouse.GetPosition(this);

        string mouseXYstring = mouseXY.ToString();
    }
}
还有XAML…:

<TextBlock x:Name="MousePosition" HorizontalAlignment="Right"
VerticalAlignment="Top" Width="200" Text="{Binding Path=mouseXYstring}" />

我试着把它放在一个文本框里,它能正常工作。这是我的代码

//mousemove inside my Textbox
    private void TextBox_MouseMove_1(object sender, MouseEventArgs e)
    {
        //txt is the name oh my textbox
        txt.Text = e.GetPosition(this).ToString();
    }

    //mousemove in my windows
    private void wn_MouseMove(object sender, MouseEventArgs e)
    {
        //txt is the name oh my textbox
        txt.Text = e.GetPosition(this).ToString();
    }
但是在你的例子中,你使用一个textblock并尝试这个代码

 public void window_MouseMove (object sender, MouseEventArgs e)
{
    MousePosition.text = e.GetPosition(this).ToString();
}

这就解决了问题,我在活动前错过了“e”,所以我并没有用我的GetPosition给MouseEventArgs打电话。
//mousemove inside my Textbox
    private void TextBox_MouseMove_1(object sender, MouseEventArgs e)
    {
        //txt is the name oh my textbox
        txt.Text = e.GetPosition(this).ToString();
    }

    //mousemove in my windows
    private void wn_MouseMove(object sender, MouseEventArgs e)
    {
        //txt is the name oh my textbox
        txt.Text = e.GetPosition(this).ToString();
    }
 public void window_MouseMove (object sender, MouseEventArgs e)
{
    MousePosition.text = e.GetPosition(this).ToString();
}