Можно ли просмотреть эффекты триггеров данных в дизайне в Expression Blend 3? - PullRequest
5 голосов
/ 13 января 2010

Blend поддерживает отображение графического представления ресурса стиля и позволяет выбрать активное свойство / триггер события для просмотра или изменения. Тем не менее, это обычное явление, когда визуальные элементы контролируются DataTriggers. Можно ли сказать разработчику, что он должен считать DataTrigger «активным», чтобы его визуальные изменения можно было просмотреть в конструкторе?

Пример:

<Style x:Key="MyBorder" TargetType="Border">
    <Setter Property="CornerRadius" Value="5" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding IsRandomPropertyActive}" Value="True">
            <Setter Property="Background">
                <Setter.Value>
                    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                        <GradientStop Color="#FFFF8935" Offset="0" />
                        <GradientStop Color="#FFFF610C" Offset="1" />
                    </LinearGradientBrush>
                </Setter.Value>
            </Setter>
        </DataTrigger>
    </Style.Triggers>
</Style>

В конструкторе это просто отображает пустое поле, так как стиль по умолчанию не определяет никаких конкретных визуальных аспектов. Можно ли как-то сказать разработчику, что я хочу, чтобы он предполагал, что IsRandomPropertyActive имеет значение true, и отображал соответствующий стиль?

1 Ответ

2 голосов
/ 13 января 2010

Если вы используете фиктивные ViewModels с Blend, хороший прием - загрузить ваши ViewModels времени разработки из отдельного файла XAML в проекте. Если вы сделаете это, вы можете легко изменить XAML внутри Blend и сразу же увидеть, как эти изменения вступят в силу. Например, вы изменили бы свой XAML для фиктивной ViewModel, чтобы сказать:

<AViewModelObject>
  ...
  <AnotherViewModelObject ... IsRandomPropertyActive="true" ... />
  ...
</AViewModelObject>

Я не знаю ни одного более простого способа достичь желаемой функциональности.

...