Search code examples
c#wpfmainwindow

Application doesn't start if I inherit MainWindow


I have a RootViewModel class, and I want to access an UI element (instantialized in MainWindow) from there. For that I set the class this way:

 class RootViewModel : MainWindow, INotifyPropertyChanged

But the application doesn't start. It compiles and throws no error but the Window doesn't appear. If I remove that MainWindow, I can't access my element that has been created in MainWindow.xaml. What can I do to solve this?

EDIT: Ok, I understand that I shouldn't be doing that, it's going against what it is MVVM. But is there a way to modify directly something from MainWindow? What should I try instead of this?


Solution

  • I was able to achieve what I wanted by creating a

    public ObservableCollection<ChartPlotter> myPlotCollection { get; set; }
    

    And then adding a ChartPlotter there, and setting in XAML:

     <DockPanel Grid.Column="2">
            <ItemsControl  Width="Auto" 
                       Height="Auto"
                       ItemsSource="{Binding myPlotCollection}">
            </ItemsControl>
    
        </DockPanel>
    

    So this way I have complete control over what is happening in myPlotCollection[0]. At this moment it's enough for me, later I'll give it another try to bind it properly.