如果选择了列表框项,如何设置viewmodel属性?

问题描述 投票:1回答:1

我有一个列表框...它被绑定到类型(类)“A”的项目列表。类“A”具有布尔属性“IsCurrentViewActive”。默认情况下这是错误的。当用户在列表框中选择一个项目时......我需要将相应项目的“IsCurrentViewActive”属性设置为TRUE。

我在列表框中尝试了下面的代码......但是它没有用。任何帮助都将不胜感激。

<Style x:Key="ListBoxItemTabStyle2Extended" TargetType="{x:Type ListBoxItem}" >
                <Setter Property="IsSelected" Value="{Binding Path=IsCurrentViewActive, Mode=TwoWay}"/>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}" Value="True">
                    <Setter Property="IsSelected" Value="{Binding Path=IsCurrentViewActive, Mode=TwoWay}"/>
                </DataTrigger>                    
                </Style.Triggers>
            </Style>

编辑:我们可以这样做还是我需要使用附属物?

wpf properties viewmodel listboxitem selected
1个回答
0
投票

上面的XAML实际上对我很好。我认为这只是让上下文正确的问题。我已经创建了一个可以下载的示例,其工作正常。我认为差异可能是在我的版本中,我将样式存储在ListBox的父控件的资源中。我认为你不能将它们存储在ListBox的资源中。

https://www.dropbox.com/s/s64kp9p0b2w1imk/ListBoxMenu.7z?dl=0

© www.soinside.com 2019 - 2024. All rights reserved.