Ich bin neu in Silverlight und XAML. Während ich versuche, die Syntax und die Best Practices zu lernen, stoße ich weiterhin auf eine Diskrepanz (oder zumindest auf mich scheint es so) in der Art und Weise, wie einige Event-Handler implementieren.Event-Handler in XAML oder Code hinter
In einem example von MSDN ich den folgenden Code gebraucht:
<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>
Wo die Maus-Handler festgelegt sind, jedoch in anderen code ich diese Methode in der Code-behind verwendet gesehen haben:
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;
}
Ich würde annehmen, dass das Beispiel auf MSDN der empfohlene Weg ist, jedoch neige ich dazu, die zweite Methode zu mögen.
Gibt es eine Best Practice für diese Situation?
weder! benutze Befehle! ;) Ich würde eine richtige Probe als Antwort schreiben, aber ich bin ein wenig rostig selbst –