[GcSpreadGrid] FocusManager.GetFocusedElementでGcSpreadGridを取得する方法

文書番号 : 85111     文書種別 : 使用方法     登録日 : 2020/05/21     最終更新日 : 2020/05/21
文書を印刷する
対象製品
SPREAD for WPF 3.0J
詳細
FocusManager.GetFocusedElementメソッドを使用してフォーカスのあるコントロールを取得すると、SPREADの場合は、フォーカスのあるセルの要素が取得されます。セルではなく、GcSpreadGrid自体を取得する場合には、以下のサンプルコードのような方法で対応します。

◎サンプルコード(C#)
IInputElement focusedControl = FocusManager.GetFocusedElement(this);
FrameworkElement temp = (FrameworkElement)focusedControl;

if(temp.GetType().FullName == "GrapeCity.Windows.SpreadGrid.Editors.GeneralEditElement")
{ 
    while (temp.GetType().FullName != "GrapeCity.Windows.SpreadGrid.GcSpreadGrid")
    {
        if (temp.Parent != null)
            temp = (FrameworkElement)temp.Parent;
        else
            temp = (FrameworkElement)temp.TemplatedParent;
    }
}
System.Diagnostics.Debug.WriteLine(temp.GetType().FullName);