J'ai un problème avec C# using.Net 4.5.ListBoxItem Content Cast Impossible
Quand je .Net 3.5, je ne l'ai pas eu aucun problème, mais depuis que je changé mon projet .Net 4.5, quand je fais mon glisser & déposer sur ListBoxItem entre deux listBox je une exception:
"Impossible de lancer un objet de type MS.Internal.Named.Object dans le type ..."
Des idées concernant le problème?
(Désolé pour mon anglais, je suis français ^^)
EDIT: Oui, et je perdre des données lors de l'utilisation "comme ...". Enfin, j'ai redéfini mes fonctions pour Drag & Frop et le problème est résolu.
Voici le code pour le glisser & déposer si quelqu'un est intéressé :):
régionDrag & Goutte
/// <summary>
/// Define the action when the left mouse button is pressed while the mouse pointer is over this element. Permit to get the shape selected by the clic
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ListBoxShapeCluster_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
System.Windows.Controls.ListBox parent = (System.Windows.Controls.ListBox)sender;
dragSource = parent;
object data = GetDataFromListBox(dragSource, e.GetPosition(parent));
if (data != null)
{
DragDrop.DoDragDrop(parent, data, System.Windows.DragDropEffects.Move);
}
}
/// <summary>
/// Define the action of the drag enter
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ListBoxShapeCluster_DragEnter(object sender, System.Windows.DragEventArgs e)
{
object data = e.Data.GetData(typeof(Retro.Model.core.Shape));
if (data != null)
{
AllShapesOfCurrentCluster.Remove((Retro.Model.core.Shape)data);
}
}
/// <summary>
/// Define the action for drop a shape in a new cluster
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ListBoxShapeCluster_Drop(object sender, System.Windows.DragEventArgs e)
{
System.Windows.Controls.ListBox parent = (System.Windows.Controls.ListBox)sender;
object data = e.Data.GetData(typeof(Retro.Model.core.Shape));
if (data != null)
{
AllShapesOfCurrentCluster.Add((Retro.Model.core.Shape)data);
}
}
#endregion
Peut-être votre objet traîné a changé tapez en transition à 4.5 –
Quel est le type réel complet de votre objet déplacé (le tout avec le nom fort de l'assemblage) et le fu ll tapez vous à couler dans? –