рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдпреВрдЖрдИ рд░рд╛рдЬреНрдп рдкреНрд░рдмрдВрдзрди

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд╣рдорд╛рд░реА рдЯреАрдо (рд╕реНрд▓реАрдо рд▓реИрдВрдм) рдиреЗ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдХреЗ рддрд╣рдд рдкреНрд░рдлрд┐рдЪреЛрд╡ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдЬрд╛рд░реА рдХрд┐рдпрд╛ред рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдПрдХ рдкреНрд░рд╢реНрди рдерд╛ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ, рдЬреЛ рдХрдИ рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдорд┐рд╢реНрд░рдг рдФрд░ MVVM рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреА рдкреНрд░рджрд░реНрд╢рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди рддрдВрддреНрд░ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред MVVM рд▓рд╛рдЗрдЯ рдЯреВрд▓рдХрд┐рдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рдорддрднреЗрдж рдиреНрдпреВрдирддрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рдХрд┐рд╕ рд▓рд┐рдП рд╣реИ?


рддреЛ, рдкреИрдиреЛрд░рдорд╛ рдореЗрдВ рд░рд┐рдХреНрддрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рдЗрд╕реЗ рд▓реЛрдб, рдЦрд╛рд▓реА рдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рджреЛ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдПрдХ рджреГрд╢реНрдп рдПрдХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╣ рд╕рдВрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рд╣реИред рдХреБрд▓ рджреЛ рд░рд╛рдЬреНрдп: рд╕реВрдЪреА рджрд┐рдЦрд╛рдПрдВ, рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдПрдВред

рд▓реЗрдХрд┐рди рд╕рдВрджреЗрд╢ рдХреИрд╕реЗ рджрд┐рдЦрд╛рдПрдВ? рдорд╛рдирдХ рдореИрд╕реЗрдЬрдмреЙрдХреНрд╕ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдбрд░рд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдлрд┐рд░, рдорд╛рдирдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдордиреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рддрддреНрд╡реЛрдВ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рд╣рдордиреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рднреА рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рдерд╛ред


рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ?


рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреА рд╣реИ, рд╡рд╣ рд░рд╛рдЬреНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рднреА рддрддреНрд╡реЛрдВ рдХреА рд╡рд┐рдЬрд┐рдмрд┐рд▓рд┐рдЯреА рдЧреБрдгреЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмреЛрдЭрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд░рд╛рдЬреНрдп рд╕реЗ рджреВрд╕рд░реЗ рд░рд╛рдЬреНрдп рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рддрддреНрд╡реЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрд╡рдпрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдмреНрд▓реЗрдВрдб рдиреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЗрдЯ (рд░рд╛рдЬреНрдп) рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдбреЗрдЯрд╛рд╕реНрдЯреЗрдмрд╣реЗрд╡рд┐рдпрд░ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рднреА рд╣реИред

рд░рд╛рдЬреНрдп - рдпрд╣ рдЖрдзрд╛рд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рддрддреНрд╡ рдХреА рджреГрд╢реНрдп рд╕реНрдерд┐рддрд┐ рд╣реИ, рдЬреЛ рддрддреНрд╡ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рдФрд░ рдЙрд╕рдХреЗ рдмрдЪреНрдЪреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд░рдВрдЧ, рд╕реНрдерд╛рди, рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛, рдЖрджрд┐ред


DataStateBehavior рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдЬреЛ рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рджреЛ рд░рд╛рдЬреНрдп рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдмрд╛рдЙрдВрдб рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ TrueState рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ FalStState ред


рдХреИрд╕реЗ рдХрд░реЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓?


рдореИрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╕рдордп рдХреЗ рд╕рд╛рде рджреЛ рд░рд╛рдЬреНрдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

MvvmLight рдЯреЗрдореНрдкрд▓реЗрдЯ (WP71) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЦрд╛рд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред
рдЯреЗрдореНрдкрд▓реЗрдЯ MVVM рд▓рд╛рдЗрдЯ рдЯреВрд▓рдХрд┐рдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

MainPage рдкреГрд╖реНрда рдХреЗ ViewModel рдореЗрдВ рддреБрд░рдВрдд рддрд░реНрдХ рдмрдирд╛рдПрдВред рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ "рдУрдХреЗ" рдкрд╛рда рд╕реЗ рд╣рд░ рдкрд╛рдВрдЪ рд╕реЗрдХрдВрдб рдХреЛ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рдореЗрдВ рдмрджрд▓ рджреЗрдЧреАред

MainViewModel.cs рдЦреЛрд▓реЗрдВ рдФрд░ рд╡рд╣рд╛рдВ MessageText рдЧреБрдг рдмрдирд╛рдПрдБ:
public const string MessageTextPropertyName = "MessageText"; private string _messageText = "ok"; public string MessageText { get { return _messageText; } set { if (_messageText == value) return; _messageText = value; RaisePropertyChanged(MessageTextPropertyName); } } 

рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╣рд░ рдкрд╛рдВрдЪ рд╕реЗрдХрдВрдб рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдХреЛ MainViewModel рд╡рд░реНрдЧ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
 //  var dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); //      dispatcherTimer.Tick += ((a,b) => { MessageText = MessageText == "ok" ? "hello world" : "ok"; }); //    dispatcherTimer.Interval = new TimeSpan(0, 0, 5); //  dispatcherTimer.Start(); 

рдкреЗрдЬ рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдмреНрд▓реЗрдВрдб рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓реЗрдВред

MainPage рдореЗрдВ рдПрдХ рдмрдЯрди рдФрд░ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝реЗрдВред рдЬрдм рдореИрд╕реЗрдЬ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА тАЬрдУрдХреЗтАЭ рд╣реЛрдЧреА, рддреЛ рдмрдЯрди рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛; рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рдо рдореИрд╕реЗрдЬ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдХрдВрдЯреЗрдВрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлреАрд▓реНрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдмрдЯрди рдкреГрд╖реНрда рд╕рд╛рдордЧреНрд░реА рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдПрдХ рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐ рдпрд╛ рд╕рдВрджреЗрд╢ рдирд┐рднрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдпрд╛ рдпрд╣ рдЦрд╛рд▓реА рд╣реИред
рдлреЙрд░реНрдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ред


рд╣рдорд╛рд░реА MessageText рд╕рдВрдкрддреНрддрд┐ рдХреЛ TextBlock рддрддреНрд╡ рдХреЗ рдкрд╛рда рдорд╛рди рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╡рд░реНрдЧ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдФрд░ рдбреЗрдЯрд╛рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдмрд╛рдВрдзреЗрдВ ред рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ, рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ "рдУрдХреЗ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред


рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдкреИрдирд▓ рдореЗрдВ рд╕реНрдЯреЗрдЯреНрд╕ рдЯреИрдм рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдЬреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рдЗрд╕рдореЗрдВ Add State group рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЖрдзрд╛рд░ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ - рдпрд╣ рд╡рд╣ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╣рд░ рдХреЛрдИ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛ред


рдкрд╛рда рдлрд╝реАрд▓реНрдб рдХреА рджреГрд╢реНрдпрддрд╛ рдЧреБрдг рдХреЛ Collapsed рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡рд╣ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПред

VisualStateGroup рд░рд╛рдЬреНрдп рд╕рдореВрд╣ рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рдЬреЛрдбрд╝реЗрдВ рд░рд╛рдЬреНрдп рдмрдЯрди рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдордХ рд░рд╛рдЬреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдлрд┐рд░ рд╕рдВрджреЗрд╢ рдХрд╛ рдирд╛рдо рджреЗрдВред


рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмреЗрд╕ рдХреЗ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ Message State рд▓рд┐рдЦ рджреЗрдВред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрд╕рдХреЗ рдмрд╛рдж, рдмрдЯрди рдХреА Visiblity рдЧреБрдг рдХреЛ Collapsed , рдФрд░ рдкрд╛рда рдмреНрд▓реЙрдХ рдХреЛ Visiblity рдореЗрдВ рдмрджрд▓реЗрдВ ред рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд╛рд▓ рдмрдЯрди рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

рд░рд╛рдЬреНрдп рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдпрд╣ рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рд╕реНрд╡рд┐рдЪ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реНрдпрд╡рд╣рд╛рд░ рд╢реНрд░реЗрдгреА рдореЗрдВ Assets рдЯреИрдм рд╕реЗ DataStateBehavior рдкреЗрдЬ рдЬреЛрдбрд╝реЗрдВред

рд╣рдо рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдореИрд╕реЗрдЬ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реЗ рдмрд╛рдВрдзрддреЗ рд╣реИрдВ, рд╡реИрд▓реНрдпреВ рд╡реИрд▓реНрдпреВ рдХреЛ "рдУрдХреЗ" рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╣рдордиреЗ TrueState рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп , рдФрд░ FalseState рдХреЛ рд╕рдВрджреЗрд╢ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ ред рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдореИрд╕реЗрдЬрдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреЗрдЬ рдХреА рд╕реНрдерд┐рддрд┐ рдХреИрд╕реЗ рдмрджрд▓рддреА рд╣реИред


рдЖрдк VisualStateGroup рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрдХреНрд░рдордг рдЧреБрдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд╛рдЬреНрдпреЛрдВ рдпрд╛ рд╕рд░рд▓ рд╕рдВрдХреНрд░рдордгреЛрдВ рдХреЗ рдмреАрдЪ рдПрдирд┐рдореЗрд╢рди рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди GoToStateAction рдХреА рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ , рдЬреЛ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдПрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рд╕рдм рд╣реИ, рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ, рдореБрдЭреЗ рдЖрдкрдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рд╕реНрд░реЛрдд рдХреЛрдб: рдбрд╛рдЙрдирд▓реЛрдб / рджреЗрдЦреЗрдВ

Source: https://habr.com/ru/post/In144836/


All Articles