Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Если я корректен в интерпретации Вашего сообщения, Вы хотите что-то, что работает подобное тому, что Billy Hollis демонстрирует в своем приложении .
StaffLynx, я недавно создал подобное управление, и оказывается, что этот вид идеи относительно прост реализовать в WPF. Я создал пользовательский элемент управления под названием DialogPresenter. В шаблоне управления для пользовательского элемента управления я добавил разметку, подобную следующему:
<ControlTemplate TargetType="{x:Type local=DialogPresenter}">
<Grid>
<ContentControl>
<ContentPresenter />
</ContentControl>
<!-- The Rectangle is what simulates the modality -->
<Rectangle x:Name="Overlay" Visibility="Collapsed" Opacity="0.4" Fill="LightGrey" />
<Grid x:Name="Dialog" Visibility="Collapsed">
<!-- The template for the dialog goes here (borders and such...) -->
<ContentPresenter x:Name="PART_DialogView" />
</Grid>
</Grid>
<ControlTemplate.Triggers>
<!-- Triggers to change the visibility of the PART_DialogView and Overlay -->
</ControlTemplate.Triggers>
</ControlTemplate>
я также добавил Show(Control view)
метод, который находит 'PART_DialogView' и добавляет переданный в поле зрения Content
свойство.
Это затем позволяет мне использовать DialogPresenter
следующим образом:
<controls:DialogPresenter x:Name="DialogPresenter">
<!-- Normal parent view content here -->
<TextBlock>Hello World</TextBlock>
<Button>Click Me!</Button>
</controls:DialogPresenter>
К обработчику событий кнопок (или связанная команда), я просто называю Шоу () методом DialogPresenter
.
можно также легко добавить разметку ScaleTransform к шаблону DialogPresenter для получения масштабирующихся эффектов, показанных в видео. Это решение имеет аккуратный и опрятный код пользовательского элемента управления и очень простой интерфейс для Вашей команды программистов UI.
Hope это помогает!
Вы не ищете модальное диалоговое окно здесь. Вам нужна функция, которая отключит управление "страницей", показать диалоговое окно и повторно включить его, когда диалоговое окно закроется.
я не слишком уверен, понимаете ли Вы то, что модальное диалоговое окно предназначено, чтобы сделать хотя?