将MaxWidth绑定到计算的自动值

时间:2016-08-24 14:24:22

标签: wpf xaml

我有一个包含此部分的datatemplate。第二列用于GridSplitter。

<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="auto" MaxWidth="100"/>
    <ColumnDefinition Width="auto"/>
  </Grid.ColumnDefinitions>
<Grid>

我要做的是将第一列的MaxWidth绑定到其内容的宽度而不是硬编码的宽度值。

这个想法是用户可以使列比其内容更窄但不能更宽。

这可以用简单的绑定吗?

1 个答案:

答案 0 :(得分:1)

OneTime绑定到内容UserControl的实际宽度就行了!

<Grid>
    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="auto" MaxWidth="{Binding ActualWidth, ElementName=ColumnContent, Mode=OneTime}/>
    <ColumnDefinition Width="auto"/>
  </Grid.ColumnDefinitions>
<Grid>