首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当选项卡更改时,WPF维护ListBox选择

当选项卡更改时,WPF维护ListBox选择
EN

Stack Overflow用户
提问于 2009-12-22 19:49:20
回答 1查看 1.6K关注 0票数 0

我有一个TabControl,其中每个TabItem的内容都是一个主细节视图。

对于主程序,我使用的是一个列表框,它的ItemsSource绑定到我的ViewModel中的集合。从列表中选择一项将显示该特定项的详细信息,并将其显示在网格中。

当我切换到另一个选项卡,然后返回到原始选项卡时,列表框选择似乎丢失了。

当选项卡选择更改时,如何维护每个选项卡中的列表框选择?

在正常使用中,最终用户将需要“设置”特定情况下他们喜欢的详细视图,然后偶尔通过选项卡来检查每个系统(每个选项卡为不同生产线上的机器提供详细信息)。

TabControl看起来如下所示:

代码语言:javascript
复制
<TabControl 
    ItemsSource="{Binding DiagCards}"
    ContentTemplate="{StaticResource DiagCardViewTemplate}"
    SelectedItem="{Binding SelectedDiagCard}" />

每个TabItem的视图都有一个ListBox,如下所示:

代码语言:javascript
复制
<ListBox
   ItemsSource="{Binding DiagCard.DevicesDetected}" 
   SelectedItem="{Binding SelectedDevice}"/>

详细信息在TabItem中使用ContentControl显示:

代码语言:javascript
复制
<ContentControl
   Content="{Binding SelectedDevice}"
   ContentTemplateSelector="{StaticResource SelectedDeviceTemplateSelector}"/>

我应该注意到,使用硬编码的TabItems和ListBoxes进行的简单测试似乎在选项卡更改时维护了所选内容:

代码语言:javascript
复制
    <TabControl>
        <TabItem Header="tab 1">
            <ListBox>
                <ListBoxItem>
                    <TextBlock Text="item 1-1"/>
                </ListBoxItem>
                <ListBoxItem>
                    <TextBlock Text="item 1-2"/>
                </ListBoxItem>
            </ListBox>
        </TabItem>
        <TabItem Header="tab 2">
            <ListBox>
                <ListBoxItem>
                    <TextBlock Text="item 2-1"/>
                </ListBoxItem>
                <ListBoxItem>
                    <TextBlock Text="item 2-2"/>
                </ListBoxItem>
            </ListBox>
        </TabItem>
    </TabControl>

Update:我在列表框上设置了IsSynchronizedWithCurrentItem="True",看起来一切都很好。

EN

回答 1

Stack Overflow用户

发布于 2009-12-22 21:47:33

根据您的评论,我想您的视图模型中有一些东西正在改变,以删除所选的项。您能在SelectedDevice的设置器上设置一个断点并检查调用堆栈吗?

若要测试是否可以删除SelectedItem={}代码,并在更改选项卡时查看它是否保持选中?

要回答得更完整,我需要看到更多的代码。

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

https://stackoverflow.com/questions/1948698

复制
相关文章

相似问题

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