我想实现一个允许拖动对象的Canvas。所以我想我可以从Canvas继承并覆盖鼠标事件:
namespace ISC_CG
{
public class DragCanvas : Canvas
{
protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e)
...
在XAML中:
<Window x:Class="ISC_CG.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="mainWindow"
DataContext="{Binding ElementName=mainWindow}"
xmlns:cg="clr-namespace:ISC_CG"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
Title="MainWindow" Height="350" Width="525">
<cg:DragCanvas Name="mainCanvas" Background="{StaticResource checkers}" ClipToBounds="True" Focusable="True">
但我收到错误:
命名空间中不存在名称“DragCanvas” “CLR-名称空间:ISC_CG”。
我在这里错过了一些步骤吗?
感谢。
答案 0 :(得分:1)
仅供参考 - 以下是我修复它的方法:
然后我重新编译并得到一个新的Xaml错误:在行
&lt; cg:DragCanvas Name =“mainCanvas”Background =“{StaticResource checkers}”ClipToBounds =“True”Focusable =“True”&gt;
告诉我我必须用“x:Name”替换“Name”。