Windows 现代 UI 消息应用指南

Windows Modern UI Message App Guide

我正在开发一个 Windows 存储消息应用程序项目。

基本上,这个项目由两个应用程序组成。

第一个在 Android 上(目前),将充当用户计算机 运行 Windows (8.1) 的桥梁。所有短信和彩信都通过蓝牙传输(因此 8.1 仅由于需要蓝牙)

第二个应用程序,是计算机上的主要应用程序,运行。最后,用户可以开始使用 Windows 应用程序与人发短信(稍后使用彩信)。这里不涉及云服务器,这是重点。

我的问题很简单。我可以看到很多 Windows 商店应用程序(Metro 应用程序),其中 UI 非常适合对话(聊天/消息传递)。我不想和他们一样好,因为我喜欢优秀设计师的技能,但我似乎真的很难设计一个简单的对话应用程序。

为了更准确,我正在寻找指南:

  1. 聊天气泡(左侧是收到的消息,右侧是已发送的消息);
  2. ListView/ListBox 上的流畅动画(目前使用“ScrollIntoView”会使 ListView 闪烁...令人不安)

目前是 "it"。 任何帮助都非常受欢迎!谢谢!!

PS:我发现了一些接近的东西:http://blog.scottlogic.com/2011/07/15/a-wp7-conversation-view.html 但不适用于 W8.1 :( 但现在你知道我在找什么了 ;-)

图表气泡可以用canvas画出来。

<UserControl
    x:Class="GridAppDemo.Controls.MyChatBubble"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:GridAppDemo.Controls"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignWidth="306" Height="104">

    <Grid>
        <StackPanel Margin="0,0,-10,0">
            <StackPanel Orientation="Horizontal" Height="25" HorizontalAlignment="Right" Margin="0,0,10,0">
                <Border Background="Green" HorizontalAlignment="Left" Padding="10,5">
                    <TextBlock Text="Hello World!" Foreground="White"></TextBlock>
                </Border>
                <Canvas>
                    <Polygon Fill="Green" Points="0, 5, 10, 10, 0, 15" />
                </Canvas>
            </StackPanel>
            <StackPanel Margin="0,5,0,0" ></StackPanel>
            <StackPanel Orientation="Horizontal" Height="25">
                <Canvas>
                    <Polygon Fill="Green" Points="0, 10, 10, 5, 10, 15" />
                </Canvas>
                <Border Background="Green" HorizontalAlignment="Left" Padding="10,5" Margin="10,0,0,0">
                    <TextBlock Text="Hello World!" Foreground="White"></TextBlock>
                </Border>
            </StackPanel>
        </StackPanel>

    </Grid>
</UserControl>