【问题标题】:How can I dynamically set the event handler for a TabItem when it is selected?如何在选择 TabItem 时为它动态设置事件处理程序?
【发布时间】:2010-04-22 07:34:57
【问题描述】:

在 XAML 中你可以这样做

<TabItem Selector.Selected="myEvenHandler"></TabItem>

设置选择该选项卡时的事件处理程序。我怎样才能动态地做同样的事情。如果可以的话,我宁愿不使用 TabControl 的 SelectionChanged 事件。显然 TabItem 上有一个 Selected 事件,我似乎无法在代码中得到它。这就是我想做的事情。

TabItem item = new TabItem();
MyCustomControl mcc = new MyCustomControl();
item.Content = mcc;
item.Selected += (s,e) =>  // This event does not exist
{
    selectedControl = mcc;
}
myTabControl.Items.Add(item);

【问题讨论】:

    标签: c# wpf tabitem


    【解决方案1】:

    根据Selector.Selected attached event 的文档,在“C# 语法”部分:

    AddSelectedHandlerRemoveSelectedHandler

    他们的页面实际上没有指向 AddSelectedHandler 和 RemoveSelectedHandler 页面的超链接,但它们是您想要查看的地方。所以你的代码看起来像:

    Selector.AddSelectedHandler(item, (s,e) =>
    {
        selectedControl = mcc;
    });
    

    【讨论】:

    • +1 是的,看起来我缺少使用 System.Windows.Controls.Primitives;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多