Hola a todos primer post aquí :) Vamos a empezar con un fragmento del código que estoy usando:¿Cómo enlazar a una propiedad singleton en Silverlight 4?
public MyClass : INotifyPropertyChanged
{
private static MyClass _instance;
public static MyClass Instance
{
get
{
if (_instance == null)
_instance = new MyClass();
return _instance;
}
}
private bool _myProperty;
public bool MyProperty
{
get
{
return _myProperty;
}
set
{
if (_myProperty!= value)
{
_myProperty= value;
NotifyPropertyChanged("MyProperty");
}
}
}
private MyClass() { ... }
}
Como se puede ver, se trata de una clase Singleton. En mi opinión, quiero vincular un control en MyProperty. Mi idea inicial era importar MiClase como ressource estática en mi opinión, usando algo como:
<UserControl x:Class="Metrics.Silverlight.ChartView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:logic="clr-namespace:Metrics.Logic;assembly=Metrics.Logic">
<UserControl.Resources>
<logic:MyClass x:Key="myClass" />
</UserControl.Resources>
</UserControl>
y enlazarlo así:
<Button Margin="5" Click="btnName_Click" Visibility="{Binding Source={StaticResource myClass}, Converter={StaticResource visibilityConverter}, Path=MyAttribute, Mode=OneWay}">
Por supuesto, este enfoque no funcionará desde MiClase constructor es privado. Tampoco puedo usar x: static ya que no está disponible en Silverlight 4.
He estado atascado en este problema mucho más tiempo de lo que debería ... ¿Cómo puedo enlazar MyProperty?
¿Alguna idea?
¡Gracias de antemano!
Hola M. Copsey, me gustaría probar tu sugerencia, pero debo admitir que no entiendo muy bien cómo abordar esto. Todavía soy nuevo en la programación silverlight/xaml. Agradecería si pudieras elaborar :) – Mathieu
@Tigel: Esto es básicamente lo mismo que la opción de Elad se enumeran a continuación. Solo estaba recomendando dejar solo tu singleton, pero tener una propiedad bajo tu control (no estática) que devuelve el singleton. –
Bien problema resuelto. ¡Gracias por su ayuda caballeros! @Vladimir Dorokhov @Reed Copsey @Elad Katz – Mathieu