C# WPF-为什么我的属性没有更新?

C# WPF-为什么我的属性没有更新?,c#,wpf,xaml,C#,Wpf,Xaml,下面是一些代码: <ListBox MaxWidth="468" SelectionMode="Extended" ItemsSource="{Binding Visitors, Mode=TwoWay}"> <ListBox.ItemContainerStyle> <Style TargetType={x:Type ListBoxItem}> <Setter Property="I

下面是一些代码:

<ListBox
    MaxWidth="468"
    SelectionMode="Extended"
    ItemsSource="{Binding Visitors, Mode=TwoWay}">
    <ListBox.ItemContainerStyle>
        <Style TargetType={x:Type ListBoxItem}>
            <Setter Property="IsSelected" Value="{Binding VisitorSelected, Mode=TwoWay}" />
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>

每当选择访问者时,我需要更新访问者(在源代码处)。由于某种原因,我所拥有的东西不起作用。我在绞尽脑汁,但我想不出办法来解决这个问题。想法


编辑:对不起,我不小心在那里有一个重复的属性,我删除了它。另外,让我澄清一下:
VisitorSelected
正在更新。但是这对我没有多大好处,因为我需要在包含
访问者的视图模型中得到通知,而不是在定义
访问者所选的位置。我希望这是有意义的

我最后在访问者项目类型中添加了一个
操作
参数,然后在设置了
访问者选择时调用该参数。
操作
由视图模型传入。

为什么会有两个
ItemContainerStyle
分配?一个是通过
ItemContainerStyle=“{StaticResource ListBoxContainerStyle}”
,另一个是通过
?您正在对访问者使用双向绑定,这意味着对访问者的任何更改都将反映在列表框中,对列表框中集合的任何更改都将更新访问者。但是,当选择一个项目时,集合的元素数不会改变。选择项目时,不会添加或删除任何项目。因此,访问者不会得到更新。似乎VisitorSelected应该得到更新。只要
VisitorSelected
发生更改,并且您的ViewModel可以侦听这些事件并作出响应,您就可以从声明
VisitorSelected
的位置发出属性更改通知。