WPF Command - утечка памяти - PullRequest
       28

WPF Command - утечка памяти

4 голосов
/ 24 октября 2011

Я использую WPF 4 с шаблоном MVVM. У меня есть TabControl - это выглядит так:

 <TabControl x:Name="Items" ItemsSource="{Binding Screens}" 
                            SelectedItem="{Binding ActiveScreen}">
   <TabControl.ItemTemplate>
     <DataTemplate>
       <ContentControl>
            <Button Command="{Binding 
                              DataContext.ScreenCloseCommand, 
                              ElementName=MainWindow}" 
                    CommandParameter="{Binding}">X</Button>
       </ContentControl>
     </DataTemplate>
   </TabControl.ItemTemplate>

Проблема в том, что CommandParameter = "{Binding}" содержит строгую ссылку на отображаемую в данный момент View / ViewModel. Как я могу удалить эту команду? Другими словами: мне нужен способ удалить команду кнопки из ItemTemplate, имея только ссылку на TabControl.ContentTemplate (ViewModel и View). Что-то вроде прохождения предметов, поиска предметов, удаления команды ...

Спасибо Michael

1 Ответ

1 голос
/ 25 октября 2011

Я думаю, что вы смотрите не на ту проблему.Это не Binding, который поддерживает ViewModel.Это целое TabControl и набор, к которому он привязан.

Если вы описали, какую реальную проблему вы пытаетесь решить, а не решение, которое вы безуспешно пытаетесь использовать, мы можем помочь вам лучше.

...