У меня есть ItemsControl на окнах один из колонны из которых содержит простой очень узкий StackPanel, который служит только в качестве мишени для Всплывающих, который при определенных обстоятельствах.ItemsControl не будет повторно вынести после показа Popup на нем
После того, как было показано, и пользователь был проинформирован о чем-то, как пользователь закроет этот Popup с помощью кнопки (команды, связанной с этой кнопкой только устанавливает свойство модели представления, к которому Popup. IsOpen привязан к false).
Popup закрывается, но его образ остается отпечаток на ItemsControl, пока не будет прокручиваться или другое окно перекрывает его.
Как перекрашиватьItemsControl после Popup был закрыт?
Код:
1) ItemsControl
<ScrollViewer ...>
<ItemsControl x:Name="ux_List" ItemTemplate="{DynamicResource Lib_ItemTemplate}" ItemsSource="{Binding Path=TemplateInfos,Mode=OneWay}" AlternationCount="2" ... />
2) Пункт шаблон
<DataTemplate x:Key="Lib_ItemTemplate">
<Grid x:Name="grid">
...
<StackPanel Grid.Column="1">
<Popup IsOpen="{Binding Path=HasError,Mode=OneWay}">
<ContentPresenter Content="{Binding Path=ErrorContext, Mode=OneWay}"
и есть кнопка закрытия внутри ведущего в последней строке выше фрагменте кода:
<Button ... Command="{TemplateBinding CloseButtonCommand}" />
Команда связана с этой кнопкой реализована так:
private void OnCloseErrorMessageCommand()
{
HasError = false;
...
}
Вы могли бы разместить фотографию о том, что вы имеете в виду? Или, может быть, какой-то код? Я думаю, Popups нарисованы на другом слое, чем на слое пользовательского интерфейса, поэтому перерисовка ItemsControl может ничего не делать – Rachel
Я не могу воспроизвести вашу проблему. Когда я закрываю всплывающее окно, все закрывается красиво. Можете ли вы показать нам свою разметку? Но что-то, как это должно работать: <Всплывающее Closed = "myPopup_Closed" ... частная пустота myPopup_Closed (объект отправителя, EventArgs е) { myItemsControl.InvalidateVisual(); } – SvenG
Я никогда не видел всплывающее окно в DataTemplate, и для меня это не похоже на действительный подход, но я не уверен. Что говорят другие? – Clemens