相关疑难解决方法(0)

XAML或Code Behind中的事件处理程序

我是Silverlight和XAML的新手.在尝试学习语法和最佳实践时,我继续遇到一些差异(或者至少对我而言似乎是这样),有些实现了事件处理程序.

在MSDN 的示例中,我看到使用以下代码:

<UserControl x:Class="DragAndDropSimple.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300">
  <Canvas x:Name="rootCanvas"
  Width="640"
  Height="480"
  Background="Gray"
  >
    <!-- You can drag this rectangle around the canvas. -->
    <Rectangle
    MouseLeftButtonDown="Handle_MouseDown"
    MouseMove="Handle_MouseMove"
    MouseLeftButtonUp="Handle_MouseUp"
    Canvas.Left="30" Canvas.Top="30" Fill="Red"
    Width="50" Height="50" />
  </Canvas>

</UserControl>
Run Code Online (Sandbox Code Playgroud)

但是,在设置了鼠标处理程序的地方,在其他代码中我看到了后面代码中使用的这个方法:

 public Window1()
        {
            InitializeComponent();

            TransformGroup group = new TransformGroup();

            ScaleTransform xform = new ScaleTransform();
            group.Children.Add(xform);

            TranslateTransform tt = new TranslateTransform();
            group.Children.Add(tt);

            image.RenderTransform = group;

            image.MouseWheel += image_MouseWheel;
            image.MouseLeftButtonDown += image_MouseLeftButtonDown;
            image.MouseLeftButtonUp += image_MouseLeftButtonUp;
            image.MouseMove += image_MouseMove;
        }
Run Code Online (Sandbox Code Playgroud)

我会假设MSDN上的示例是推荐的方式,但是,我倾向于喜欢第二种方法. …

c# silverlight xaml event-handling

8
推荐指数
2
解决办法
9698
查看次数

缩放和平移图像画布

我有一个银色灯光Canvas,上面有图纸(多边形).我需要开发一个控件来缩放和平移工作区(BorderGrid单元格内,如现在)中的画布,如下所示.做这个的最好方式是什么.有没有我可以使用的库?

我需要能够将绘图添加到缩放/平移的画布中.

http://i54.tinypic.com/1zbe7pf.png

c# silverlight xaml

6
推荐指数
1
解决办法
1354
查看次数

使用鼠标滚动放大和缩小 ViewBox 并使用鼠标指针位置作为缩放原点

标题几乎是不言自明的,但为了补充事实,我Canvas在 my 内部使用了一个 large ,ViewBox而 myViewBox被放置在一个ScrollViewer. 我已经为MouseMoveand设置了事件处理程序MouseWheel,并且我正在使用myViewbox.WidthandmyViewbox.Height来更改缩放级别(我不确定这是正确的方法)。现在我被困在如何将缩放原点设置为我的鼠标指针位置。

提前致谢。

c# wpf mousewheel viewbox zooming

5
推荐指数
1
解决办法
9583
查看次数

从屏幕上的鼠标光标位置获取图像坐标(WPF图像控件)

我一直在寻找一个解决方案,以透明地增加淘选变焦能力的WPF Image控件,我已经找到了解决办法/sf/answers/474790081/,通过开发维斯?AWŠoltés康拉德Viltersten,这是优秀。

现在,我想向控件中添加一个“鼠标单击”事件,以便可以在原始图像坐标系中单击被单击点的坐标,以便可以使用它们来检索像素颜色。

我知道会有一些舍入,并且如果缩小图像,颜色将与屏幕上显示的实际颜色不符。我也了解用户可能会在图像边界之外单击,在这种情况下,我希望返回一个空Point或负坐标。

我不是C#进行转换的专家,此刻,我仍然坚持这一点(要添加到ZoomBorder.cs类中):

public Point GetImageCoordsAt(MouseButtonEventArgs e)
{
    if (child != null)
    {
        var tt = GetTranslateTransform(child);
        var mousePos = e.GetPosition(this);
        var transformOrigin = new Point(tt.X, tt.Y);

        return mousePos; // Wrong: how do I transform this?
    }

    return null;
}
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml zoom pan

2
推荐指数
1
解决办法
3250
查看次数

标签 统计

c# ×4

xaml ×3

silverlight ×2

wpf ×2

event-handling ×1

mousewheel ×1

pan ×1

viewbox ×1

zoom ×1

zooming ×1