У меня есть IMultivalueConverter
, который обновляет цвет фона StackPanel
, когда PropertyA
или PropertyB
изменен. Эти элементы управления создаются динамически.MultivalueConverter не вызван после DragDrop
Проблема: Я добавил два StackPanels
и изменили PropertyA
в коде при нажатии кнопки. Это приводит к событию, измененному свойствам.
private void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
Для первого stackpanel
цвет фона не обновляется, но для второго stackpanel
this.PropertyChanged INTURN называет мой MultiValueConverter и цвет фона обновляется.
Я не могу понять, почему только один элемент управления обновляется, когда оба принадлежат одному типу, а обработчик событий не равен нулю.
EDIT: Если я перетаскиваю значение ячейки из другого элемента управления (DevExpress DataGrid) в первую стеквую панель и затем изменяю свойство, фон не обновляется. Он отлично работает, пока я не перетаскиваю.
Update:
<StackPanel.Background>
<MultiBinding Converter="{StaticResource ResourceKey=BackgroundColorConverter}">
<Binding Path="PropertyA" UpdateSourceTrigger="PropertyChanged" />
<Binding Path="PropertyB" UpdateSourceTrigger="PropertyChanged" />
</MultiBinding>
</StackPanel.Background>
Update 2: Я также попытался с помощью MultiDataTrigger вместо конвертера, но не может решить эту проблему.
Можете ли вы разместить свой XAML, пожалуйста? –
Можете ли вы точно определить, какие элементы управления создаются динамически и как PLS? – Usama