Soy nuevo en Silverlight y XAML. Al tratar de aprender la sintaxis y las mejores prácticas, sigo encontrando una discrepancia (o al menos a mí me parece que sí) de la forma en que algunos implementan controladores de eventos.Controladores de eventos en XAML o Code Behind
En una example de MSDN veo el siguiente código utilizado:
<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>
donde se fijan los controladores de ratón, sin embargo, en otra code he visto este método utilizado en el código subyacente:
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;
}
Supongo que el ejemplo en MSDN es la manera recomendada, sin embargo, me suele gustar el segundo método.
¿Existe una mejor práctica para esta situación?
tampoco! usar Comandos! ;) Escribiría una muestra adecuada como respuesta, pero estoy un poco oxidado –