本文将告诉大家如何在 WinUI 3 或 UNO 里面,仿造 WPF 的 ColumnDefinition SharedSizeGroup 共享列宽功能 本文的实现代码是大量从 https://github.com readonly DependencyProperty SharedSizeGroupProperty = DependencyProperty.RegisterAttached("SharedSizeGroup = GetSharedSizeGroup(currentFrameworkElement); if (string.IsNullOrEmpty(sharedSizeGroup)) group.TryGetValue(sharedSizeGroup, out var columnSharedSizeGroup)) { columnSharedSizeGroup = new ColumnSharedSizeGroup(); group.Add(sharedSizeGroup, columnSharedSizeGroup);
Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" SharedSizeGroup SharedSizeGroup FormItem中Label列是自适应的,同一个Form中不同FormItem的这个列通过SharedSizeGroup属性保持同步。 应用了SharedSizeGroup属性的元素会找到IsSharedSizeScope设置true的父元素(也就是Form),然后同步这个父元素中所有SharedSizeGroup值相同的对应列。
"200" Height="210" > <Grid.ColumnDefinitions> <ColumnDefinition SharedSizeGroup