ユーザーが有効なドラッグドロップを作成しようとしているかどうかを検証できるようにしたいと考えており、これを宛先のCompartmentShapeの色で示しています。次のことを行ったので、正しく検証できます。更新する必要があります。 UI
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;
}
私の問題は、アウトラインの色を参照できないことです。助けていただければ幸いです。