मैं वास्तव में एक सरल खींचें हो और ड्रॉप नमूना सिल्वरलाइट 4.सिल्वरलाइट DragDrop.DoDragDrop()
यहाँ में काम के लिए संघर्ष कर रहा है कि मैं क्या है:
XAML
<UserControl x:Class="TestDragDrop.MainPage" Width="350" Height="200"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid Background="White">
<Rectangle Margin="50,50,200,50" Fill="Orange" MouseLeftButtonDown="r1_MouseLeftButtonDown" />
<Rectangle Margin="200,50,50,50" Fill="Orange" AllowDrop="true" Drop="r2_Drop" />
</Grid>
</UserControl>
कोड-पीछे
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
}
private void r1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
DragDrop.DoDragDrop((Rectangle)sender, "test data", DragDropEffects.All, DragDropKeyStates.LeftMouseButton);
}
private void r2_Drop(object sender, System.Windows.DragEventArgs e)
{
MessageBox.Show("Drop: " + e.Data.ToString());
}
}
DragDrop.DragDropCompleted
घटना आग लगती है, हालांकि प्रेषक पैरामीटर हमेशा शून्य होता है और घटना तर्क वास्तव में घटना के बारे में अधिक जानने में मेरी सहायता नहीं करता है।
मैंने किसी भी भाग्य के साथ IAcceptDrop को लागू करने वाले कस्टम नियंत्रण का उपयोग करने का भी प्रयास किया है।
साथ ही, जब मैं ड्रैग ऑपरेशन शुरू करता हूं, तो मुझे कोई दृश्य प्रतिक्रिया नहीं होती है कि कुछ हो रहा है (कर्सर या कुछ भी नहीं बदला गया है)। क्या वहाँ कुछ गड़बड़ है?
मेरे द्वारा प्राप्त किए गए सभी नमूने ड्रैगड्रॉप लक्ष्य का उपयोग करते हैं। क्या मैं उपयोग करना चाहता हूं कि विशेष प्रकार के नियंत्रण के लिए एक DragDropTarget लागू करने का मेरा एकमात्र उपाय है?
आपके उत्तर के लिए धन्यवाद। मैं टूलकिट से DragDrop.DoDragDrop() विधि का उपयोग कर रहा हूं। पहले टूलकिट से एक संलग्न AllowDrop प्रॉपर्टी भी थी, लेकिन इसे SL4 में हटा दिया गया था। मैं इसे लेता हूं कि ढांचे की संपत्ति ने इसे बदल दिया है? –
हां, आप फ्रेमवर्क AllowDrop प्रॉपर्टी का उपयोग कर सकते हैं। –
एमएस में किसी को भी कहने के लिए परेशान नहीं है, यह बताने के लिए धन्यवाद। –