You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码选中ModernTab中动态添加的标签页?

解决ModernTab添加新Link后自动选中/跳转的问题

嗨,我来帮你搞定这个需求!其实不需要绕到Frame那里,ModernTab控件本身就提供了直接选中指定Link的方式,而且非常简单:

方法一:直接设置SelectedLink属性(推荐)

当你动态添加完Link之后,直接把ModernTab的SelectedLink赋值为你刚创建的那个Link对象即可,它会自动触发导航并选中该标签页:

var link = new FirstFloor.ModernUI.Presentation.Link { 
    DisplayName = "Otra Ventana", 
    Source = new Uri("/pages/operations/confirm.xaml", UriKind.RelativeOrAbsolute) 
};
mtabs.Links.Add(link);
// 关键代码:选中并跳转到新添加的标签页
mtabs.SelectedLink = link;

这个方法的优势在于直接利用ModernTab自身的状态管理,代码简洁且逻辑清晰,完全匹配你的场景。

方法二:通过导航框架触发(适合需要导航事件的场景)

如果你的业务逻辑需要触发导航相关的事件,也可以通过NavigationHelper找到当前的ModernFrame,然后调用导航方法,ModernTab会自动匹配对应的Link并选中:

var link = new FirstFloor.ModernUI.Presentation.Link { 
    DisplayName = "Otra Ventana", 
    Source = new Uri("/pages/operations/confirm.xaml", UriKind.RelativeOrAbsolute) 
};
mtabs.Links.Add(link);

// 获取当前页面的ModernFrame
var frame = FirstFloor.ModernUI.Windows.Navigation.NavigationHelper.FindFrame(null, this);
if (frame != null)
{
    // 导航到目标页面,ModernTab会自动选中对应的Link
    frame.Navigate(link.Source);
}

不过第一种方法是最直接高效的,推荐优先使用。

内容的提问来源于stack exchange,提问作者medow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:18:24