1

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

4

1 回答 1

0

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

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

于 2015-04-08T08:35:24.760 回答