Суть проблемы:
Есть БД
Есть XAML разметка
<Window x:Class="BindingDataWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BindingDataWPF"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded" Closing="Window_Closing">
<Window.Resources>
</Window.Resources>
<Grid>
<StackPanel>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="5">
<TextBox Name="textBoxName" Margin="5" Width="100" Text="{Binding ElementName=dataGridStudent, Path=SelectedItem.Name, Mode=OneWay}"></TextBox>
<TextBox Name="textBoxAge" Margin="5" Width="100" Text="{Binding ElementName=dataGridStudent, Path=SelectedItem.Age, Mode=OneWay}"></TextBox>
<TextBox Name="textBoxSpec" Margin="5" Width="100" Text="{Binding ElementName=dataGridStudent, Path=SelectedItem.Group.Specialization, Mode=OneWay}"></TextBox>
<ComboBox Name="comboBoxGroup" Margin="5" Width="100" SelectedItem="{Binding ElementName=dataGridStudent, Path=SelectedItem.Group, Mode=OneWay}" DisplayMemberPath="Number"></ComboBox>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="5" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button Name="buttonAdd" Margin="5" Click="buttonAdd_Click">Add</Button>
<Button Name="buttonUpdate" Margin="5" Click="buttonUpdate_Click">Update</Button>
<Button Name="buttonDelete" Margin="5" Click="buttonDelete_Click">Delete</Button>
</StackPanel>
<DataGrid Name="dataGridStudent" Margin="10,10" AutoGenerateColumns="False" CanUserAddRows="False">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Id}" ClipboardContentBinding="{x:Null}" Header="ID" Width="Auto"/>
<DataGridTextColumn Binding="{Binding Name}" ClipboardContentBinding="{x:Null}" Header="Name" Width="*"/>
<DataGridTextColumn Binding="{Binding Age}" ClipboardContentBinding="{x:Null}" Header="Age" Width="*"/>
<DataGridTextColumn Binding="{Binding Group.Specialization}" ClipboardContentBinding="{x:Null}" Header="Specialization" Width="*"/>
<DataGridComboBoxColumn Header="Group" Width="Auto" ItemsSource="{Binding Group}" DisplayMemberPath="Number">
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</Grid>
Данные к DataGrid
привязываются тут
private void Window_Loaded(object sender, RoutedEventArgs e)
{
db.StudentSet.Load();
db.GroupSet.Load();
dataGridStudent.ItemsSource = db.StudentSet.Local.ToBindingList<Student>();
comboBoxGroup.ItemsSource = db.GroupSet.Local.ToBindingList<Group>();
}
Ссылка на GitHub
P. S. перелазил весь гугл с этим вопросом, но видимо я слишком не очень чтобы правильно использовать решения, в нем найденные.
Я бы сделал некий промежуточный объект (View-Model), в котором объединил бы те свойства, которые мне нужны. Из обоих БД.
И его свойства уже привязывал бы к DataGrid. Ну а дальше - зависит от того, что Вы собираетесь делать с этими свойствами.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Возможно туповатый вопрос но все таки его задам: как можно с генерировать строку чтобы она совпала с той, которую я ввел через ConsoleReadLine(); ? Или...
Возможно ли создать CheckBox с тремя состояниями: не установлено, включено, исключено? Что-то вроде того, что ниже: