c# - MVVM Distribute Objects -
maybe small step solution can't far.
i did wpf tutorials datacontext , binding, can't how share context and/or binding between (e.g.) 2 pages.
for example when @ one: https://msdn.microsoft.com/en-us/library/ms754356%28v=vs.110%29.aspx
<label>enter name:</label> <textbox>     <textbox.text>         <binding source="{staticresource mydatasource}" path="name" updatesourcetrigger="propertychanged"/>     </textbox.text> </textbox>  <label>the name entered:</label> <textblock text="{binding source={staticresource mydatasource}, path=name}"/>   this result:

it's easy example , there no problem running , understanding this, want is:
- fill 
textbox,labelcode behind. tried nametextboxtb , calltb.text = "some text"- works. tried assigndatacontextbothtextbox,label, create object , fill datacontext object - worked. - placing 
labelon page. 
problem 2 1 hard me, in combination problem 1. example: when create object in page 1 constructor , assign datacontext (ofcourse) textbox on page 1 contain value.
i don't know how share 1 object declared in page 1 page 2 set datacontext.
maybe didn't find perfect tutorial or explanation me understand how datacontext , binding works , how can share objects between pages , windows.
can guys me out?
if need more informations, feel free ask ;)
public class myshareddatacontext : inotifypropertychanged {     private string _name;      public string name     {         { return _name; }         set         {             if (value == _name) return;             _name = value;             onpropertychanged();         }     } }   in app.xaml create shared resource:
<application x:class="wpfapplication1.app"              xmlns:my="clr-namespace:wpfapplication1">     <application.resources>          <my:myshareddatacontext x:key="myshareddatacontext" />   now can use shared resource in both pages:
<textbox text="{binding name, source={staticresource myshareddatacontext}" />   if want sent name value, better don't access textbox directly, set in myshareddatacontext class:
var datacontext = (myshareddatacontext)findresource("myshareddatacontext"); datacontext.name = "john smith";      
Comments
Post a Comment