0

我是 Silverlight 的新手,而且我有点过头了,所以我可能遗漏了一些非常明显的东西。我正在使用图像编辑器,我的主页上有一个按钮,可以在我的画布上旋转图像或文本。但是,该按钮没有调用我的旋转方法。编辑:现在是。

这是我编写的与按钮相关的所有代码

主页.xaml

<Button Command="{Binding Path=Project.RotateCWElementCommand}"..../>

项目.cs -

#region properties

public ICommand RotateCWElementCommand { get; set; }

#endregion

#region methods
public Project(int siteID)
    {
        this.RotateCWElementCommand = new DelegateCommand(RotateCWElement, CanRotateCWElement);
    }

    private void RotateCWElement(object param)
    {
        FrameworkElement element = this.SelectedElement;
        RotateTransform cwRot = new RotateTransform();

        cwRot.Angle = 90;
        cwRot.CenterX = element.ActualWidth * 0.5;
        cwRot.CenterY = element.ActualHeight * 0.5;
        element.RenderTransform = cwRot;

    }

#end region

#region Command conditions

private bool CanRotateCWElement(object param)
    {
        return true;
    }

#endregion

现在的问题是它只会旋转一次,并且一些图像质量似乎也会丢失。当我单击并拖动它们时,图像会奇怪地移动,有时当我单击完整的图像质量时会返回。

如果有人对此有任何想法,那就太好了。

4

2 回答 2

1

听起来好像Button.DataContext不包含一个名为Project.RotateCWElementCommand

验证您的 Button 是否DataContext具有名为 的属性Project,并且Project具有名为RotateCWElementCommand

于 2012-07-18T15:27:39.230 回答
0

Visual Studio 中的输出窗口对于在 Silverlight 中查找绑定问题非常有帮助,并且有助于澄清 Rachel 的建议是否存在问题。

于 2012-07-18T15:59:56.293 回答