【问题标题】:Accessability Font and Colors Phone 8.1可访问性字体和颜色 Phone 8.1
【发布时间】:2015-06-30 13:15:28
【问题描述】:

我想将未读文本块的字体颜色更改为手机默认的强调色,这与 Outlook 电子邮件客户端在 Windows 手机上所做的方式非常相似。我需要创建一个画笔,如提供的答案所示,所以不要重复谢谢

<ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" Width="292" Height="130">
        <Border Height="100" Width="100" Margin="10,10,0,10">
            <Image Source="/Assets/termin.jpg" Stretch="UniformToFill"/>
        </Border>
        <StackPanel Orientation="Vertical" VerticalAlignment="Top" Margin="0,10,0,0">
            <TextBlock Text="{Binding description}" 
                       Margin="10,0,0,0" Width="200" Height="30" 
                       TextTrimming="WordEllipsis" TextWrapping="Wrap" HorizontalAlignment="Left"/>
            <TextBlock Text="{Binding Title}" 
                       Margin="10,2,0,0" Width="200" Height="30" 
                       TextTrimming="WordEllipsis" HorizontalAlignment="Left" 
                       FontSize="{ThemeResource ContentControlFontSize}" Opacity="0.49"/>


                </StackPanel>
            </StackPanel>

        </DataTemplate>
</ListView.ItemTemplate>

当我从我的 parse.com 对象创建列表时,我想做的是过滤未读属性,如下所示

if (parseObject.ContainsKey("unread"))
 {
    Boolean isUnread = (bool) parseObject["unread"];
    if (isUnread == true)
     {
       mlist.MessageColour = What do i place here for fone accent colur
       mlist.Unread = isUnread;
     }
}

我的问题是我应该在后面的代码中存储什么以获得正确的强调色我看到了如何使用 xaml 和主题资源来做到这一点,但请记住我将它绑定到我认为的文本块的 syle 属性。

还有人不知道如何检索在设置可访问性中设置的字体大小,或者我只是没有为我的应用设置字体大小以获得默认值。

【问题讨论】:

  • 并不是我想将颜色值存储在列表项中
  • 实际上是的,请标记并复制上述工作
  • @PawełMach 它实际上是我设置前景所需的画笔颜色

标签: c# windows-phone-8.1


【解决方案1】:

Windows Phone 中所有与颜色相关的东西,在某种程度上还有 WPF 或任何用 XAML 编写的东西,都是抽象类型 Brush。您需要创建一个画笔 - 如果是单色 SolidColorBrush - 并将其设置为 TextBlock 的前景。如果你想将它绑定到 View,你需要一个 Brush 类型的属性。

下面的片段应该可以解决问题。

var color = (Color)Application.Current.Resources["PhoneAccentColor"];
mlist.MessageColour = new SolidColorBrush(color);

【讨论】:

  • Mach 感谢它的工作是评论实践为未读消息使用强调色还是未读状态的强调色也是关于字体大小我如何获得默认方法。
  • 如何在 xaml 中引用这个然后我会做我通常的 {Binding MessageColour} 还是我需要做一些其他事情来首先创建画笔。
  • 如果mlist.MessageColour 的类型为Brush,则不需要创建画笔。而AFAIK,即使不是,但可以转换为Brush,应该没问题。默认字体大小在任何TextBlock中默认设置,只是不要写任何东西。如果需要,您需要像颜色一样访问它,只需更改方括号中的字符串。
  • 所以我只添加 {Biding ImagePath}
  • 如果mlist 是您的DataContext,我会说您的意思可能是{Binding MessageColour}。如果不是,它将是{Binding mlist.MessageColour}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-11
  • 1970-01-01
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多