private static string RoundTripBinding(string indexer) { var indexerBinding = BindingUtils.GetIndexerBinding(indexer); var boundClass = new BoundClass { DataContext = new ReflectingIndexer() }; boundClass.SetBinding(TextBlock.TextProperty, indexerBinding); return(boundClass.BoundValue); }
private void InitTableData() { if (_haveInitedData) { return; } _haveInitedData = true; var data = (VolatilitySurfaceData <Tenor, Tenor>)DataContext; while (detailsList.Columns.Count > 1) { detailsList.Columns.RemoveAt(1); } foreach (var x in data.Xs) { var textBlockStyle = new Style(typeof(FrameworkElement)); var binding = BindingUtils.GetIndexerBinding(x.ToString()); binding.Converter = new ValueToColorConverter(_zRange); textBlockStyle.Setters.Add(new Setter(BackgroundProperty, binding)); detailsList.Columns.Add(new DataGridTextColumn { Width = 60, Header = x, CellStyle = textBlockStyle, Binding = BindingUtils.GetIndexerBinding(x.ToString()) }); } var rows = new List <Dictionary <string, object> >(); foreach (var y in data.Ys) { var row = new Dictionary <string, object>(); row["Length"] = y; foreach (var x in data.Xs) { double value; if (data.TryGet(x, y, out value)) { row[x.ToString()] = value; } } rows.Add(row); } detailsList.ItemsSource = rows; }
public void BindingModeIsOneWay() { var indexerBinding = BindingUtils.GetIndexerBinding(string.Empty); Assert.Equal(BindingMode.OneWay, indexerBinding.Mode); }