12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using System.Collections.Generic;
- using System.Windows;
- using System.Windows.Data;
- using InABox.Core;
- using InABox.Wpf;
- using Syncfusion.UI.Xaml.Grid;
- using Syncfusion.UI.Xaml.TreeGrid;
- namespace InABox.DynamicGrid;
- public class DynamicGridMemoColumn : DynamicGridEditorColumn<MemoEditor, GridTextColumn, TreeGridTextColumn>
- {
- private void UpdateBinding(GridColumnBase column, string mapping)
- {
- var binding = new Binding
- {
- Path = new PropertyPath(mapping),
- Converter = new FuncConverter<object?, string>(
- x => x is string[] strArr ? string.Join('\n', strArr) : (x?.ToString() ?? ""),
- x => x)
- };
- column.DisplayBinding = binding;
- column.ValueBinding = binding;
- column.Padding = new Thickness(2);
- }
- protected override void UpdateBinding(GridTextColumn column)
- {
- base.UpdateBinding(column);
- UpdateBinding(column, MappingName);
- }
- protected override void UpdateBinding(TreeGridTextColumn column)
- {
- base.UpdateBinding(column);
- UpdateBinding(column, TreeMappingName);
- }
- protected override void Configure(GridTextColumn column, MemoEditor editor)
- {
- column.TextWrapping = TextWrapping.Wrap;
- column.UpdateTrigger = UpdateSourceTrigger.PropertyChanged;
- }
- protected override void Configure(TreeGridTextColumn column, MemoEditor editor)
- {
- column.TextWrapping = TextWrapping.Wrap;
- column.UpdateTrigger = UpdateSourceTrigger.PropertyChanged;
- }
-
- public override bool VariableHeight => true;
- public DynamicGridMemoColumn(DynamicGridColumn definition) : base(definition)
- {
- }
- }
|