0

Хочу узнать как привязать event или icommand к tabitem Selector.Selected. Надо при открытии вкладки вызывать евент или команду. Использую MVVM.

<DataTemplate DataType="{x:Type vm:AdminViewModel}">
<Grid d:DataContext="{d:DesignInstance vm:AdminViewModel}">
    <TabItem Selector.Selected="{Binding routedEvent}">
        <TabItem.CommandBindings>
            <CommandBinding Command="{Binding OpenTabItemUser}"/>
        </TabItem.CommandBindings>
        <TabItem.Header>
            <TextBlock Text="Пользователи"/>
        </TabItem.Header>
        <TabItem.Content>
            <ListBox ItemsSource="{Binding Users}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Username}"/>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </TabItem.Content>
    </TabItem>
</Grid>
internal class AdminViewModel : ViewModel, IPageViewModel    
{
    public string Title => "Admin";
    public MainWindowViewModel ViewModel { get; set; }
    public ObservableCollection<UserModel> Users { get; set; }

    public RoutedEventHandler routedEvent;
    private void OnOpenTabItemUser(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("Hello");
    }
    public AdminViewModel() 
    {
        routedEvent = new RoutedEventHandler(OnOpenTabItemUser);
    }
}

введите сюда описание изображения

С зависимостями все плохо)

  • https://ru.stackoverflow.com/a/917223/220553 – EvgeniyZ Oct 04 '23 at 18:54
  • Табы не нужны https://ru.stackoverflow.com/a/1266479/373567 – aepot Oct 04 '23 at 18:58
  • У меня есть страница в которой присутствует вкладка "Пользователи". Я хочу при открытии вкладки выгружать пользователей из БД и отображать их. Команду к открытию вкладки я привязать не могу. А при привязки routed event выдает exepction. – AlexandrAsh Oct 04 '23 at 19:07
  • Я вам выше дал ответ на ваш вопрос, яб даже сказал дубликат вашего вопроса, вы пробовали? Ну а если вам нужны вкладки с разным содержимым, то это делает совершенно иначе, ну а если вам нужны страницы с переключением контента, то ссылка выше от aepot. Что еще тут можно сказать, и что вы хотите от нас, я не знаю... – EvgeniyZ Oct 04 '23 at 19:15

0 Answers0