c# - ModernUI ModernTab 链接点击

标签 c# .net wpf

我正在寻找用于 ModernUI WPF 的 ModernTab 的点击事件或类似事件。

我目前正在使用 ModernUI WPF ( http://mui.codeplex.com/ ),我正在尝试使用 ModernTab 控件作为员工列表,然后我将单击并在源页面中打开他们的详细信息。

问题是,我将在运行时从数据库创建员工列表,这意味着我需要手动添加链接。因此,我需要能够从选项卡中 Hook 一些点击事件,以便我可以找出要显示的用户 - 但我没有看到可以工作的属性。我能看到的最接近的是 ModernTab 父控件有点击事件,但只有当我点击控件的空白部分时它们才会注册。

我唯一能想到的另一件事是在运行时为每个员工生成一个自定义面板,并在我创建列表时将其设置为 Source 属性,如果可能的话我宁愿不这样做。

这是我的面板:

<UserControl x:Class="Schedule.Pages.EditEmployees"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:mui="http://firstfloorsoftware.com/ModernUI"
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300">
<Grid Style="{StaticResource ContentRoot}">
    <mui:ModernTab Layout="List" Name="employeeTabList" >
        <mui:ModernTab.Links >
            <mui:Link DisplayName="Create New..." Source="/Pages/EditEmployeeDetail.xaml" />
        </mui:ModernTab.Links>
    </mui:ModernTab>
</Grid>

感谢任何帮助!

最佳答案

这只是“劫持”ModernTab 上点击的一个例子。在这里,您可以强制将内容加载到顶部框架中,例如:

处理 ModernTab 的 SelectedSourceChanged 事件:

employeeTabList.SelectedSourceChanged += employeeTabList_SelectedSourceChanged;

void employeeTabList_SelectedSourceChanged(object sender, SourceEventArgs e)
{
    if (e.Source.OriginalString.EndsWith("EditEmployeeDetail.xaml"))
    {
        var url = "/Pages/EditEmployeeDetail.xaml";
        var bb = new BBCodeBlock();
        bb.LinkNavigator.Navigate(new Uri(url, UriKind.Relative), this, NavigationHelper.FrameTop);
        // You may want to set some property in that page's ViewModel, for example, indicating the selected User ID.
    }
}

关于c# - ModernUI ModernTab 链接点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16877007/

相关文章:

c# - SslStream 上的 .NET XmlReader - 从流中读取多个 XML - 获取 XmlDocument

c# - InvokeRequired 和 BeginInvoke 等效项

c# - 如何获取包含 ItemsControl 内容的 Panel 实例?

c# - LINQ Where 表达式扩展

C#:使用泛型将对象转换为无符号数字类型

C#:将 DllImport 与继承相结合?

c# - 当值类型从集合中移除时,它们什么时候发生?

wpf - 在数据网格的组合框列中显示图像

设置 IsManipulationEnabled 时,WPF 控件不捕获按住事件(右键单击)

c# - Convert.ToBoolean(string) 和 Boolean.Parse(string) 有什么区别?