如何在Telerik的RadConversationView中禁用选择项目的功能
我正在使用RadConversationView显示聊天。 默认情况下,可以选择一个项目,它会破坏带有accept颜色的标签,这是我无法避免的 XAML: 消息模板传入和传出略有不同如何在Telerik的RadConversationView中禁用选择项目的功能,telerik,windows-phone,Telerik,Windows Phone,我正在使用RadConversationView显示聊天。 默认情况下,可以选择一个项目,它会破坏带有accept颜色的标签,这是我无法避免的 XAML: 消息模板传入和传出略有不同 <DataTemplate x:Key="IncomingMessageTemplate"> <Grid Margin="12"> <Grid.ColumnDefinitions> <ColumnDefinition Widt
<DataTemplate x:Key="IncomingMessageTemplate">
<Grid Margin="12">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<primitives:RadPointerContentControl Background="{StaticResource BrownBrush}"
TargetPoint="-150,-300">
<primitives:RadPointerContentControl.PointerTemplate>
<DataTemplate>
<Polygon Width="12"
Height="24"
Points="0,0 12,0 12,12 0,24"
StrokeThickness="0"
Fill="{StaticResource BrownBrush}"
RenderTransformOrigin="0.5, 0.5">
<Polygon.RenderTransform>
<ScaleTransform ScaleX="-1"/>
</Polygon.RenderTransform>
</Polygon>
</DataTemplate>
</primitives:RadPointerContentControl.PointerTemplate>
<StackPanel>
<TextBlock Text="{Binding Body}"
TextWrapping="Wrap"
Margin="12"/>
<TextBlock Text="{Binding Time}" FontSize="14" FontWeight="Bold"
Margin="12, 0, 12, 12"
HorizontalAlignment="Left"/>
</StackPanel>
</primitives:RadPointerContentControl>
</Grid>
</DataTemplate>
如何禁用此行为?最简单的解决方案是覆盖datatemplate中的TextBlock样式,将前台恢复为默认值:
<DataTemplate x:Key="IncomingMessageTemplate">
<Grid Margin="12">
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}" />
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<primitives:RadPointerContentControl Background="{StaticResource BrownBrush}"
TargetPoint="-150,-300">
<primitives:RadPointerContentControl.PointerTemplate>
<DataTemplate>
<Polygon Width="12"
Height="24"
Points="0,0 12,0 12,12 0,24"
StrokeThickness="0"
Fill="{StaticResource BrownBrush}"
RenderTransformOrigin="0.5, 0.5">
<Polygon.RenderTransform>
<ScaleTransform ScaleX="-1"/>
</Polygon.RenderTransform>
</Polygon>
</DataTemplate>
</primitives:RadPointerContentControl.PointerTemplate>
<StackPanel>
<TextBlock Text="{Binding Body}"
TextWrapping="Wrap"
Margin="12"/>
<TextBlock Text="{Binding Time}" FontSize="14" FontWeight="Bold"
Margin="12, 0, 12, 12"
HorizontalAlignment="Left"/>
</StackPanel>
</primitives:RadPointerContentControl>
</Grid>
</DataTemplate>
你能展示一下你的XAML吗?我在RadConversationView上玩了一点,没有发现与选择消息相关的属性,也没有发现尝试点击消息时的任何视觉差异。只需使用xaml示例更新我的帖子即可。消息模板取自telerik文档。
<DataTemplate x:Key="IncomingMessageTemplate">
<Grid Margin="12">
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}" />
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<primitives:RadPointerContentControl Background="{StaticResource BrownBrush}"
TargetPoint="-150,-300">
<primitives:RadPointerContentControl.PointerTemplate>
<DataTemplate>
<Polygon Width="12"
Height="24"
Points="0,0 12,0 12,12 0,24"
StrokeThickness="0"
Fill="{StaticResource BrownBrush}"
RenderTransformOrigin="0.5, 0.5">
<Polygon.RenderTransform>
<ScaleTransform ScaleX="-1"/>
</Polygon.RenderTransform>
</Polygon>
</DataTemplate>
</primitives:RadPointerContentControl.PointerTemplate>
<StackPanel>
<TextBlock Text="{Binding Body}"
TextWrapping="Wrap"
Margin="12"/>
<TextBlock Text="{Binding Time}" FontSize="14" FontWeight="Bold"
Margin="12, 0, 12, 12"
HorizontalAlignment="Left"/>
</StackPanel>
</primitives:RadPointerContentControl>
</Grid>
</DataTemplate>