对话框XAML和材料设计WPF

时间:2018-07-16 19:53:21

标签: c# wpf xaml material-design material-design-in-xaml

我正在WPF应用程序内的xaml页面上弹出对话框。我正在使用Material Design In XAML Toolkit

页面在主窗口的框架内。我想使变暗的对话框背景一直遍历主窗口中的菜单。 (图片示例:Dialog background going over menu and full window

在带有该按钮的页面上,我有以下代码

<Button Command="{x:Static materialDesign:DialogHost.OpenDialogCommand}" 
                            Width="128" Grid.Row="3" Grid.Column="1" >
        <Button.CommandParameter>
            <system:DateTime></system:DateTime>
        </Button.CommandParameter>
        Popup
    </Button>

然后在主窗口中,我有以下代码:

        

        <DataTemplate DataType="{x:Type system:DateTime}">
            <StackPanel Margin="16">
                <TextBlock>Example!!</TextBlock>
                <Button  Margin="0 8 0 0" IsDefault="True" Command="{x:Static materialDesign:DialogHost.CloseDialogCommand}" Style="{DynamicResource MaterialDesignRaisedDarkButton}">Close</Button>
            </StackPanel>
        </DataTemplate>
    </ResourceDictionary>
</Window.Resources>

我也包括了

xmlns:system="clr-namespace:System;assembly=mscorlib"

当我运行该应用程序时,没有任何错误,它会打开,但是名为“ Popup”的按钮被禁用。但是,当我在Material Design Demo中进行更改时,该代码确实可以在link中运行和工作。

我是XAML的新手,这是我第一个使用此语言的应用程序,因此非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您的MainWindow.xaml内容应如下所示

 <materialDesign:DialogHost Identifier="RootDialog">
     <materialDesign:DialogHost.DialogContent>
        <!--dialog content-->
    </materialDesign:DialogHost.DialogContent>
     <Grid>
       <!--your window cotnent-->
     </Grid>
 </materialDesign:DialogHost>