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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Динамическое создание UserContol 
:(
    Опции темы
rew
Дата 10.7.2009, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 25.9.2007

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



Привет !!!!
У меня на окне есть юзерКонтрол на котором че то написано. Еще есть кнопка.
Так вот хочу чтобы когда нажимаешь на кнопку этот юзерКонтрол исчез и появился другой юзерКонтрол
Заранее всем спасибо!!!
PM MAIL   Вверх
Человек01
Дата 16.7.2009, 05:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 20.2.2009
Где: Абакан, респ. Хак асия, Россия

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



Попробуй так:
Проект называется test010

Window1.xaml:
Код

<Window x:Class="test010.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:loc="clr-namespace:test010"
        Title="Window1" Height="300" Width="300">
    <Grid Name="MegaGrid">
        <loc:UserControl1 EventNeedChangeUC="UserControl1_EventNeedChangeUC"></loc:UserControl1>
    </Grid>
</Window>


Window1.xaml.cs:
Код

using System.Windows;
namespace test010
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();            
        }

        void UserControl1_EventNeedChangeUC(object source, object o)
        {
            MegaGrid.Children.Clear();
            UserControl2 uc2 = new UserControl2();
            uc2.ResiveMessageFromUC1(o.ToString());
            MegaGrid.Children.Add(uc2);
        }
    }
}


UserControl1.xaml:
Код

<UserControl x:Class="test010.UserControl1"
             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" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">Прочти меня</TextBlock>
        <Button Grid.Row="1" Click="Button_Click">Нажми меня</Button>
    </Grid>
</UserControl>


UserControl1.xaml.cs:
Код

using System.Windows.Controls;
using System.Windows;
namespace test010
{
    /// <summary>
    /// Interaction logic for UserControl1.xaml
    /// </summary>
    public partial class UserControl1 : UserControl
    {
        /// <summary>
        /// Хотим изменить запись цена кол-во и т.д.
        /// </summary>
        public event EventMy EventNeedChangeUC;
        public delegate void EventMy(object source, object o);
        public UserControl1()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {            
            if (EventNeedChangeUC != null)
                EventNeedChangeUC(this, "Приветик из UserControl1");
        }
    }
}


UserControl2.xaml
Код

<UserControl x:Class="test010.UserControl2"
             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" 
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <TextBlock Name="tbText" VerticalAlignment="Center" HorizontalAlignment="Center" ></TextBlock>
    </Grid>
</UserControl>


UserControl2.xaml.cs
Код

using System;
using System.Windows.Controls;

namespace test010
{
    /// <summary>
    /// Interaction logic for UserControl2.xaml
    /// </summary>
    public partial class UserControl2 : UserControl
    {
        public UserControl2()
        {
            InitializeComponent();
        }

        public void ResiveMessageFromUC1(String str)
        {
            tbText.Text = "Что пишет UserControl1:" + str;
        }
    }
}


В общем пользуемся и говорим Человеку спасибо  smile 
PM MAIL ICQ   Вверх
rew
Дата 17.7.2009, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 25.9.2007

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



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


 




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


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

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