private void SetConvertingContent(object convertingContent) { if (convertingContent != null) { _convertingContent = convertingContent; } if (AvailableFilterableProperties == null || SelectedComparisonFieldLeaf == null) { return; } var filterableProp = AvailableFilterableProperties.FirstOrDefault( fp => fp.BoundProperty.Equals(SelectedComparisonFieldLeaf.PropertyDescription)); if (filterableProp != null && filterableProp.ValueToStringConverter != null && _convertingContent != null) { Content = filterableProp.ValueToStringConverter.Convert(_convertingContent, _convertingContent.GetType(), null, CultureInfo.InvariantCulture); } else { if (_convertingContent is string) { Content = "\"" + _convertingContent + "\""; } else if (_convertingContent is DateTime) { Content = "\"" + ((DateTime)_convertingContent).ToString(CultureInfo.InvariantCulture) + "\""; } else if (_convertingContent == null) { Content = "(пустое)"; //TODO: Localize } else { Content = _convertingContent.ToString(); } } }
private void SetSelectedComparisonFieldLeaf(ExpressionTreeFieldLeaf selectedFiledLeaf) { if (selectedFiledLeaf != null) { _selectedComparisonFieldLeaf = selectedFiledLeaf; } if (AvailableFilterableProperties == null || selectedFiledLeaf == null) { return; } var filterableProp = AvailableFilterableProperties.FirstOrDefault( fp => fp.BoundProperty.Equals(selectedFiledLeaf.PropertyDescription)); if (filterableProp != null) { ContentTemplate = filterableProp.ValueTemplate; } }