Эй, все, что я пытаюсь понять, как вызвать SampleMessageDialog в моем собственном приложении.SampleMessageDialog в дизайне материалов WPF
До сих пор это код у меня есть для кнопки на моей форме, которая должна открыть окно сообщения:
Private Async Sub BrowseButton_Copy_Click(sender As Object, e As RoutedEventArgs) Handles BrowseButton_Copy.Click
msgBoxPop.showPop()
End Sub
И это showPop:
Imports MaterialDesignThemes.Wpf
Imports newRegisterProg.MaterialDesignColors.WpfExample.Domain
Public Class msgBoxPop
Public Shared Async Sub showPop()
Dim sampleMessageDialog = New SampleMessageDialog()
With sampleMessageDialog
.Message.Text = "TEST!"
End With
Await DialogHost.Show(sampleMessageDialog, "RootDialog")
End Sub
End Class
И, наконец, это является usercontrol:
<UserControl x:Class="MaterialDesignColors.WpfExample.Domain.SampleMessageDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d"
x:Name="messagePOP"
d:DesignHeight="300" d:DesignWidth="300"
MaxWidth="400">
<Grid Margin="16">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock x:Name="Message"
Margin="0 6 0 0"
FontSize="18" Grid.Row="0"/>
<Button Grid.Row="1"
IsDefault="True" Style="{DynamicResource MaterialDesignFlatButton}"
HorizontalAlignment="Right"
Margin="16 16 16 0"
Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}">
ACCEPT
</Button>
</Grid>
</UserControl>
В настоящее время wh ru Я нажимаю кнопку, на которой появляется ошибка:
Дополнительная информация: Нет загруженных экземпляров DialogHost.
на линии:
Await DialogHost.Show(sampleMessageDialog, "RootDialog")
является то, что можно сделать в коде? – StealthRT
Несомненно. Вы добавляете контент приложения в код сейчас? Я не знаю специфического синтаксиса VB, но перед добавлением приложения в Content of Window добавьте DialogHost и добавьте указанное приложение в Content of the DialogHost. DialogHost расширяет ContentControl, поэтому просто используйте его как этот стандартный элемент управления. – Joe