根据条件编辑列表框项

  • 本文关键字:列表 编辑 条件 c# wpf
  • 更新时间 :
  • 英文 :


我正在为一个学校项目建立一个聊天室。在聊天室中有一个包含所有消息的列表框。

<ListBox x:Name="msglistBox" ItemsSource="{Binding Messages, Mode=OneWay}">

Messages是一个包含所有消息的ObservableCollectionMessage类具有发件人名称变量。聊天室知道登录用户的user_name和发送任何给定消息的用户的user_name

我想添加编辑消息的选项,但我想确保只有发送消息的用户才能执行此操作。理想情况下,"编辑"按钮仅对消息发件人可见,而对任何其他用户不可见。

如何添加允许用户编辑列表框中消息的按钮?

我怎样才能做到只有发送消息的用户才能看到该按钮?

您应该编辑 ListBoxItem 模板,使其具有按钮和文本块。

您的 ListBox DataContext 应该是一个新类的列表,该类将具有一个字符串(消息(和一个标志,以便它可以更改将使用您的条件初始化的消息(布尔值(。或多或少像这样:

<Window.Resources>
<DataTemplate x:Key="ChatTemplate">
<Grid>
<TextBlock Text="{Binding Path=Message}"/>
<Button IsEnabled="{Binding IsAuthor}"></Button>
</Grid>
</DataTemplate>
</Window.Resources>
<ListBox ItemsSource="yourNewClassList" ItemTemplate ="ChatTemplate" />

如果您有更多新的帮助,请告诉我

最新更新