using Avalonia.Controls;
using NewLife.Studio.Modules.DataStudio.ViewModels;
namespace NewLife.Studio.Modules.DataStudio.Views;
public partial class SqlEditorView : UserControl
{
private SqlEditorViewModel? _viewModel;
public SqlEditorView()
{
InitializeComponent();
DataContextChanged += (_, _) =>
{
if (_viewModel != null)
_viewModel.PropertyChanged -= OnVmPropertyChanged;
_viewModel = DataContext as SqlEditorViewModel;
if (_viewModel != null)
{
_viewModel.PropertyChanged += OnVmPropertyChanged;
SyncResultGrid();
}
};
}
private void OnVmPropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(SqlEditorViewModel.ActiveTab))
{
SyncResultGrid();
}
}
private void SyncResultGrid()
{
if (_viewModel?.ActiveTab?.ResultGrid != null)
{
ResultGridControl.DataContext = _viewModel.ActiveTab.ResultGrid;
}
}
}
|