ViewModel |
internal sealed class MainWindowViewModel : NotifyPropertyChanged { public string Title { get { ... } } public string ListeningPort { get { ... } set { ... } } public string ProviderHostName { get { ... } set { ... } } public string ProviderPort { get { ... } set { ... } } public string LogFolder { get { ... } set { ... } } public bool? AutoScrollToMostRecentEvent { get { ... } set { ... } } public bool CanEditSettings { get { ... } } public bool CanStart { get { ... } } public void Start() { ... } public bool CanStop { get { ... } } public void Stop() { ... } public void SaveSettings() { ... } public ConnectionViewModel ConsumerConnection { get { ... } } public ConnectionViewModel ProviderConnection { get { ... } } public ReadOnlyObservableCollection<Event> Events { get { ... } } public LogEntry SelectedEvent { get { ... } set { ... } } public FlowDocument SelectedEventDetail { get { ... } private set { ... } } public bool CanLoadFullEventDetail { get { ... } private set { ... } } public void LoadFullEventDetail() { ... } public event EventHandler<ScrollEventIntoViewEventArgs> ScrollEventIntoView; internal MainWindowViewModel(Settings settings) { ... } }
internal sealed class ConnectionViewModel : NotifyPropertyChanged { public string ConnectionCount { get { ... } } public string BytesReceived { get { ... } } public string SecondsSinceLastReceived { get { ... } } }
A few things are of note here, please see the following subtopics for more information: