Здравствуйте, Аноним, Вы писали:
А>Нужно выводить список текущих дочерних окон
А>Как лучше сделать обертку над OwnedWindows, чтобы можно было написать как
А>< .. ItemsSource={Binding Path=OwnedWindowsMyProp, ElementName=mainwnd } />
А>Пока думаю создать свойство зависимостей ObservedCollection<Window> и добавлять/удалять элементы при изменении OwnedWindows,
А>но не нашел какое событие у объекта возникает при добавлении/удалении из коллекции OwnedWindows ?
В чём необходимость этой обёртки?
А>Возможно есть другие варианты ?
А так разве не работает, без обёртки:
<ItemsControl ItemsSource="{Binding OwnedWindows, ElementName=mainwnd}">
<ItemsControl.ItemTemplate>
<DataTemplate DataType="Window">
<TextBlock Text="{Binding Title}" />
</DataTemplate>
<ItemsControl.ItemTemplate>
</ItemsControl>
V>А так разве не работает, без обёртки:
V>V><ItemsControl ItemsSource="{Binding OwnedWindows, ElementName=mainwnd}">
V> <ItemsControl.ItemTemplate>
V> <DataTemplate DataType="Window">
V> <TextBlock Text="{Binding Title}" />
V> </DataTemplate>
V> <ItemsControl.ItemTemplate>
V></ItemsControl>
V>
Так работает только для окон на текущий момент, если появился новый Onwer или удалится существующий, то список не обновится т.к. не унаследован от ObservableCollection.
Обычно при старте приложения количеcтво OwnedWindows = 0.