Подчеркивания не отображаются в WPF

Можно использовать встроенный модуль File::stat (включенный с Perl 5.004).

Вызов stat($fh) возвраты массив со следующей информацией о дескрипторе файла передал в (от perlfunc страница справочника для stat ):

  0 dev      device number of filesystem
  1 ino      inode number
  2 mode     file mode  (type and permissions)
  3 nlink    number of (hard) links to the file
  4 uid      numeric user ID of file's owner
  5 gid      numeric group ID of file's owner
  6 rdev     the device identifier (special files only)
  7 size     total size of file, in bytes
  8 atime    last access time since the epoch
  9 mtime    last modify time since the epoch
 10 ctime    inode change time (NOT creation time!) since the epoch
 11 blksize  preferred block size for file system I/O
 12 blocks   actual number of blocks allocated

Элемент номер 9 в этом массиве даст Вам прошлый измененный раз с эпохи ( 0:00 1 января 1970 GMT). От этого можно определить местное время:

my $epoch_timestamp = (stat($fh))[9];
my $timestamp       = localtime($epoch_timestamp);

Для предотвращения магическое число 9 необходимых в предыдущем примере дополнительно используйте Time::localtime, другой встроенный модуль (также включенный с Perl 5.004). Это требует некоторого (возможно) более четкого кода:

use File::stat;
use Time::localtime;
my $timestamp = ctime(stat($fh)->mtime);

16
задан McGarnagle 26 April 2014 в 01:29
поделиться

1 ответ

Чтобы отключить подчеркивания глобально для всех меток, вы можете переопределить шаблон по умолчанию для меток, например:

<Style x:Key="{x:Type Label}"
       TargetType="{x:Type Label}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Label}">
                <Border Background="{TemplateBinding Background}"
                        BorderThickness="{TemplateBinding BorderThickness}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        Padding="{TemplateBinding Padding}"
                        SnapsToDevicePixels="true">
                    <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                      VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                      RecognizesAccessKey="False"
                                      SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
                </Border>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled"
                             Value="false">
                        <Setter Property="Foreground"
                                Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Он отличается от шаблона по умолчанию в этой строке: RecognizesAccessKey="False".

Поместите этот стиль в глобальные ресурсы вашего приложения (App.xaml), и ваши ярлыки больше не будут распознавать подчеркивания.

19
ответ дан 30 November 2019 в 16:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: