2013-06-01 2 views
2

Я ищу событие щелчка или что-то подобное для использования с ModernTab ModernUI WPT.ModernUI ModernTab Link Нажмите

Я в настоящее время использую ModernUI WPF (http://mui.codeplex.com/), и я пытаюсь использовать элемент управления ModernTab в качестве списка сотрудников, после чего я нажимаю и открываю их данные на странице источника.

Проблема в том, что я собираюсь создать список сотрудников во время выполнения из базы данных, что будет означать, что мне нужно будет добавить ссылки вручную. Поэтому мне нужно иметь возможность перехватить какое-либо событие клика на вкладке, чтобы я мог узнать, что показывать пользователю, но я не вижу свойства, которое будет работать. Самое близкое, что я вижу, это то, что родительский элемент управления ModernTab имеет события click, но они регистрируются только в том случае, если я нажимаю пустую часть элемента управления.

Единственное, что я могу придумать, это создать пользовательскую панель для каждого сотрудника во время выполнения и установить ее атрибуту 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> 

Любая помощь приветствуется!

ответ

0

Это только один из примеров «угон» замковое на ModernTab. Здесь вы можете заставить содержимое для загрузки в верхней рамке, например:

Ручку SelectedSourceChanged события ModernTab:

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. 
    } 
} 
0

Добавить фрагмент в Uri, представляющий каждого сотрудника при создании ссылок. Затем для usercontrol EmployeeDetail реализуется интерфейс IContent (в частности OnFragmentNavigation для инициализации данных с использованием фрагмента). Пример кода здесь -

http://mui.codeplex.com/discussions/455846

Смежные вопросы