using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
namespace Ravi.UI.Silverlight
{
///
/// Custom combobox because databinding doesn’t work correctly
///
public class ComboBox : System.Windows.Controls.ComboBox
{
#region Constructor
///
/// Constructor
///
public ComboBox()
{
this.Loaded += new RoutedEventHandler(ComboBox_Loaded);
this.SelectionChanged += new SelectionChangedEventHandler(ComboBox_SelectionChanged);
}
#endregion
#region Events
///
/// Loaded Event
///
///
///
void ComboBox_Loaded(object sender, RoutedEventArgs e)
{
SetSelectionFromValue();
}
private object _selection;
void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (e.AddedItems.Count > 0)
{
_selection = e.AddedItems[0];
SelectedValue = GetMemberValue(_selection);
}
else
{
_selection = null;
SelectedValue = null;
}
}