У меня есть список, в котором источник элемента содержит список (из T), который имеет логическое свойство SelectedFlag. Моя модель представления установлена как DataContext моего пользовательского элемента управления, и все работает так, как ожидалось, за исключением того, что я не могу получить изменение свойства, даже если флажок изменен.
Вот мой xaml ListBox
<ListBox x:Name="lstRole" ItemsSource="{Binding Path=FAccountFunctions, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectedValuePath="Id">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding Path=SelectedFlag, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Center" />
<TextBlock Text="{Binding Path=FunctionDesc}" VerticalAlignment="Center" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Мне нужно вызвать мою функцию Filter() после того, как установлен флажок, и я обычно устанавливаю UpdateSourcTrigger=PropertyChanged, чтобы это работало.
Public Property FAccountFunctions As List(Of FunctionType)
Get
Return _faccountFunctions
End Get
Set(ByVal value As List(Of FunctionType))
_faccountFunctions = value
Filter()
End Set
End Property
Событие PropertyChangedEvent вызывается для свойства SelectedFlag в коллекции FAccountFunctions. Как вызвать событие в источнике элементов при изменении одного из свойств SelectedFlag?
Изменил мое свойство FAccountFunctions на ObservableCollection... не повезло.