Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
294 / 234 / 58
Регистрация: 03.02.2011
Сообщений: 1,993
Записей в блоге: 1
1
.NET 4.x

Различный контент для одного UserControl

21.06.2016, 19:27. Показов 1161. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется 3 разных UserControl, у каждого свой ViewModel.
Имеется форма с кнопкой и панелькой.
При нажатии кнопки нужно в панельке отобразить тот или иной UserControl (тут предполагается что до нажатия я уже знаю какой UserControl должен отобразиться, нахожу с помощью кода, который выполняется во время загрузки формы). Предположим, что во всех ViewModel заложена некая константа принадлежности, по которой можно что-то привязывать.
Перегуглил много чего, но что-то запутался во всех этих DataTemplateSelector ...ContentPresenter
На основании вышесказанного, посоветуйте как сделать.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2016, 19:27
Ответы с готовыми решениями:

Передать различный прогресс из одного BackgroundWorker разным ProgressBar
Добрый день. В коде выполняется некая задача, BackgroundWorker1 рапортует в ProgressBar1 о полном...

Добраться из одного UserControl в другой
Пытаюсь визуализировать граф и сделать это красиво. Есть классы Node, Path и соответствующие им...

Подбор комплектующих для ПК под игры + различный софт для девелоперов
Здравствуйте, дорогие комрады. Бюджет : 2 000 $ Собираю ПК под новые игры + что бы без...

Программа для различный действий с матрицами
Ув. программисты. Хочу наваять программу для различный действий с матрицами. У кого есть коды:...

3
343 / 305 / 135
Регистрация: 14.03.2015
Сообщений: 1,140
Записей в блоге: 1
21.06.2016, 19:42 2
По моему такое вам подойдет.
1
294 / 234 / 58
Регистрация: 03.02.2011
Сообщений: 1,993
Записей в блоге: 1
22.06.2016, 22:35  [ТС] 3
Что-то идёт не так
UserControl WinForms - контейнер для WPF
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public partial class WinContainer : UserControl
    {
        public WinContainer()
        {
            InitializeComponent();
            WPFContainer WPFControl = new WPFContainer();
            PartPageViewModel ss = new PartPageViewModel();
            WPFControl.DataContext = ss;
            ElementHost elHost = new ElementHost();
           elHost.Child = WPFControl;
            elHost.Dock = DockStyle.Fill;
            this.Controls.Add(elHost);
        }
    }


Сам WPF контейнер
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<UserControl x:Class="MDMSpecification.Views.WPFContainer"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:local="clr-namespace:MDMSpecification.Views"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:services="clr-namespace:MDMSpecification.Services"
             xmlns:viewModels="clr-namespace:MDMSpecification.ViewModels"
             d:DesignHeight="300"
             d:DesignWidth="300"
             mc:Ignorable="d">
    <UserControl.Resources>
        <DataTemplate x:Key="Assembly" DataType="{x:Type viewModels:AssemblyPageViewModel}">
            <local:AssemblyPageView />
        </DataTemplate>
        <DataTemplate x:Key="Part" DataType="{x:Type viewModels:PartPageViewModel}">
            <local:PartPageView />
        </DataTemplate>
        <DataTemplate x:Key="Drawing" DataType="{x:Type viewModels:DrawingPageViewModel}">
            <local:DrawingPageView />
        </DataTemplate>
    </UserControl.Resources>
    <StackPanel>
        <ContentPresenter   Content="{Binding}"  />
    </StackPanel>
</UserControl>


Получаю на выходе:
Миниатюры
Различный контент для одного UserControl  
0
294 / 234 / 58
Регистрация: 03.02.2011
Сообщений: 1,993
Записей в блоге: 1
23.06.2016, 16:27  [ТС] 4
Лучший ответ Сообщение было отмечено Ev_Hyper как решение

Решение

Решение найдено. Нужно просто было убрать x:Key=".." в DataTemplate
0
23.06.2016, 16:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2016, 16:27
Помогаю со студенческими работами здесь

Различный шрифт для всех строк ListBox
Подскажите статейку где можно почитать как добавить свойство ListBox, хочу сделать различный шрифт...

Возбуждение события в UserControl при изменении одного из его свойств
Доброго времени суток, пишу компонент, у этого компонента есть свойство а, необходимо создать...

Различный тип пользователей для разных страниц php
Имеется login.php через который производиться вход на сайт.Паролей 10 штук,как и страниц к которым...

Как перенести контент с одного сервера на другой
Здравствуйте. Подскажите пожалуйста, можно ли каким либо образом перенести контент (содержимое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru