示例#1
0
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            if (values == null)
            {
                return(null);
            }
            var item = values[0];
            var gd   = values[1] as EFDataGrid;

            if (gd == null)
            {
                return(null);
            }
            if (EFDataBoxAssist.GetHasAddedItem(gd))
            {
                if (item == EFDataBoxAssist.GetAddedItem(gd))
                {
                    return("+");
                }
                else
                {
                    return(gd.Items.IndexOf(item));
                }
            }
            return(gd.Items.IndexOf(item) + 1);
        }
示例#2
0
        private void OnRowValueChanged(object sender, RoutedEventArgs e)
        {
            var  row       = sender as DataGridRow;
            bool isChanged = false;

            foreach (var item in row.FindChildren <EFValueEditor>())
            {
                if (item.IsValueChanged)
                {
                    isChanged = true;
                    break;
                }
            }
            EFDataBoxAssist.SetIsRowValueChanged(row, isChanged);
        }
示例#3
0
        protected override void PrepareContainerForItemOverride(DependencyObject element, object item)
        {
            DataGridRow row = (DataGridRow)element;

            row.SetBinding(EFDataBoxAssist.IsRowMouseOverProperty, new Binding(nameof(row.IsMouseOver))
            {
                Source = row, Mode = BindingMode.OneWay
            });
            row.SetBinding(EFDataBoxAssist.IsRowSelectedProperty, new Binding(nameof(row.IsSelected))
            {
                Source = row, Mode = BindingMode.OneWay
            });
            var isAddedItem = item == EFDataBoxAssist.GetAddedItem(this);

            EFDataBoxAssist.SetIsAddedItem(row, isAddedItem);
            base.PrepareContainerForItemOverride(element, item);
        }
示例#4
0
 private void Row_Unselected(object sender, RoutedEventArgs e)
 {
     EFDataBoxAssist.SetIsRowEditable((DataGridRow)sender, false);
 }