2010-01-13 10 views
5

La mezcla es compatible con la representación gráfica de un recurso de estilo y le permite seleccionar un activador de propiedad/evento activo para ver o modificar. Sin embargo, es una ocurrencia común tener elementos visuales controlados por DataTriggers. ¿Es posible decirle al diseñador que debería considerar un DataTrigger 'activo' para que sus cambios visuales puedan verse en el diseñador?¿Es posible ver los efectos de los desencadenantes de datos en el diseño de Expression Blend 3?

Ejemplo:

<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> 

En el diseñador, esto simplemente muestra un cuadro de vacío como el estilo por defecto no define aspectos visuales específicos. ¿Hay alguna forma de decirle al diseñador que quiero suponer que IsRandomPropertyActive es verdadero y mostrar el estilo apropiado?

Respuesta

2

Si está utilizando módulos de vista simulados con mezcla, un buen truco es cargar sus modelos de vista en tiempo de diseño de un archivo XAML separado en el proyecto. Si haces esto, puedes cambiar fácilmente el XAML dentro de Blend y ver inmediatamente que los cambios surtan efecto. Por ejemplo, tendría que cambiar su modelo de vista XAML para el simulacro de decir:

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

No estoy al tanto de cualquier manera más sencilla de lograr la funcionalidad que usted desea.

+0

Gracias, supongo que esta es la única forma de evitar el problema en este momento. No estoy seguro de si esto se adaptará a la situación específica, pero lo intentaré – jeffora

+0

Buena idea ... desearía que Blend respaldara el uso de DataTriggers ... Honestamente, no entiendo por qué Blend v3 o Blend v4 no lo hacen en este momento. – cplotts

Cuestiones relacionadas