IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Mezi 13:00 až cca 16:00 proběhne odstávka sítě z důvodu aktualizace. Web bude po celou dobu nedostupný.

Diskuze: VB (VSTO) + WPF: Přidání eventu k prvku

Aktivity
Avatar
xpb411
Člen
Avatar
xpb411:15.8.2019 15:32

Přidat Event k tlačítku (Button), který je ve WPF. Celkově se jedná o VSTO Addin ve VB pro Excel

Kód v XAML (UserControl1­.xaml):

<Window x:Class="TEST.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"
             xmlns:local="clr-namespace:TEST"
             mc:Ignorable="d"
             d:DesignHeight="450" d:DesignWidth="800">
    <Grid>
        <Button Content="TEST Button" HorizontalAlignment="center" Margin="0" VerticalAlignment="Center" Width="75" x:Name="testBtn" Click="TestBtn_Click"/>
    </Grid>
</Window>

Přidám novou obslužnou rutinu události TestBtn_Click.
Kód pro event se vygeneruje viz níže (UserControl1­.xaml.vb):

Public Class UserControl1
    Private Sub TestBtn_Click(sender As Object, e As Windows.RoutedEventArgs)
        MsgBox("Testovací zpráva", MsgBoxStyle.Information)
    End Sub
End Class

Ale stále mi to vyhazuje chybu: BC30456
'TestBtn_Click není člen UserControl1'

Zkusil jsem: Zkoušel jsem to dělat v C# a tam to funguje normálně, asi mi něco uniká a potřeboval bych nakopnout.

Chci docílit: Možná se ptáte proč to nedělám rovnou v C#, ale hodně jsem dělal ve VBA a VB mi přijde k tomu nejblíž. Potřeboval bych tedy poradit jak přidat Eventy k prvkům formuláře.

Předem Vám děkuji za nakopnutí a Váš čas.

xpb.

 
Odpovědět
15.8.2019 15:32
Avatar
Odpovídá na xpb411
Ondřej Šrytr:18.8.2019 13:59

Ahoj,

ve VB .NET už jsem hooodně dlouho nedělal, ale zkusil bych smazat atribut Click u tlačítka testBtn a proceduru (událost) klinutí bych přepsal takto:

Private Sub TestBtn_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles testBtn.Click
        MsgBox("Testovací zpráva", MsgBoxStyle.Information)
End Sub

Handles testBtn.Click by mělo navázat událost automaticky na tlačítko.

 
Nahoru Odpovědět
18.8.2019 13:59
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.