首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同一个View/ViewModel在同一应用中使用了两次,但绑定到不同的数据

同一个View/ViewModel在同一应用中使用了两次,但绑定到不同的数据
EN

Stack Overflow用户
提问于 2011-07-13 22:30:11
回答 1查看 88关注 0票数 0

我创建了一个视图和视图模型,希望在同一应用程序中使用两次(或更多)。然而,我希望将它绑定到两个不同的模型上。

代码语言:javascript
复制
<TabItem Background="Transparent">
            <TabItem.Header>
                <TextBlock Text="Items" Foreground="LightSeaGreen" FontSize="14"/>
            </TabItem.Header>
            <AdornerDecorator>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="250" />
                    </Grid.ColumnDefinitions>

                    <local:ItemsView Grid.Row="0" Grid.Column="0" Margin="5" Height="Auto"/>
                    //This is the reused control
                    <local:NutritionLabelView Grid.Row="0" Grid.Column="1" Margin="5,15,5,5" Height="Auto" VerticalAlignment="Top" ViewKey="Key_ItemsView" />

                </Grid>
            </AdornerDecorator>
        </TabItem>

        <TabItem Background="Transparent">
            <TabItem.Header>
                <TextBlock Text="Meals" Foreground="LightSeaGreen" FontSize="14"/>
            </TabItem.Header>
            <AdornerDecorator>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="250" />
                    </Grid.ColumnDefinitions>

                    <local:MealsView Grid.Column="0" Margin="5" Height="Auto"/>
                     //This is it again
                    <local:NutritionLabelView Grid.Column="1" Margin="5,15,5,5" Height="Auto" VerticalAlignment="Top" ViewKey="Key_MealsView" />

                </Grid>
            </AdornerDecorator>

        </TabItem>

被重用的控件是我为其赋予了ViewKey属性的<local:NutritionLabelView Grid.Column="1" Margin="5,15,5,5" Height="Auto" VerticalAlignment="Top" ViewKey="Key_MealsView" />,这样我就可以告诉这个视图应该显示哪些数据。我可以为此使用多绑定吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-14 06:34:09

我通过将视图的每个控件绑定到视图模型中的相同属性来解决这一问题,并将属性类型设置为Object。然后根据视图关键字返回正确的对象类型。这对我很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6680543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档