| 

.NET C# Java Javascript Exception

1
Hallo,
ich spiele mal wieder mit WPF und komme an einem Punkt nicht mehr weiter.
folgendes Beispiel:
class A
{
public string Name { set; get; }
public string Description{ set; get; }
public B Size { set; get; }
}
class B
{
public int Width{ set; get; }
public int Height { set; get; }
}


der DataContex ist eine Instanz der Klasse A.
bei einer Textbox würde ich aber gerne ein Binding auf A.Size.Width setzen.
wie realisiere ich das? oder wird sowas nicht empfohlen?
INotifyPropertyChanged habe ich implementiert aber hier nicht aufgeführt.
Das Binding mit Name oder Description funktioniert problemlos.

Grüße
David
News:
15.04.2011
david 363 5
2 Antworten
1
So sollte das gehen (getestet):

public partial class MainWindow : Window
{
public A a { get; set; }
public MainWindow()
{
InitializeComponent();
a = new A { Size = new B { Height = 100, Width = 200 } };
DataContext = this;
}
}

xaml
<TextBox Width="{Binding a.Size.Width}" Height="{Binding a.Size.Height}" />
15.04.2011
Mario Priebe 5,8k 2 9
0
vielen Dank. ich hatte es auch zu Anfang so ausprobiert, allerdings habe ich mich da verschrieben gehabt.

aber noch etwas zu meinem Verständnis.
Wenn die Property a zu am Anfang NULL ist, und erst im laufe der Zeit eine Instanz zugewiesen bekommt. Wie muss sowas realisiert werden?
15.04.2011
david 363 5
wenn du das INotifyPropertyChanged Interface implementierst, bindet der sobald A einen Wert bekommen hat. Hier legt man im Binding noch den UpdateSourceTrigger auf PropertyChanged fest.

Height="{Binding a.Size.Height, UpdateSourceTrigger=PropertyChanged}"
Mario Priebe 15.04.2011

Stelle deine .net-Frage jetzt!