Como conectar um evento de clique para um botão de controle de usuário personalizado? Devo usar o CustomControl?
Eu queria criar um botão que tivesse uma imagem e um bloco de texto como conteúdo. Então fui procurar uma resposta e encontrei um post (Conteúdo personalizado reutilizável para botões) que me disse para criar um usercontrol.
Eu fiz isso e funciona muito bem. Eu posso definir a fonte da imagem e texto através de propriedades de dependência. No entanto, estou preso como não há nenhum evento de clique para o meu controle.
Eu fiz um pouco mais de escavação e concluí que provavelmente precisaria de um CustomControl derivado do Button. Isso está correto? Ou seria melhor conectar um evento de clique ao meu UserControl?
Aqui está o meu UserControl:
<UserControl x:Class="Client.Usercontrols.MyButton"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" MinHeight="30" MinWidth="40"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Button Width="Auto" HorizontalAlignment="Center">
<Border CornerRadius="5" BorderThickness="1" BorderBrush="Transparent" >
<Grid>
<Image Name="tehImage" Source="{Binding ImageSource}" />
<TextBlock Name="tehText" Text="{Binding Text}"
Style="{DynamicResource ButtonText}" />
</Grid>
</Border>
</Button>
</UserControl>
Implementação
<my:MyButton ImageSource="../Images/MainSyncButton.png" ImageWidth="141" Text="Synchronise" Click="btnSynchronise_Click" />