我想实现一个允许拖动对象的 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">
但我收到错误:
The name "DragCanvas" does not exist in the namespace "clr-namespace:ISC_CG".
我在这里错过了一些步骤吗?
谢谢。
最佳答案
仅供引用 - 这是我修复它的方法:
告诉我我必须用“x:Name”替换“Name”。
关于c# - 从 Canvas 继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21467044/