我在此推敲了一个小型的WPF。 它完全是用微型和小型设备建造的,只使用与观察模型类型有关的数据模板。
我看到了关于如何扩展和删除<代码>ListBox内容以便这些物品能够填满母子的问题。 经过一段试验之后,我得以接手,但现在我发现自己处于与<代码>ItemsControl
此处为<代码>DataTemplates in use(一个简单的TextBox
)。 说明我是如何尝试制定<代码>HorizontalAlignment的。
<DataTemplate DataType="{x:Type vm:OneOfMyViewModelTypes}">
<TextBox
Text="{Binding Path=Value}"
HorizontalAlignment="Stretch"
/>
</DataTemplate>
参看<代码>ItemsControl载于
<Grid Background="Gray">
<Grid.Margin>
<Thickness
Left="{StaticResource ConfigurationDefaultMargin}"
Right="{StaticResource ConfigurationDefaultMargin}"
Bottom="{StaticResource ConfigurationDefaultMargin}"
Top="{StaticResource ConfigurationDefaultMargin}"
/>
</Grid.Margin>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="_key" Width="Auto"/>
<ColumnDefinition SharedSizeGroup="_value" Width="*"/>
</Grid.ColumnDefinitions>
<ItemsControl
Background="DimGray"
Grid.IsSharedSizeScope="True"
ItemsSource="{Binding Path=Configuration, Mode=OneWay}"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="_key"/>
<ColumnDefinition SharedSizeGroup="_value"/>
</Grid.ColumnDefinitions>
<TextBlock
Style="{StaticResource ExtensionConfigurationLabel}"
Grid.Column="0"
Margin="5,5,5,0"
Text="{Binding Path=Caption}"
/>
<ContentPresenter
Grid.Column="1"
HorizontalAlignment="Stretch"
Margin="5,5,5,0"
Content="{Binding}"
/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
我用颜色来看待控制的规模。
结果是......
如您从颜色中可以看到,其中包含<代码>Grid/code>。 <代码>ItemsControl不适用。 我的确将其<代码>HorizontalAlignment property to Stretch
,但似乎没有任何效果。 我是否需要做什么?
成就