Я надеюсь, что смогу проверить, хочет ли пользователь сделать правильное перетаскивание, и это указано цветом целевого объекта CompartmentShape, я сделал следующее, что дает мне возможность правильно проверить, мне просто нужно обновить пользовательский интерфейс
public override void OnDragDrop(DslDiagrams.DiagramDragEventArgs e)
{
BCSDataSourceTypes dataSourceType = GetDataSourceType(e.Data);
if (dataSourceType == BCSDataSourceTypes.Unknown)
{
return;
}
FieldInfo info = e.Data.GetType().GetField("innerData", BindingFlags.NonPublic | BindingFlags.Instance);
object obj = info.GetValue(e.Data);
info = obj.GetType().GetField("innerData", BindingFlags.NonPublic | BindingFlags.Instance);
System.Windows.DataObject dataObj = info.GetValue(obj) as System.Windows.DataObject;
if (dataObj != null)
{
SqlStoredProcedure storedProcedure = dataObj.GetData(typeof(SqlStoredProcedure)) as SqlStoredProcedure;
if (storedProcedure != null)
{
MessageBox.Show(string.Format("{0} is valid here", storedProcedure.Name));
}
}
e.Handled = true;
}
Моя проблема в том, что я не могу получить какую-либо ссылку на цвет контура, любая помощь очень ценится.