Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2020, 12:19   #1
Lomakin
Пользователь
 
Регистрация: 19.12.2018
Сообщений: 21
По умолчанию Событие из UserControl

Всем привет.
Решил попробовать сделать свой UserControl в ListBox накидал пример.
Подскажите как передать событие кнопки в MainWindow.

Код:
<UserControl x:Class="ExampleMyUserComtrol.MyUserControl"
             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:local="clr-namespace:ExampleMyUserComtrol"
             mc:Ignorable="d" MinHeight="50" MinWidth="300">
    <Grid>
        <Border Width="Auto" Height="Auto" >
            <Canvas Background="AntiqueWhite" >
                <TextBlock x:Name="tbText"  Text="Здесь какая-то запись" Height="20" Width="200" Background="Snow" HorizontalAlignment="Left" Margin="14,14,0,14"/>
                <Button Content="Button" Canvas.Left="220" Canvas.Top="14" Width="75" Click="myButton_Click"/>
            </Canvas>
        </Border>
    </Grid>
</UserControl>
2020-07-22_122409.png

Код:
<Window x:Class="ExampleMyUserComtrol.MainWindow"
        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"
        xmlns:local="clr-namespace:ExampleMyUserComtrol"
        mc:Ignorable="d"
        Title="MainWindow" Height="300" Width="500">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="320"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <ListBox Grid.Column="0" HorizontalContentAlignment="Stretch" Background="Lavender">
            <local:MyUserControl />
            <local:MyUserControl />
            <local:MyUserControl />
        </ListBox>
    </Grid>
</Window>
2020-07-22_122736.png
Lomakin вне форума Ответить с цитированием
Старый 24.07.2020, 10:51   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

У контрола надо определить событие и подписаться на него в основной форме. Логично же.

Что то типа такого:
Код:
public partial class UserInfoBlock : UserControl
{
public static readonly RoutedEvent AllButtonsClickEvent = EventManager.RegisterRoutedEvent("AllButtonsClick", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(UserInfoBlock));


public event RoutedEventHandler AllButtonsClick
        {
            add { AddHandler(AllButtonsClickEvent, value); }
            remove { RemoveHandler(AllButtonsClickEvent, value); }
        }

        private void OnButtonsClick(object sender, RoutedEventArgs e)
        {
            RoutedEventArgs newEventArgs = new RoutedEventArgs(AllButtonsClickEvent, e);
            RaiseEvent(newEventArgs);
        }
}
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
UserControl + webform Pavlov_yu ASP.NET 0 23.05.2017 13:02
Заполнение UserControl itea4you.ru C# (си шарп) 4 31.01.2016 21:55
UserControl ControlLibrary REztor WPF, UWP, WinRT, XAML 2 30.08.2014 02:58
Проблема с UserControl doober Общие вопросы .NET 1 28.12.2011 10:49
с# asp.net и usercontrol maladoy ASP.NET 2 24.02.2009 09:53