c# - significa - Enlace al recurso estático con un convertidor
seo imagenes wordpress (2)
La clave de Recurso estático no es un valor que se pueda asignar dinámicamente . El nombre de la clave debe estar en línea en Xaml.
El enfoque correcto es este:
RowStyle="{Binding Status, Converter={StaticResource MyConverter}}"
Donde el convertidor que está almacenado contra la tecla "MyConverter" devuelve un objeto Style
. Tenga en cuenta que podría agregar una propiedad del tipo ResourceDictionary
a su convertidor y colocarle los estilos en ese diccionario para que su convertidor pueda buscar.
De hecho, ya he escrito un convertidor capaz de esto aquí .
Tengo un DataGrid
y dos StaticResource
.
Quiero vincular RowStyle
de DataGrid a uno de los dos StaticResources.
RowStyle="{StaticResource {Binding Status, Converter={StaticResource MyConverter}}}"
MyConverter devuelve la clave de StaticResource.
Pero me sale este error:
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
// Another version of writing such a converter
public abstract class BaseConverter : MarkupExtension
{
protected IServiceProvider ServiceProvider { get; set; }
public override object ProvideValue(IServiceProvider serviceProvider)
{
ServiceProvider = serviceProvider;
return this;
}
}
public class StaticResourceConverter : BaseConverter, IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return new StaticResourceExtension(value).ProvideValue(ServiceProvider);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
//TODO - implement this for a two-way binding
throw new NotImplementedException();
}
}