none
Metro QQ的这个界面是怎么做出来的 RRS feed

  • 问题

  • 看着很像 MessageDialog,但是官方文档说只能改按钮的背景颜色,而不能修改文字的背景颜色。

    有哪位同学做过类似效果的,讲讲啊

    2012年4月19日 7:12

答案

全部回复

  • 他应该是自己做的控件! 就如wp7 c4f一样 自定义的弹出!
    2012年4月19日 12:46
  • 可以自己做一个usercontrol,然后用popups弹出
    2012年4月20日 0:29
  • HTML 中做这个东西更为简单,一个置于顶层的DIV 后面放置一个半透明的DIV作为覆盖。

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年4月23日 6:44
    版主
  • HTML 中做这个东西更为简单,一个置于顶层的DIV 后面放置一个半透明的DIV作为覆盖。

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    html 还是 xaml ?

    我现在项目中是使用下面的代码来显示提示框

    Windows::UI::Popups::MessageDialog^ msg = ref new Windows::UI::Popups::MessageDialog(message, title);

    msg->ShowAsync();

    你的建议是在项目中新增一个 User Control 还是增加一个 Templated Control 呢?

    2012年4月23日 7:16
  • 好吧.你的项目是 C++/XAML 方案。 据我的研究,Metro QQ可能用的是HTML5的方案作的UI。

    "你的建议是在项目中新增一个 User Control 还是增加一个 Templated Control 呢?"

    都行啊,如果要灵活地自定义模板样式,和各个可视状态,Templated Control 会比较好。 不然 User Control 构建起来比较简单。


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年4月23日 7:29
    版主
  • 明白了,谢谢 Bob

    还有一点我想了解的是,下一个版本的 MessageDialog 是否会支持定制背景颜色呢?

    2012年4月23日 7:42
  • 目前没有消息说会支持,不过定制背景颜色现在可以做的只有按钮的颜色:http://msdn.microsoft.com/en-us/library/windows/apps/hh738364.aspx

    Color
    Message dialogs from external applications have a white background with black text. The buttons are colored based on the background color specified by the app developer in the app's manifest.


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年4月23日 8:06
    版主
  • 目前我们只有 C++,不包含 xaml

    添加 Template Control 后(名字叫 MessageBox),生成了三个文件,分别为 Generic.xaml,MessageBox.h,MessageBox.cpp

    然后就不知道怎么用了

    MessageBox^ msg = ref new MessageBox();  可以通过编译,但运行就崩溃

    看了一些 samples,都有一个 MainPage.xaml 作为入口,但这并不适合我这个dx项目(参考示例 MazeGame),不知有何解。。。

    其实我的需求就是往 MazeGame 中加入一个 MessageBox,还可以改变这个 MessageBox 的内容背景色和按钮背景色
    2012年4月23日 9:50
  • 你既然是游戏项目(通过Direct3D?), 你完全可以通过DX来绘制一个自己定义的Top窗体。何必要用XAML的或者防MessageBox的?

    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年4月23日 10:16
    版主
  • 我们是想利用 MessageDialog 来阻止 Direct3D 接收鼠标键盘消息,自己用 Direct3D 实现一套,需要考虑的方方面面还是比较多的

    所以我在找能利用系统已有的功能进行扩展的方法

    这里有一篇文档 Combining XAML and DirectX

    其中第三个模式就是在 dx 项目中利用 xaml 做界面,并且给了一个第一人称射击的游戏例子,还在研究怎么往我这个纯 dx 项目中添加,没啥头绪啊

    2012年4月25日 2:54
  • XAML的内容还是要依赖于WinRT和Windows.UI.XAML名字空间的,所以单纯的DX项目加不进去。还是建议你在XAML中加DX,这样比较好。

    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年4月26日 10:05
    版主