|
@@ -16,17 +16,18 @@
|
|
|
|
|
|
|
|
Название окна должно быть осмысленным и с суффиксом *Window*. У меня получилось *DetailWindow*
|
|
Название окна должно быть осмысленным и с суффиксом *Window*. У меня получилось *DetailWindow*
|
|
|
|
|
|
|
|
->Можно в каталог `Windows` перетащить и главное окно **MainWindow**. Только в этом случае надо в разметке приложения (`App.xaml`) добавить название каталога:
|
|
|
|
|
->
|
|
|
|
|
->```xml
|
|
|
|
|
-><Application
|
|
|
|
|
-> x:Class="mysql.App"
|
|
|
|
|
-> xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
|
|
|
-> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
|
|
|
-> xmlns:local="clr-namespace:mysql"
|
|
|
|
|
-> StartupUri="Windows/MainWindow.xaml">
|
|
|
|
|
-> ^^^^^^^^
|
|
|
|
|
->...
|
|
|
|
|
|
|
+Можно в каталог `Windows` перетащить и главное окно **MainWindow**. Только в этом случае надо в разметке приложения (`App.xaml`) добавить название каталога:
|
|
|
|
|
+
|
|
|
|
|
+```xml
|
|
|
|
|
+<Application
|
|
|
|
|
+ x:Class="mysql.App"
|
|
|
|
|
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
|
|
|
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
|
|
|
+ xmlns:local="clr-namespace:mysql"
|
|
|
|
|
+ StartupUri="Windows/MainWindow.xaml">
|
|
|
|
|
+ ^^^^^^^^
|
|
|
|
|
+...
|
|
|
|
|
+```
|
|
|
|
|
|
|
|
Опять же, все окна должны иметь нормальные заголовки. В разметке окна поменяйте атрибут *Title* элемента **Window** (это надо сделать и для основного окна)
|
|
Опять же, все окна должны иметь нормальные заголовки. В разметке окна поменяйте атрибут *Title* элемента **Window** (это надо сделать и для основного окна)
|
|
|
|
|
|
|
@@ -43,10 +44,9 @@ public Cat currentCat {get; set;}
|
|
|
public DetailWindow(Cat currentCat)
|
|
public DetailWindow(Cat currentCat)
|
|
|
^^^^^^^^^^^^^^
|
|
^^^^^^^^^^^^^^
|
|
|
{
|
|
{
|
|
|
|
|
+ InitializeComponent();
|
|
|
// и инициализируем в конструкторе
|
|
// и инициализируем в конструкторе
|
|
|
this.currentCat = currentCat;
|
|
this.currentCat = currentCat;
|
|
|
-
|
|
|
|
|
- InitializeComponent();
|
|
|
|
|
}
|
|
}
|
|
|
```
|
|
```
|
|
|
|
|
|
|
@@ -69,4 +69,16 @@ private void caListBox_MouseDoubleClick(
|
|
|
|
|
|
|
|
Если модальность не важна (логика задачи допускает открытие нескольких окон), то можно использовать метод _Show_.
|
|
Если модальность не важна (логика задачи допускает открытие нескольких окон), то можно использовать метод _Show_.
|
|
|
|
|
|
|
|
-Добавьте в окно с детальной информацией кнопку "OK" и добавьте ей свойство `IsCancel="true"`, чтобы окно закрывалось по клавише "Escape".
|
|
|
|
|
|
|
+Добавьте в окно с детальной информацией кнопку "OK" и добавьте ей свойство `IsCancel="true"`, чтобы окно закрывалось по клавише "Escape".
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+## Задание
|
|
|
|
|
+
|
|
|
|
|
+1. Добавьте в модель **Cat** свойства:
|
|
|
|
|
+ - _есть прививка_ (**Boolean**)
|
|
|
|
|
+ - _дата прививки_ (**DateTime**)
|
|
|
|
|
+1. Выведите в модальном окне все поля модели **Cat**.
|
|
|
|
|
+ - Поле _есть прививка_ отображать чекбоксом,
|
|
|
|
|
+ - поле _дата прививки_ отображать только если _есть прививка_ (использовать аттрибут _Visibility_),
|
|
|
|
|
+ - содержимое поля _дата прививки_ выводить используя конвертер
|