Post date: Mar 16, 2010 9:05:08 AM
using System.Windows;
using System.Windows.Controls;
namespace Henell.Silverlight.BeneficiaryReportTool.Config.UserControls
{
public partial class EditAddDeleteList : UserControl
{
public EditAddDeleteList()
{
// Required to initialize variables InitializeComponent(); } DataTemplate _myItemTemplate; public DataTemplate MyItemTemplate
{
get { return _myItemTemplate; }
set
{
_myItemTemplate = value;
CompanyReportList.ItemTemplate = _myItemTemplate;
}
}
public delegate void EditClickEventHandler(object selectedItem);
public delegate void NewClickEventHandler();
public delegate void DeleteClickEventHandler(object selectedItem);
public event EditClickEventHandler OnEditClick;
public event DeleteClickEventHandler OnDeleteClick;
public event NewClickEventHandler OnNewClick;
private void AddNewButton_Click(object sender, RoutedEventArgs e)
{
if(OnNewClick != null)
OnNewClick();
}
private void EditButton_Click(object sender, RoutedEventArgs e)
{
if(OnEditClick != null)
OnEditClick(CompanyReportList.SelectedItem);
}
private void DeleteButton_Click(object sender, RoutedEventArgs e)
{
if(OnDeleteClick != null)
OnDeleteClick(CompanyReportList.SelectedItem);
}
}
}
<UserControl
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" mc:Ignorable="d" xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:Henell_Silverlight_BeneficiaryReportTool_Config_Behaviors="clr-namespace:Henell.Silverlight.BeneficiaryReportTool.Config.Behaviors" x:Class="Henell.Silverlight.BeneficiaryReportTool.Config.UserControls.EditAddDeleteList" d:DesignWidth="256" d:DesignHeight="326">
<Grid x:Name="LayoutRoot">
<Border>
<StackPanel>
<ListBox x:Name="CompanyReportList" Margin="0" ItemsSource="{Binding}">
<i:Interaction.Behaviors>
<Henell_Silverlight_BeneficiaryReportTool_Config_Behaviors:MouseWheelScrollBehavior/>
</i:Interaction.Behaviors>
</ListBox>
<StackPanel Orientation="Horizontal">
<Button x:Name="AddNewButton" Margin="0" Content="Add new..." Click="AddNewButton_Click" Width="70" />
<Button x:Name="EditButton" Margin="0" Content="Edit..." Click="EditButton_Click" Width="70" />
<Button x:Name="DeleteButton" Margin="0" Content="Delete" Click="DeleteButton_Click" Width="70" />
</StackPanel>
</StackPanel>
</Border>
</Grid>
</UserControl>
<UserControlisar:EditAddDeleteList Name="TheCompanyReportList" DataContext="{Binding CompanyReport}" Grid.Column="2" Grid.Row="2" > <UserControlisar:EditAddDeleteList.MyItemTemplate> <DataTemplate> <Grid> <Grid.RowDefinitions> <RowDefinition Height="20" /> <RowDefinition Height="16" /> <RowDefinition Height="16" /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" FontSize="18" Text="{Binding CompanyID}"/> <TextBlock Grid.Row="1" FontSize="10" Text="{Binding ReportFileNameStringFormat}"/> <TextBlock Grid.Row="2" FontSize="10" Text="{Binding ReportTemplate.ReportTemplateDescription}"/> </Grid> </DataTemplate> </UserControlisar:EditAddDeleteList.MyItemTemplate> </UserControlisar:EditAddDeleteList>
public MailReceiverGroupConfig()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MailReceiverGroupConfig_Loaded);
TheCompanyReportList.OnEditClick += TheCompanyReportList_OnEditClick;
TheCompanyReportList.OnDeleteClick += TheCompanyReportList_OnDeleteClick;
TheCompanyReportList.OnNewClick += TheCompanyReportList_OnNewClick;
}
void TheCompanyReportList_OnNewClick()
{
ConfigPopups.CompanyReportConfig c = new ConfigPopups.CompanyReportConfig(_ctx, new CompanyReport());
c.Show();
}
void TheCompanyReportList_OnDeleteClick(object selectedItem)
{
MessageBox.Show("Deleting: " + ((CompanyReport)selectedItem).CompanyID);
}
void TheCompanyReportList_OnEditClick(object selectedItem)
{
if (selectedItem != null)
{
ConfigPopups.CompanyReportConfig c = new ConfigPopups.CompanyReportConfig(_ctx, (CompanyReport)selectedItem);
c.Show();
}
}