Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как добавит UserControl на страницу? Как добавит UserControl на страницу? 
V
    Опции темы
RomaKiev
Дата 14.7.2011, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 28.11.2010
Где: Киев

Репутация: нет
Всего: нет



Доброго времени суток!

Подскажите как добавить нужный UserControl на страницу приложения навигации Silverlight програмно в зависимости от выбора элемента в ComboBox, который находится на этой странице?

Вот к примеру один из моих элементов UserControl:
Код

<UserControl x:Class="Drag_And_Drop.SilverlightControl1"
    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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">
    
    <Grid x:Name="LayoutRoot" Background="White">
        <!--Здесь находится содержимое UserControl -->  
    </Grid>
</UserControl>


Нужно добавить его на эту страницу програмно(не в XAML!) при выборе определенного пункта в ComboBox

Код

<navigation:Page x:Class="Навигация.Views.Page1" 
           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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
           mc:Ignorable="d"
           xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
           d:DesignWidth="800" d:DesignHeight="800"
           Title="Page1 Page" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit">
    <Grid x:Name="LayoutRoot" Height="685" Width="739">
        
<ComboBox Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="11,0,0,424" Name="TipVoprosa"
                  VerticalAlignment="Bottom" Width="149" SelectionChanged="TipVoprosa_SelectionChanged">
            <ComboBoxItem Content="Один из многих" AllowDrop="True" />
            <ComboBoxItem Content="Многие из многих" AllowDrop="True" />
            <ComboBoxItem Content="Упорядочение" />
            <ComboBoxItem Content="Область на картинке"/>
        </ComboBox>

    </Grid>
</navigation:Page>


Как это сделать?
PM MAIL   Вверх
Ronin08
Дата 15.7.2011, 08:25 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 16.2.2008
Где: г.Москва

Репутация: нет
Всего: 1



Киньте на Страницу ContentControl. У Combobox на событии SelectionChanged Устанавливайте для ContentControl.Content ваш UserControl

Код

<ContentControl x:Name="contentCtrl"/>

Код

var slvControl= new SilverlightControl1();
contentCtrl.Content = slvControl; 


Это сообщение отредактировал(а) Ronin08 - 16.7.2011, 11:33
--------------------
Зачем вставать рано или поздно? Надо вставать вовремя
PM MAIL   Вверх
ДобренькийПапаша
Дата 15.7.2011, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 2
Всего: 7



Эм... А в чём проблема-то? smile

Ну вот у меня тоже в текущем проекте валяется UserControl:
Код

<UserControl x:Class="ServiceMode.OnScreenKeyboardsForms.OnScreenFullKeyboard"
             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" 
             Name="keyboard">
...
</UserControl>


Находясь в обычном классе в пространстве имён ServiceMode.Forms я в методе написал такой код:
Код

OnScreenKeyboardsForms.OnScreenFullKeyboard a = new OnScreenKeyboardsForms.OnScreenFullKeyboard();


И всё работает, собственно.

Фу ты, неправильно вашу задачу понял, извиняюсь.

Это сообщение отредактировал(а) ДобренькийПапаша - 15.7.2011, 08:28


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
Kefir
Дата 15.7.2011, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 22
Всего: 87



Код

LayoutRoot.Children.Add(new MyUserControl());

PM MAIL WWW Skype   Вверх
RomaKiev
Дата 15.7.2011, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 28.11.2010
Где: Киев

Репутация: нет
Всего: нет



Спасибо за ответ. Помогло
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0837 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.