Lo que se debe utilizar para IValueConverter?
-
29-09-2019 - |
Pregunta
¿Cuáles son los usos recomendados de IValueConverter? He usado para cosas como la conversión de una propiedad booleana a una propiedad Visibilidad pero me pregunto hasta qué punto se debe tomar? ¿Se supone que sólo se puede utilizar para cambiar las representaciones de tipos comunes a tipos específicos de interfaz de usuario (bool a la visibilidad, por ejemplo).
por ejemplo, si tengo una propiedad en mi clase, de empleado, como:.
public class EmployeeViewModel : INotifyPropertyChanged
{
public int? EmployeeID
{
get
{
return employeeID;
}
set
{
employeeID = value;
RaisePropertyChanged("EmployeeID");
}
}
}
y quiero detalles de visualización para este empleado, por ejemplo, Nombre, ubicación, pero para obtener estos que iba a necesitar para golpear la base de datos, esto sería erróneo poner esto en un convertidor de valores? ¿Sería mejor práctica para almacenar los valores en el modelo de vista y se unen a ellos?
Solución
Probablemente sería mejor práctica para poner los valores en su modelo de vista y hacer fijaciones directas. Mientras que usted podría hacerlo en el ValueConverter, tiene un alcance muy limitado en el convertidor y que puede limitar sus capacidades.
Mi regla general para mí es tratar de mantener todos mis ValueConverters como conversiones sencillas entre dos tipos, es decir, Bool a la visibilidad o un color a un cepillo. De esa manera, no estoy incluyendo mucha lógica en los ValueConverters y mantiene todo lo más sencillo de mantener.