private object CreateDataRow(object item) { var dataRow = new ListBoxDataRow(); InvokeRenderItem(dataRow, item); return(dataRow); }
private void InvokeRenderItem(ListBoxDataRow dataRow, object item) { var value = item.GetProperty(ValueProperty); var display = item.GetProperty(DisplayProperty); var itemUpdateArgs = new RenderItemRoutedEventArgs(OnRenderItemEvent) { Item = item, Value = value, Display = display }; RaiseEvent(itemUpdateArgs); dataRow.Item = item; dataRow.Value = itemUpdateArgs.Value; dataRow.Display = itemUpdateArgs.Display; }
private void UpdateCheckDataRows() { UpdateDataRows(() => { var editValue = EditValue; if (MultiSelect) { var checkedValues = ObjectAsCollection(editValue); foreach (ListBoxDataRow dataRow in _dataRows) { var dataRowChecked = (checkedValues != null) && checkedValues.Contains(dataRow.Value); dataRow.Checked = dataRowChecked; } } else { ListBoxDataRow selectedDataRow = null; foreach (ListBoxDataRow dataRow in _dataRows) { var dataRowChecked = Equals(dataRow.Value, editValue); if (dataRowChecked) { selectedDataRow = dataRow; } dataRow.Checked = dataRowChecked; } SelectDataRow(selectedDataRow); } }, true); }