Обычно вы можете вызвать функцию void (из ViewModel) в View просто:
Имя кнопки = VoidFunctionInViewModel
Команда кнопки = {Binding Path = VoidFunctionInViewModel}
Нопри доступе к этой функции внутри DialogHost функция void не срабатывает.
Я попытался извлечь строковое поле в DialogHost, и оно работает нормально, но когда дело касается команд на кнопках, это не работает.
MainViewModel.cs Команды:
public async void OpenDialog()
{
var confirm = new ConfirmationView{DataContext = this};
await DialogHost.Show(confirm);
}
public void Accept()
{
Console.WriteLine("It Failed!");
}
public string Success {get; set;} = "Success"
ConfirmationView.xaml:
<Button Command="{Binding Path=Accept}" Content="Accept"/>
<Button Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}" Content="Cancel"/>
<TextBlock Name="Success"/>
MainView.xaml:
<materialDesign:DialogHost DialogTheme="Inherit" CloseOnClickAway="True">
</materialDesign:DialogHost>
Свойство "Успех »успешно используется и показывается DialogHost. Но кнопка «Принять» с помощью команды «Принять» не вызывается DialogHost.
Кнопка «Отмена» работает с командой materialDesign.