2

我希望能够验证用户是否希望进行有效的拖放,并通过目标 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;
    }

我的问题是我无法获得对大纲颜色的任何参考,非常感谢任何帮助。

4

1 回答 1

2

您需要添加一个暴露的属性(右键单击形状并选择“添加暴露”)

此致

于 2011-01-06T18:19:23.947 回答