无法将 TextBlock 前景置于黑色 UWP Color Foreground ListView
Posted
技术标签:
【中文标题】无法将 TextBlock 前景置于黑色 UWP Color Foreground ListView【英文标题】:Can't put the TextBlock foreground in black UWP Color Foreground ListView 【发布时间】:2022-01-12 07:28:22 【问题描述】:如果左键单击我想将 TextBlock 前景设置为灰色,如果右键单击我想将 TextBlock 前景设置为黑色。实际上程序不是在右键单击时执行,而是在单击时执行。它有什么问题?
private void SelectList1_LeftTapped(object sender, ItemClickEventArgs e)
dynamic clickedItem = e.ClickedItem;
ListViewItem item = SelectList1.ContainerFromItem(clickedItem) as ListViewItem;
item.Foreground = new SolidColorBrush(Colors.Gray);
Article selectArticle = item.Content as Article;
WebView1.Source = new System.Uri(selectArticle.article_link);
DataAccess.ArticleIsRead(selectArticle.article_id);
private void SelectList1_RightTapped(object sender, RightTappedRoutedEventArgs e)
ListViewItemPresenter clickedItem = e.OriginalSource as ListViewItemPresenter;
Article selectArticle = clickedItem.DataContext as Article;
ListViewItem item = SelectList1.ContainerFromItem(selectArticle) as ListViewItem;
item.Foreground = new SolidColorBrush(Colors.Black);
item.Background = new SolidColorBrush(Colors.Black);
string selectArticleId = selectArticle.article_id;
DataAccess.ArticleNotRead(selectArticleId);
【问题讨论】:
其实我用你的代码测试过,如果我不设置IsItemClickEnabled="True"
,左键不会触发,但是右键可以正常工作。如果我启用 item-click,它们都可以正常工作。
哦,非常感谢。
是的,我解决了问题。
【参考方案1】:
我用ListView设置IsItemClickEnabled="True"
来测试我的代码,左键右击都可以正常工作。
<Border Grid.Column="1">
<ListView x:Name="SelectList1" ItemsSource="x:Bind allArticleList" IsItemClickEnabled="True" ItemClick="SelectList1_LeftTapped" RightTapped="SelectList1_RightTapped" ItemTemplate="StaticResource ArticleDataTemplate" ItemContainerStyleSelector="StaticResource ArticleStyleSelector">
</ListView>
</Border>
【讨论】:
以上是关于无法将 TextBlock 前景置于黑色 UWP Color Foreground ListView的主要内容,如果未能解决你的问题,请参考以下文章