Me preguntaba si es posible ocultar un control en una vista si la propiedad a la que está vinculado el control no existe en el modelo de vista. Por ejemplo, si tengo el siguiente:MVVM: ocultar un control cuando la propiedad vinculada no está presente
<CheckBox Content="Quote"
IsChecked="{Binding Path=IsQuoted}" />
puedo detectar en XAML que la propiedad IsQuoted no existe en el modelo de vista, y simplemente ocultar el control en esa instancia.
Básicamente estoy creando un diálogo de asistente que se mueve a través de una colección de modelos de vista, mostrando la vista asociada para cada uno. Para algunos de los modelos de vista en la colección, la propiedad "IsQuoted" estará presente, y para algunos no.
Me gustaría tener una casilla de verificación fuera de estas vistas que se muestra cuando el modelo de vista actual tiene la propiedad y se oculta cuando el modelo de vista no. Todos los modelos de vista se derivan de una clase base común, pero prefiero no saturar la base agregando una propiedad "Mostrar cita", etc.
¿Pensamientos? Y, gracias de antemano ...
Cool. He estado usando WPF durante cuatro años y nunca me di cuenta de la propiedad FallbackValue (o lo hice y simplemente no presté atención en ese momento, es difícil de decir). Esto podría ser útil. – MetalMikester
Si quiere ser más explícito, puede buscar DependencyProperty.UnsetValue http://msdn.microsoft.com/en-us/library/system.windows.dependenproperty.unsetvalue%28v=vs.110%29. aspx –