我正在构建一个复合应用程序,除其他外,它提供了一个插件区域(基于统一)来注册视图。
问题在于我希望根据已注册视图的数量为该区域设置不同的布局。特别是我希望为“一个注册的”案例提供一个巨大的(向所有方向拉伸)单个区域,并为“>”创建一个两列(统一)网格。 1查看注册'案例。
所以 - 现在我有(简化)这样的东西:
<ItemsControl
rgn:RegionManager.RegionName="{x:Static Member=i:RegionNames.MainContentRegion}"
HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"
VerticalAlignment="Stretch" VerticalContentAlignment="Stretch">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="2"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ContentPresenter
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
如果观点是动态的〜并在其他地方注册,我怎样才能涵盖特殊的“仅限一元素”的案例?
答案 0 :(得分:0)
当Items.Count == 1时,您可以使用Trigger将ItemsPanelTemplate更改为另一个面板。