Databinding több osztályhoz WPF-ben

Databinding több osztályhoz WPF-ben
2013-01-26T13:58:38+01:00
2013-01-28T08:01:18+01:00
2022-11-28T02:45:37+01:00
Aldebaran
Az alkalmazásomban induláskor több osztályt hozok létre, amelyeknek több Property-jére akarok databinding-et kötni.

Az egyik osztályomban egyszerű a dolog.
A létrehozott objektumot állítom be DataContext-nek:

this.myContainer = new Container(canvasHeight, canvasWidth); this.DataContext = myContainer;

És az XAML-ben egyszerűen csak hivatkozom a Property-kre:


<CheckBox Name="ChbShowBackground" Content="Háttér" IsChecked="{Binding ShowBackground}" ...

A kérdés: hogyan csináljak DataBinding-ot egy másik osztályommal, amit az előzővel egy időben inicializálok?

Ezt az osztályt hozzá adom az XAML-hez erőforrásként:

xmlns:local="clr-namespace:MozgasTerKep" ... <DockPanel.Resources> <local:Relation x:Key="MyRelation"/> </DockPanel.Resources>

És így próbálom a kötést létrehozni:

<StackPanel Orientation="Vertical" Background="GhostWhite" DataContext="{StaticResource MyRelation}" > <Slider Name="SlideMutual" Value="{Binding MutualSliderValue}" ...

A gond az, hogy a program egy új Relation osztályt hoz létre, és annak köti a MutualSliderValue property-re a csúszkám értékét, nem pedig arra a példányra, amelyikre én szeretném.

Hogyan tudom megmondani neki, hogy a Relation osztályom adott példányához kösse az adatot?
Mutasd a teljes hozzászólást!

elég sokat fejlődtél a legelső kérdésed óta, gratulálok.

Az első esetben kódból adod meg a datacontext-et.
this.datacontext= ....

a második esetben miért nem?
stackpanelname.datacontext = ....
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd