我正在尝试复制 Windows Phone 的消息传递系统,但使用另一项服务。我正在使用Coding4Fun Toolkit for Windows Phone中的 Chat Bubble 控件来执行此操作。
(聊天气泡控件的屏幕截图):
我在下面提出的代码工作正常,但是我的数据模板中的 ChatBubbleDirection 属性在数据绑定时会产生错误。这是因为我不知道如何使用另一个类的属性(如果这有意义?)。这将如何完成?我就是想不通...
XAML 属性应如下所示:
ChatBubbleDirection="LowerLeft"
您可以猜到,这将确定 ChatBubble 小箭头的方向。
这是消息类的代码:
using Coding4Fun.Phone.Controls.Toolkit.Common;
public class Message : Coding4Fun.Phone.Controls.ChatBubble
{
public string Text { get; set; }
public string SendingDate { get; set; }
//public Coding4Fun.Phone.Controls.ChatBubble { get; set; }
}
这是按钮单击事件的代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
LBmessages.ItemsSource = messages;
Message m = new Message();
m.SendingDate = "Today";
m.Text = "This is a message";
//m.direction = (Coding4Fun.Phone.Controls.ChatBubble).ChatBubbleDirectionProperty???
messages.Add(m);
}
这是 XAML:
<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<ScrollViewer Height="369" Name="scrollviewer1" Width="500">
<ListBox Name="LBmessages" Height="250">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="456">
<cc:ChatBubble Width="500" Margin="0,0,0,20" ChatBubbleDirection="{Binding direction}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="40"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Text}" TextWrapping="Wrap" Width="430"></TextBlock>
<TextBlock Grid.Row="1" HorizontalAlignment="Right" Text="{Binding SendingDate}"></TextBlock>
</Grid>
</cc:ChatBubble>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
</StackPanel>
有人知道我应该在 Message 类中写什么吗?我真的不知道如何进一步解释我的问题。我尝试在我的 Message 类中扩展 ChatBubble 类(如您所见),但无济于事。
提前感谢您的帮助!