wpf - 强制两个 WPF 控件具有相同的宽度,同时保持来自 xaml 的自动调整大小(两个控件的宽度都大于两个)
问题描述
我正在尝试定义一个 1x3 网格,其中第一列和第三列的宽度自动调整大小以适合其内容但保持相等的宽度。我想我可以通过将每个 ColumnDefinition 的 MinWidth 属性绑定到其他列 ActualWidth 来实现这一点。但这似乎不起作用。有人可以解释为什么以下代码不起作用吗?
'''
<DataTemplate DataType="{x:Type edvm:NodeViewModel}">
<Grid">
<Grid.ColumnDefinitions>
<ColumnDefinition
x:Name="inCol"
Width="Auto"
MinWidth="{Binding ElementName=outCol, Path=ActualWidth}" />
<ColumnDefinition
Width="*"
MinWidth="25" />
<ColumnDefinition
x:Name="outCol"
Width="Auto"
MinWidth="{Binding ElementName=inCol, Path=ActualWidth}" />
</Grid.ColumnDefinitions>
</Grid>
</DataTemplate>
'''
解决方案
设置SharedSizeGroup
两个 ColumnDefinition 的属性。那也会隐含地设置Width="Auto"
.
<Grid Grid.IsSharedSizeScope="True">
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="OuterColumns"/>
<ColumnDefinition MinWidth="25"/>
<ColumnDefinition SharedSizeGroup="OuterColumns"/>
</Grid.ColumnDefinitions>
...
</Grid>
推荐阅读
- android - 为什么我不能调用片段视图的 onClick 属性
- php - Laravel - Laratrust - 重命名权限名称
- cursive - 草书在注释行中向前/向后导航单词
- php - 找不到类 Google_Client()
- haskell - 以下类型的 Functor 实例是什么: newtype F2 xa = F2 ((a -> x) -> a)
- php - 当用户点击它时,有什么方法可以通过锚标签传递 SESSION id?
- mysql - 错误号: 3780 外键约束 '%s' 中引用列 '%s' 和引用列 '%s' 不兼容
- c# - 基于 .NET Core 3.1 中的泛型类型通过 DI 注入应用程序设置
- python - Kivy:AttributeError:“CreateButton”对象没有属性“_disabled_count”
- vba - 从下拉列表中选择日期和选项