Сбой представления WPF, когда код xaml использует DialogHost в сочетании с элементами управления Calendar и Clock с использованием Material Design - PullRequest
0 голосов
/ 08 декабря 2018

У меня проблема при использовании средства выбора даты и времени, которое скопировано из демонстрации дизайна материала.Когда я использую это настраиваемое диалоговое окно, оно выдает следующую ошибку:

ArgumentException: невозможно связать с целевым методом, поскольку его подпись или прозрачность безопасности не совместимы с таковой для типа делегата.

Я ожидаюэто как-то связано с DialogHost.OpenDialogCommand или

materialDesign:DialogHost.DialogOpenedAttached="CombinedDialogOpenedEventHandler"

Когда я использую указатель даты демо-версии Material Design, мой код работает без проблем.

XAML-код:

<StackPanel Grid.Row="2" Grid.Column="1" Orientation="Horizontal">
        <TextBlock Text="{Binding Inspection.startDateTime, StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}" VerticalAlignment="Center" FontSize="24" />
            <Button Margin="8 0 0 0" Content="..." Command="{x:Static materialDesign:DialogHost.OpenDialogCommand}" materialDesign:DialogHost.DialogOpenedAttached="CombinedDialogOpenedEventHandler" materialDesign:DialogHost.DialogClosingAttached="CombinedDialogClosingEventHandler">
                <Button.CommandParameter>
                <Grid Margin="-1">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*" />
                        <RowDefinition Height="Auto" />
                    </Grid.RowDefinitions>
                    <StackPanel Grid.Row="2" Orientation="Horizontal">
                        <Calendar x:Name="CombinedCalendar" Margin="-1 -4 -1 0" />
                        <materialDesign:Clock x:Name="CombinedClock" DisplayAutomation="CycleWithSeconds" Is24Hours="True" />
                    </StackPanel>
                    <StackPanel Grid.Row="2" Margin="8" HorizontalAlignment="Right" Orientation="Horizontal">
                        <Button Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}" CommandParameter="1" Style="{DynamicResource MaterialDesignFlatButton}">
                            OK
                        </Button>
                        <Button Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}" CommandParameter="0" Style="{DynamicResource MaterialDesignFlatButton}">
                            CANCEL
                        </Button>
                    </StackPanel>
                </Grid>
            </Button.CommandParameter>
        </Button>
    </StackPanel>

Редактировать

Сайт Material Design: http://materialdesigninxaml.net/

Ссылка для скачивания демонстрационного материала Material Design: https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/releases/download/v2.5.0/Demo.2.5.0.1205.zip

...