【发布时间】:2021-01-31 21:30:55
【问题描述】:
我在 WPF 中编写了一个应用程序,并将矩形的宽度绑定到网格 columnDefinition 的宽度。 我把它填成红色来测试它是否有效。它在设计器中工作,但是当我启动应用程序时,我看不到任何红色。 这是我的主窗口:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="col1" Width="200"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition x:Name="col2"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition x:Name="row1"/>
</Grid.RowDefinitions>
<GridSplitter Grid.Column="1" SizeChanged="CanvasChangeSize" HorizontalAlignment="Stretch" Width="5"/>
<Rectangle Fill="Red" HorizontalAlignment="Left" Height="50" StrokeThickness="0" VerticalAlignment="Top" Width="{Binding ElementName=col1, Path=ActualWidth}"/>
</Grid>
谁能帮帮我?
【问题讨论】:
-
你为什么要绑定宽度?矩形将自动调整为列的宽度。只是不要将其 HorizontalAlignment 设置为默认 Stretch 以外的任何其他值。
-
我不知道为什么,但是当我删除宽度属性或者我改写 Grid.Column="0" 时它也不起作用