无法将 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的主要内容,如果未能解决你的问题,请参考以下文章

使用背景色更改 TextBlock 前景色

如何使 UWP TextBlock 可通过手写进行编辑?

如何在UWP应用程序中保留TextBlock的空格

UWP - 在 TextBlock 中垂直居中文本

纯文本属性在XAML中基于工作日设置textBlock前景

UWP仅在TextBlock文本溢出时显示Tooltip