WpfLibrary1.MyCastomApplication
1.0.2
dotnet add package WpfLibrary1.MyCastomApplication --version 1.0.2
NuGet\Install-Package WpfLibrary1.MyCastomApplication -Version 1.0.2
<PackageReference Include="WpfLibrary1.MyCastomApplication" Version="1.0.2" />
<PackageVersion Include="WpfLibrary1.MyCastomApplication" Version="1.0.2" />
<PackageReference Include="WpfLibrary1.MyCastomApplication" />
paket add WpfLibrary1.MyCastomApplication --version 1.0.2
#r "nuget: WpfLibrary1.MyCastomApplication, 1.0.2"
#:package WpfLibrary1.MyCastomApplication@1.0.2
#addin nuget:?package=WpfLibrary1.MyCastomApplication&version=1.0.2
#tool nuget:?package=WpfLibrary1.MyCastomApplication&version=1.0.2
Окно авторизации <Window x:Class="User05.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:User05" mc:Ignorable="d" Title="Главное окно" Height="450" MinHeight="450" MaxHeight="500" Width="800" MinWidth="800" MaxWidth="900"> <DockPanel> <Button Click="Button_Click" Margin="10" Content="Войти" Height="45" Width="180" FontSize="17" DockPanel.Dock="Bottom"></Button> <StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock HorizontalAlignment="Center" Text="Авторизация"></TextBlock> <StackPanel Orientation="Horizontal"> <TextBlock Text="Логин:"></TextBlock> <TextBox x:Name="LoginBox"></TextBox> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Text="Пароль:"></TextBlock> <PasswordBox x:Name="PassBox"></PasswordBox> </StackPanel> </StackPanel> </DockPanel> </Window>
namespace User05 { /// <summary> /// Логика взаимодействия для MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); }
private void Button_Click(object sender, RoutedEventArgs e)
{
try
{
if (LoginBox.Text == String.Empty PassBox.Password == String.Empty) { MessageBox.Show("Введите данные для входа"); }
int Login = int.Parse(LoginBox.Text);
String Password = PassBox.Password;
using (prakticEntities db = new prakticEntities())
{
var users = db.User.FirstOrDefault(u => u.IdUser == Login u.Password == Password);
if (users != null)
{
if (users.Role.Any(u => u.Role1 == "организатор"))
{
OrgWindow org = new OrgWindow();
org.Show();
this.Close();
return;
}
}
else { MessageBox.Show("Пользователь не определён"); }
}
}
catch
{
MessageBox.Show("Произошла ошибка");
}
}
}
}
Выводы <Window x:Class="User05.OrgWindow" 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:User05" mc:Ignorable="d" Title="Окно организатора" Height="450" MinHeight="450" MaxHeight="500" Width="800" MinWidth="800" MaxWidth="900"> <DockPanel> <Button Click="Button_Click" Margin="10" Content="Назад" Height="45" Width="180" FontSize="17" DockPanel.Dock="Bottom"></Button> <StackPanel Orientation="Vertical"> <TextBlock HorizontalAlignment="Center" Text="События"></TextBlock> <ComboBox x:Name="eventscombo" DisplayMemberPath="Name"></ComboBox> <DataGrid Height="240" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" IsReadOnly="True" AutoGenerateColumns="False" x:Name="EventGrid"> <DataGrid.Columns> <DataGridTextColumn Header="Название" Binding="{Binding Name}"></DataGridTextColumn> <DataGridTextColumn Header="Дни" Binding="{Binding CountOfDays}"></DataGridTextColumn> </DataGrid.Columns> </DataGrid> </StackPanel> </DockPanel> </Window>
namespace User05 { /// <summary> /// Логика взаимодействия для OrgWindow.xaml /// </summary> public partial class OrgWindow : Window { public OrgWindow() { InitializeComponent(); eventscombo.ItemsSource = prakticEntities.getcontext().Event.ToList(); EventGrid.ItemsSource = prakticEntities.getcontext().Event.ToList(); }
private void Button_Click(object sender, RoutedEventArgs e)
{
MainWindow mainwi = new MainWindow();
mainwi.Show();
this.Close();
}
}
}
Контекст
private static prakticEntities context;
public prakticEntities()
: base("name=prakticEntities")
{
}
public static prakticEntities getcontext()
{
if (context == null)
context = new prakticEntities();
return context;
}
Вывод данных в DataGrid с картинкой
using (ConfEntities db = new ConfEntities()) { var query = from ev in db.eventing join evfl in db.event_type_field on ev.id_event equals evfl.id_event join fl in db.field on evfl.field.id_field equals fl.id_field select new { Номер = ev.id_event, Название = ev.name_event, Направление = fl.name_field, Дата = ev.date_start }; var formattedQuery = query.ToList().Select(item ⇒ new { Путь = $"/Мероприятия/{item.Номер}.jpg", Название2 = item.Название, Направление2 = item.Направление, Дата2 = ((DateTime)item.Дата).ToString("dd/MM/yy") });
DataGridTemplateColumn imageColumn = new DataGridTemplateColumn();
DataGridTextColumn data1 = new DataGridTextColumn();
DataGridTextColumn data2 = new DataGridTextColumn();
DataGridTextColumn data3 = new DataGridTextColumn();
imageColumn.Header = "Логотип";
imageColumn.Width = 90;
FrameworkElementFactory imageFactory = new FrameworkElementFactory(typeof(Image));
imageFactory.SetBinding(Image.SourceProperty, new Binding("Путь"));
imageFactory.SetValue(Image.StretchProperty, System.Windows.Media.Stretch.Fill);
DataTemplate imageTemplate = new DataTemplate();
imageTemplate.VisualTree = imageFactory;
imageColumn.CellTemplate = imageTemplate;
data1.Binding = new Binding("Название2");
data2.Binding = new Binding("Направление2");
data3.Binding = new Binding("Дата2");
event1.RowHeight = 60;
event1.Columns.Add(imageColumn);
event1.Columns.Add(data1);
event1.Columns.Add(data2);
event1.Columns.Add(data3);
event1.ItemsSource = formattedQuery;
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net8.0-windows was computed. net9.0-windows was computed. net10.0-windows was computed. |
-
net6.0-windows7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.