如何将内容动态放入控件中

时间:2015-04-08 08:32:10

标签: wpf xaml stackpanel dynamicresource

我在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)?

1 个答案:

答案 0 :(得分:0)

您可以在网格中放置内容控件,然后根据某些条件设置其内容,如果不满足该条件,您可以选择不设置内容,也可以使其可见性崩溃。

我推荐在您的情况下对堆栈面板进行内容控制,以便将来如果您需要适合其他内容,则只需要为内容控件提供新内容。