gpt4 book ai didi

wpf - 为什么 contentpresenter 不填充网格单元格?

转载 作者:行者123 更新时间:2023-12-04 01:50:11 28 4
gpt4 key购买 nike

好的,我在网格单元中有一个 contentpresenter:

        <Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>

<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>

<WrapPanel Grid.Row="0" Grid.Column="0">
<RadioButton GroupName="a" IsChecked="{Binding Path=SpecifyRatedValues, Mode=TwoWay}">Specify</RadioButton>
<RadioButton GroupName="b" IsChecked="{Binding Path=SpecifyRatedValues, Converter={StaticResource invertBoolean}}">Auto generate</RadioButton>
</WrapPanel>

<Border BorderBrush="Black" BorderThickness="3" Grid.Row="1" Grid.Column="0">
<ContentPresenter Content="{Binding Path=RatedValues}"></ContentPresenter>
</Border>
</Grid>

contentpresenter 查找资源下定义的数据模板要使用的 UI 元素:
    <DataTemplate DataType="{x:Type ViewModels:RatedValuesViewModel}">
<Views:RatedValuesView />
</DataTemplate>

现在,一切都按预期工作,除了一件事:在运行时放置在 contentpresenter 中的 View 不会扩展以填充整个单元格。它在左侧和右侧留下了很大的空白。

如何使 contentpresenter 内的 View 填充整个可用区域?

最佳答案

Horizo​​ntalAlign="Stretch"和 VerticalAlign="Stretch"很重要;但是,您还必须记住网格的工作方式。网格单位要么是绝对像素,要么是“自动”,这意味着它们的大小适合其内容(即显示所有内容的最小尺寸),或者是“星星”,这意味着填满所有可用空间。

将第二个 RowDefinition 的高度设置为“*”。您可能还想在网格上设置易于区分的边框画笔和粗细。有时,很容易认为 X 没有填满所有可用空间,但实际上是 X 的容器,或者 X 的容器的容器没有填满空间。使用明亮的原色和大的厚度(3 左右),你可以快速判断谁没有填满东西。

关于wpf - 为什么 contentpresenter 不填充网格单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3353808/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com