2

WPFアプリケーションに複数のタブを持つタブコントロールがあります。各タブから、いくつかのボタン、テキストボックス、ドロップダウンにアクセスできます。次のタブに移動する前に、タブ内の各コントロールの有効なエントリをチェックするか、次のタブにジャンプすることを許可しないでください。これはどのように行うことができますか?

これを行うためにIsEnableプロパティを使用することができました。しかし、次のタブをクリックすると、次のタブに入らずに、現在のタブのそのようなエントリが無効であるという警告を表示する必要があります。

4

2 に答える 2

1

イベントを順守する場合は、次のSelectedようなことができます。

// Keep a global variable for the previous index
int prevIndex = 0;

private void tabControl_Selected(object sender, TabControlEventArgs e)
{
    TabControl tc = sender as TabControl;
    if (tc != null)
    {
        bool letSwitchHappen = validateTabControls(tc.SelectedIndex);
        if (!letSwitchHappen)
        {
            tc.SelectedIndex = prevIndex;
        }
        prevIndex = tc.SelectedIndex;
    }
}

validateTabControls次のようなものはどこにありますか?

private bool validateTabControls(int tabIndex)
{
    bool validEntries = false;
    // Some code here to set validEntries according to the control at tabIndex
    return validEntries;
}
于 2012-06-28T17:46:15.073 に答える
0

JoshSmithのこの例を見てください。

これを行う方法を明示的に示しており、JoshはWPFの世界でよく知られています(そして尊敬されています)。

于 2012-06-28T18:29:40.477 に答える