我在XAML中有两个几乎相同的GUI结构,区别在于一个StackPanel在相应的结构中有一个Image和一个Rectangle,StackPanel也包含其他内容。我想只编写一次孔结构并拥有一个动态资源,其中放置图像或矩形。代码基本上就像:
<Style x:Key="myGrid" TargetType="{x:Type Grid}">
<!-- Many nested controls -->
<StackPanel>
<!-- Some differnt Controls -->
<Object Value="{DynamicResource someDynamicItem}" />
<StackPanel/>
</Style>
<Style x:Key="myGridWithImage" BasedOn="{StaticResource myGrid}" TargetType="{x:Type Grid}">
<Style.Resources>
<Image x:Key="someDynamicItem" />
</Style.Resources>
</Style>
<Style x:Key="myGridWithRectangle" BasedOn="{StaticResource myGrid}" TargetType="{x:Type Grid}">
<Style.Resources>
<Rectangle x:Key="someDynamicItem" />
</Style.Resources>
</Style>
是否有可能以这种方式动态分配的任何类型的占位符(而不是Object-Tag)?
答案 0 :(得分:0)
您可以在网格中放置内容控件,然后根据某些条件设置其内容,如果不满足该条件,您可以选择不设置内容,也可以使其可见性崩溃。
我推荐在您的情况下对堆栈面板进行内容控制,以便将来如果您需要适合其他内容,则只需要为内容控件提供新内容。