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);
        }
Beispiel #2
0
        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);
        }