将网格宽度绑定到ParentGrid.Width - ParentGridBorder.BorderThickness

时间:2015-08-19 15:31:07

标签: c# wpf

我刚刚开始使用WPF,所以请在任何简单的错误中承担责任。

正如标题所述,我想将Grid的宽度绑定到其ParentGrid的InnerWidth。所以对于一个代码示例(非常简化):

<Grid Name="ParentGrid" Width="300">
    <Border Name="ParentGridBorder Thickness="2" Width="{Binding Width, ElementName=ParentGrid}" />
    <Grid Name="ChildGrid" Width="{**? ParentWidth - ParentBorderThickness ?**}">
        ....
    </Grid>
</Grid>

我正在使用Visual Studio 2012,WPF和C#代码隐藏(我假设一个非常标准的设置)。非常感谢任何帮助。

附录:由于我对WPF的新意,这是一种糟糕而误入歧途的做法。选定的答案指出了我试图为其创建变通方法的大小调整问题。

1 个答案:

答案 0 :(得分:1)

我建议你忽略Grid.Border的想法,而是在第二个Grid中添加一个边距。除非您出于任何其他原因需要边框,否则这是可行的方法。

<Grid Name="ParentGrid" Width="300">
    <Grid Name="ChildGrid" Margin="10">
    ....
    </Grid>
</Grid>

除非另有明确说明,否则网格内的对象自然符合其父级的大小。

Note the child grid maintains its size

请注意子网格保持其大小