繁体   English   中英

WPF-使用ContentControl中父DataTemplate中的DataType

[英]WPF - Use DataType from parent DataTemplate inside ContentControl

所以我在UserControl.Resources中定义了一个DataTemplate,如下所示:

    <DataTemplate x:Key="Impact">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <TextBlock Grid.Column="0"
                       Text="Impact:" />
            <ComboBox Grid.Column="1"
                      ItemsSource="{Binding Impacts}">
            </ComboBox>
        </Grid>
    </DataTemplate>

然后,在可视树中有一个ItemsControl定义,如下所示:

<ItemsControl ItemsSource="{Binding Path=ViewModelsList}">
        <ItemsControl.Resources>
            <DataTemplate DataType="{x:Type ui:FirstViewModel}">
                    <ContentControl ContentTemplate="{StaticResource Impact}"></ContentControl>
            </DataTemplate>
            <DataTemplate DataType="{x:Type ui:SecondViewModel}">
                <ContentControl ContentTemplate="{StaticResource Impact}"></ContentControl>
                ...
            </DataTemplate>
        </ItemsControl.Resources>
    </ItemsControl>

有没有一种方法可以将资源中的{Binding Impacts}与DataTemplate的DataType中定义的各个ViewModel类型相关联?

也许有一种方法可以将DataType传递给ContentControl?

将此添加到您的ContentControls:

Content="{Binding}"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM