0

我在这里使用 Codeplex 上提供的 ModernUI for WPF (MUI) 。这是一个很好的框架,我没有问题将它用作我的页面的容器。

我现在正在尝试添加一个自定义模式对话框,但声明为一个简单的 Window 并不能保持 MUI 的良好风格。我一直在尝试理解源代码,但我不知道如何像它那样创建一个窗口。

有人可以给我一些关于如何使用这个框架实现自定义模式对话框的指导吗?

编辑:这是我在 XAMlMAX 的帮助下找到的解决方案:

<mui:ModernWindow
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:sys="clr-namespace:System;assembly=mscorlib"
xmlns:lex="http://wpflocalizeextension.codeplex.com" 
xmlns:SysClient="clr-namespace:SysClient" 
xmlns:System="clr-namespace:System;assembly=mscorlib" 
x:Class="SysClient.Pages.GenericWindow" 
xmlns:mui="http://firstfloorsoftware.com/ModernUI"    
mc:Ignorable="d" Width="800" Height="520" Activated="Window_Activated" Margin="0,0,0,0">
<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/FirstFloor.ModernUI;component/Themes/ModernWindowPopUp.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>
<Window.Style>
    <StaticResource ResourceKey="ModernWindowPopUp"></StaticResource>
</Window.Style>

这就是我使用它的方式:

  GenericWindow w = new GenericWindow()
  {
      Title = "Add Order",
      ShowInTaskbar = false,               // don't show the dialog on the taskbar
      //Topmost = true,                    // ensure we're Always On Top
      ResizeMode = ResizeMode.NoResize,    // remove excess caption bar buttons
      Owner = Application.Current.MainWindow,
      Tag = new ParametersClass(OrderTypeId),
      ContentSource = new Uri("/Windows/AddOrderWindow.xaml", UriKind.Relative)
  };
  w.ShowDialog();
4

1 回答 1

2

也许我知道的足以提供答案:这是布局标记源代码的链接: 按钮模板这将使您基本了解应用程序如何实现其外观。下载字典后,只需将它们应用到模态窗口即可。这应该足以给你想要的结果:-)

任何问题都让我们知道

于 2014-03-17T14:54:24.033 回答