Я работаю над datagrid в silverlight. У меня есть служба WCF, которая возвращает список, который отлично работает, когда я заполняю datagrid. CoreEmployee возвращает свойства EmployeeId, FirstName, LastName, HourlyRate, HireDate. Это мой XAML почасовой ставки:Silverlight DataGrid Combobox Newbie Question
<data:DataGridTemplateColumn Header="Hourly Rate">
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding HourlyRate}" />
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
<data:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<!--ItemsSource="{Binding PayRateList, Source={StaticResource PayRateProvider}}"-->
<ComboBox SelectedItem="{Binding HourlyRate}"
ItemsSource="{Binding HourlyRates}"
local:ComboBoxService.ForceOpen="true"
/>
</DataTemplate>
</data:DataGridTemplateColumn.CellEditingTemplate>
</data:DataGridTemplateColumn>
Вот что я пытаюсь сделать: Когда почасовые ставки для каждого работника заполняются на сетке данных, я также хочу список всех уникальных ставок заработной платы для каждого человека в сетке данных.
Мой код за это сделать:
private List<Decimal> _hourlyRates = new List<decimal>();
public List<Decimal> HourlyRates
{
get { return _hourlyRates; }
}
void client_GetEmployeesCompleted(object sender, GetEmployeesCompletedEventArgs e)
{
try
{
if (e.Result != null)
{
EmployeesGrid.ItemsSource = e.Result;
// Convert an ObservableCollection<T> to a List<T>
List<CoreEmployee> employees = e.Result.ToList<CoreEmployee>();
// Generate a unique list
// http://stackoverflow.com/questions/223400/checking-for-duplicates-in-a-complex-object-using-linq-or-lamda-expression
var results = from item in employees
group item by item.HourlyRate into g
select g.First();
foreach (CoreEmployee employee in results)
{
HourlyRates.Add(employee.HourlyRate);
}
_dataHasLoaded = true;
}
}
catch (Exception exc)
{
// Eat the exception
}
}
Однако, проблема возникает при попытке дважды щелкнуть TextBlock, комбинированное окно делает дисплей, но без каких-либо данных.
Что я делаю неправильно?