Как сделать Стиль. Триггеры инициировали другой названный стиль, который будет применен

Недавно мне пришлось обновить несколько проектов, которые использовали npm и package.json для их магии gruntfile.js. Следующая команда bash (многострочная команда) хорошо сработала для меня:

npm outdated --json --depth=0 | \
jq --ascii-output --monochrome-output '. | keys | .[]' | \
xargs npm install $1 --save-dev

Идея здесь: направить вывод npm outdated как json, в jq
(jq является анализатор командной строки / инструмент запросов json)
(обратите внимание на использование аргумента --depth для npm outdated)
jq сократит вывод до только имени пакета верхнего уровня.
наконец, xargs помещает каждое LIBRARYNAME по одной в команду npm install LIBRARYNAME --save-dev

Выше приведено то, что мне помогло на работающей машине: node = v0.11.10 osx = 10.9.2 npm = 1.3.24

это потребовалось:
xargs http://en.wikipedia.org/wiki/Xargs (я считаю, что он принадлежит моей машине)
и
jq http://stedolan.github.io/jq/ (я установил его с brew install jq)

Примечание: я сохраняю только обновленные библиотеки в package.json внутри ключа json devDependancies с использованием --save-dev, что было требованием моих проектов, вполне возможно, не вашим.

После этого я проверяю, что все хорошо, с помощью простого

npm outdated --depth=0

Кроме того, вы можете проверить текущие версии установленных библиотек верхнего уровня с помощью

npm list --depth=0

14
задан Squimmy 10 February 2014 в 05:14
поделиться

2 ответа

Я не думаю, что вы можете, однако вы можете повторно использовать стиль таким образом:

<Style x:Key="ActiveStyle" TargetType="{x:Type TextBox}">
    <Style.Triggers>
        <Trigger Property="IsFocused" Value="true">
            <Setter Property="BorderBrush" Value="Green" />
            <Setter Property="BorderThickness" Value="2" />
        </Trigger>
    </Style.Triggers>
</Style>

<Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource ActiveStyle}">
    <Setter Property="BorderThickness" Value="1" />
    <Setter Property="BorderBrush" Value="Gray" />
</Style>

Я не вижу другого решения: (

13
ответ дан 1 December 2019 в 09:13
поделиться

WPF предоставляет специальное свойство для этого FrameworkElement.FocusVisualStyle Итак, давайте, назначьте это:)

<TextBox FocusVisualStyle="{StaticResource ActiveStyle}" .....

Или другой способ, используя сеттеры

<Style TargetType="{x:Type TextBox}">
 <Setter Property="BorderThickness" Value="1" />
 <Setter Property="BorderBrush" Value="Gray" />    
 <Setter Property="FocusVisualStyle" >
  <Setter.Value>
    <Style x:key="ActiveStyle" TargetType="{x:Type TextBox}">
       <Setter Property="BorderBrush" Value="Green" />
       <Setter Property="BorderThickness" Value="2" />
    </Style>
   </Setter.Value>
  </Setter>
 </Style>
8
ответ дан 1 December 2019 в 09:13
поделиться
Другие вопросы по тегам:

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