Chamar evento de botão dentro do listbox - C#
23/07/2012
0
Estou desenvolvendo uma aplicação em C# no visual studio 2010 c/ Silverligth. Criei um novo template para um List item de um ListBox, no arquivo generic.xaml. Neste listbox terá 2 colunas, primeira coluna com texto e a segunda coluna com um botão p/ excluir o item:
<DataTemplate x:Key=ListItem x:Name=ListItem>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width=*></ColumnDefinition>
<ColumnDefinition Width=*></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text={Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content} Margin=0 Padding=0 Width=350 Grid.Column=0/>
<Button Grid.Column=1 Name=btnButton Click=Click_btn Margin=0 Padding=0>
<ContentControl>
<Image Source=/Imagens/btnRemoveEmail.png Width=16 Height=16 Margin=0></Image>
</ContentControl>
</Button>
</Grid>
</DataTemplate>
No arquivo App.xaml, faz referência com o arq. generic.xaml: <ResourceDictionary Source=/Projeto;generic.xaml/>
E no arquivo App.xaml.cs, faz a chamada do evento click do botão do ListBox:
private void Click_btn(object sender, RoutedEventArgs e)
{
FrameworkElement fe = sender as FrameworkElement;
ListBox acb = null;
acb.Items.Remove(acb.SelectedItem);
}
O problema é o seguinte, no generic.xaml, quando o visual studio vai ler a linha do botão, <Button Grid.Column=1 Name=btnButton Click=Click_btn Margin=0 Padding=0>, o sistema dá erro na leitura nesta linha, não aceitando o evento click no DataTemplate. Erro: Erro: Unhandled Error in Silverlight Application Code: 2531 Category: ParserError Message: Failed to assign to property System.Windows.Controls.Primitives.ButtonBase.Click.
Quando tiro o Click=Click_btn do código (<Button Grid.Column=1 Name=btnButton Margin=0 Padding=0>), o sistema processa normalmente.
Teria alguma solução p/ corrigir essa questão do click do botão ?
Obg..
<DataTemplate x:Key=ListItem x:Name=ListItem>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width=*></ColumnDefinition>
<ColumnDefinition Width=*></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Text={Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content} Margin=0 Padding=0 Width=350 Grid.Column=0/>
<Button Grid.Column=1 Name=btnButton Click=Click_btn Margin=0 Padding=0>
<ContentControl>
<Image Source=/Imagens/btnRemoveEmail.png Width=16 Height=16 Margin=0></Image>
</ContentControl>
</Button>
</Grid>
</DataTemplate>
No arquivo App.xaml, faz referência com o arq. generic.xaml: <ResourceDictionary Source=/Projeto;generic.xaml/>
E no arquivo App.xaml.cs, faz a chamada do evento click do botão do ListBox:
private void Click_btn(object sender, RoutedEventArgs e)
{
FrameworkElement fe = sender as FrameworkElement;
ListBox acb = null;
acb.Items.Remove(acb.SelectedItem);
}
O problema é o seguinte, no generic.xaml, quando o visual studio vai ler a linha do botão, <Button Grid.Column=1 Name=btnButton Click=Click_btn Margin=0 Padding=0>, o sistema dá erro na leitura nesta linha, não aceitando o evento click no DataTemplate. Erro: Erro: Unhandled Error in Silverlight Application Code: 2531 Category: ParserError Message: Failed to assign to property System.Windows.Controls.Primitives.ButtonBase.Click.
Quando tiro o Click=Click_btn do código (<Button Grid.Column=1 Name=btnButton Margin=0 Padding=0>), o sistema processa normalmente.
Teria alguma solução p/ corrigir essa questão do click do botão ?
Obg..
Andrey
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)