关注Silverlight列表框的问题

时间:2010-05-05 14:13:48

标签: c# silverlight

我有一个按钮,点击它我会显示一个包含列表框的弹出窗口。

popup命名 - popComboList

列表框名为-lstComboBoxResult

我将焦点放在列表框上但是在初始点击按钮时列表框没有得到焦点 - (这在初始时只发生一次,当我第一次点击按钮时)在第二次点击后它起作用。

 private void bnOpen_Click(object sender, RoutedEventArgs e)
    {
        if (IsDesignTime)
            return;

        lstComboBoxResult.Width = tbComboValue.ActualWidth + bnOpen.ActualWidth;
        if (!popComboList.IsOpen)
        {
            SetPopupPosition(popComboList);
            popComboList.IsOpen = true;
            lstComboBoxResult.Focus();
        }
        else
        {
            popComboList.IsOpen = false;
        }
    }

1 个答案:

答案 0 :(得分:2)

这是一个猜测,但在打开弹出窗口之后尝试调用UpdateLayout(),但在调用Focus()之前。列表框可能没有完全初始化,因此在第一次可见之前无法接受焦点。