Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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
Wpf 拖放到MVVM数据模板内的文本框中_Wpf_Mvvm - Fatal编程技术网

Wpf 拖放到MVVM数据模板内的文本框中

Wpf 拖放到MVVM数据模板内的文本框中,wpf,mvvm,Wpf,Mvvm,我有一个使用DataTemplate定义的视图。我希望能够将文件拖到视图上的文本框中,以填充完整的文件名。然而,由于我的视图是一个DataTemplate,它没有代码,我看不出如何连接DragEnter和DragEvents 在MVVM中是否有一种整洁的方法可以做到这一点?如果DataTemplate驻留在资源字典中,则可以创建关联的代码隐藏文件 假设您的资源字典名为“Foo.xaml”。在同一个项目文件夹中创建一个同名的类文件(即“Foo.cs”),使其成为部分文件,并使其从ResourceD

我有一个使用DataTemplate定义的视图。我希望能够将文件拖到视图上的文本框中,以填充完整的文件名。然而,由于我的视图是一个DataTemplate,它没有代码,我看不出如何连接DragEnter和DragEvents


在MVVM中是否有一种整洁的方法可以做到这一点?

如果DataTemplate驻留在资源字典中,则可以创建关联的代码隐藏文件

假设您的资源字典名为“Foo.xaml”。在同一个项目文件夹中创建一个同名的类文件(即“Foo.cs”),使其成为部分文件,并使其从ResourceDictionary继承。另外,在构造函数中调用
InitializeComponent()
:-

public partial class Foo : ResourceDictionary
{
    public Foo()
    {
         InitializeComponent();
    }

    // etc..
}
现在在xaml中,向ResourceDictionary元素添加一个
x:Class=
属性,例如:-

<ResourceDictionary x:Class="Namespace.ClassName"
                    xmlns="...etc...

你能发布你的代码吗,很简单。这非常有效。非常感谢。我不知道您可以将代码隐藏类添加到ResourceDictionary。