
рд╣реИрд▓реЛ, рдкреНрд░рд┐рдп habrozhitel!
рдЖрдЬ рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред
рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рджреЛ рд╣реА рд╣реЛрдВрдЧреЗ:
рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░, рдЬрд┐рд╕реЗ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рда" рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ;
рд╕реНрдкрд╖реНрдЯ рдмрдЯрди рдЯреИрдмрд▓реЗрдЯ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЪреАрдЬ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╕рд╛рдл рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ WPF рдФрд░ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд╡рд┐рдВрдбреЛрдЬ рд╕реНрдЯреЛрд░ рдРрдкреНрд╕ рдореЗрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдкрд╖реНрдЯ рдмрдЯрди рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХреЛ рдЙрд╕реА рддрд░рд╣ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВ
рд╡рд┐рдВрдбреЛрдЬ рд╡рд┐рдВрдбреЛрдЬ рдЯреВрд▓рдХрд┐рдЯ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрддреНрдХреГрд╖реНрдЯ рдЯрд┐рдк рдХреЗ рд▓рд┐рдП @Useless_guy рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдЖрднрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЖрдкрдХреЛ
Coding4Fun рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдЖрдкрдХреЗ UserControls рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИ!
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП XAML рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЙрдкрдХрд░рдг рд╣реИред
рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдиреМрд╕рд┐рдЦрд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд╡рд╣ рд╣реИ рдЗрд╕рдХреА рдЕрддреНрдпрдзрд┐рдХрддрд╛ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд▓рдЧрддрд╛ рд╣реИ) рдЬрдЯрд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ
рдЧреБрдЧреНрд▓рд┐рдВрдЧ рдпрд╛
рд╕реНрдЯреИрдХ-рд╡рд░реНрдорд┐рдВрдЧ рдХреЗ рдШрдВрдЯреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реЛрддреА рд╣реИред
рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреИрд╕реЗ рд╣реА рдЖрдк рд╕рдордЭрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдирд╛, рдЕрдЧреНрд░рдгреА Microsoft рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ - рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЕрдм рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рдирд╣реАрдВ рд╕реЛрдЪрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ ...
рд▓реЗрдХрд┐рди рдпрд╣ рдЧреАрдд рд╕реЗ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
rubimsya
рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╣реИ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рдпрдВрддреНрд░рдгред
1. рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред
2. "AdvancedTextBoxProject" рдирд╛рдо рд╕реЗ рдПрдХ рдирдпрд╛ рдЦрд╛рд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред
3. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╕реЛрд▓реНрдпреВрд╢рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдирд╛рдо рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ Add-> рдирдпрд╛ рдЖрдЗрдЯрдо рдЪреБрдиреЗрдВ ...
4. рдирдпрд╛ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЗрд╕реЗ "рдПрдбрд╡рд╛рдВрд╕реНрдб рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕" рдХрд╣реЗрдВ рдФрд░ "рдРрдб" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░рд╛ рдирдпрд╛ рдШрдЯрдХ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рдбрд┐рдЬрд╝рд╛рдЗрди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдХреЗ XAML рдХреЛрдб рдореЗрдВ рдЧреНрд░рд┐рдб рддрддреНрд╡ рдХреА рдЦрд╛рд▓реА рдШреЛрд╖рдгрд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдПрдХ рднреА рд▓рд╛рдЗрди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ (рдЧреНрд░рд┐рдб рдореЗрдВ) рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗ рдЬреЛ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдЕрд░реНрдерд╛рддреН, рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕, рдЬрд┐рд╕рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рда рдФрд░ рд╕реНрдкрд╖реНрдЯ рдмрдЯрди рд╣реЛрдЧрд╛ ред
<StackPanel> <Grid> <TextBox x:Name="tbMain"></TextBox> <Button x:Name="bClear" HorizontalAlignment="Right" BorderThickness="0" Content="" FontFamily="Segoe UI Symbol" Foreground="{StaticResource ApplicationPageBackgroundThemeBrush}" Visibility="Collapsed"></Button> </Grid> </StackPanel>
рдЪрд▓рд┐рдП рдХреНрд░рдо рдореЗрдВ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - StackPanel рдШрдЯрдХ рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЕрдиреНрдпрдерд╛ рд╣рдорд╛рд░рд╛ рдЧреНрд░рд┐рдб рдШрдЯрдХ рдХреЗ рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рддрдХ рдлреИрд▓ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрдВрджрд░, рд╣рдо рдПрдХ рдЧреНрд░рд┐рдб рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╕реАрдзреЗ рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рд╣рдо TextBox рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдордВрдЪ рдкрд░ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╛рдо рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдХреЗ рдХреЛрдб рд╕реЗ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХреЗрдВред
рд▓реЗрдХрд┐рди рдмрдЯрди рдШрдЯрдХ рдХреЛ рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рд╕рд░реНрдЬрд░реА рд╕реЗ рдЧреБрдЬрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рд╣рдо рдЙрд╕реЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╛рдо рднреА рджреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЙрд╕реЗ рдмрддрд╛рдПрдВрдЧреЗ:
1. рддрд╛рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдШрдЯрдХ (рдХреНрд╖реИрддрд┐рдЬ рдХреНрд╖реИрддрд┐рдЬ рд╕рдВрд░реЗрдЦрдг) рдХреЗ рджрд╛рд╣рд┐рдиреЗ рдХрд┐рдирд╛рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛред
2. рддрд╛рдХрд┐ рдпрд╣ рдШрдЯрдХ (BorderThickness) рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕реАрдорд╛ рди рд╣реЛред
3. рддрд╛рдХрд┐ рдмрдЯрди рдкрд░ рдПрдХ рд╣реА рдХреНрд░реЙрд╕ (рд╕рд╛рдордЧреНрд░реА рдФрд░ FontFamily) рддреИрдпрд╛рд░ рд╣реЛред
4. рддрд╛рдХрд┐ рдХреНрд░реЙрд╕ рд╡рд┐рдВрдбреЛрдЬ рдбрд┐рд╡рд╛рдЗрд╕ (рдлреЛрд░рдЧреНрд░рд╛рдЙрдВрдб) рдХреЗ рд╣рдорд╛рд░реЗ рдореБрдЦреНрдп рд╡рд┐рд╖рдп рдХрд╛ рд░рдВрдЧ рд╣реЛред
5. рдФрд░ рдЕрдВрдд рдореЗрдВ, рддрд╛рдХрд┐ рдХреНрд▓рд┐рдирд┐рдВрдЧ рдмрдЯрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рджреГрд╢реНрдпрддрд╛ (рджреГрд╢реНрдпрддрд╛) рджрд┐рдЦрд╛рдИ рди рджреЗред
рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐
рдЗрд╕ рдЪрд┐рддреНрд░ рдФрд░ StandardStyles.xaml рдлрд╝рд╛рдЗрд▓ (рд╡рд┐рдВрдбреЛрдЬ рд╕реНрдЯреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдПрдХ рд╢реИрд▓реА рдлрд╝рд╛рдЗрд▓) рдХреЗ рд╕рдВрдпреЛрдЬрди рд╕реЗ рдмрд┐рдВрджреБ 3 рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЦреИрд░, рд╣рдордиреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛, рдЕрдм рдХреЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╣реА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдмрдЯрди рд╣реИред
рд╣рдо рдЕрдкрдиреЗ TextBox рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдЧреБрдг рд╡рд┐рдВрдбреЛ рдореЗрдВ рдИрд╡реЗрдВрдЯ рдЪреБрдиреЗрдВ рдФрд░ GotFocus рдЗрд╡реЗрдВрдЯ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдЪреВрдБрдХрд┐ рд╣рдордиреЗ рдЕрднреА рддрдХ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рдХреЛрдб рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИ, рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ InitializeComponent () рд╡рд┐рдзрд┐ рдФрд░ GotFocus () рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЬреЛ рд╣рдордиреЗ рдЕрднреА рдмрдирд╛рдпрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдШрдЯрдХ рдореЗрдВ рдХреЛрдИ рдлрд╝реАрд▓реНрдб рдирд╣реАрдВ рд╣реИ рдЬреЛ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛:
private string placeholder=""; public string Placeholder { get { return this.placeholder; } set { this.placeholder = value; tbMain.Text = this.placeholder; } }
рдареАрдХ рд╣реИ, рдЕрдм рдЖрдк GotFocus () рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВ:
if (tbMain.Text.Trim() == this.placeholder) { tbMain.Text = ""; } bClear.Visibility = System.Windows.Visibility.Visible;
рдпрд╣рд╛рдВ рд╣рдо рдЕрдкрдиреЗ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдХреЗ рдЯреНрд░рд┐рдо рдХрд┐рдП рдЧрдП (рдЯреНрд░рд┐рдо ()) рд▓рд╛рдЗрди рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ - рдХреНрдпрд╛ рдпрд╣ рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯреЗрдХреНрд╕реНрдЯ рд╣реИ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рд╛рдлрд╝ рдХрд░реЗрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЬреЛ рднреА рд╡рд╣ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЙрд╕реЗ рджрд░реНрдЬ рдХрд░рдиреЗ рджреЗрдВред рдареАрдХ рд╣реИ, рдЙрд╕реА рд╕рдордп рд╣рдо рдЙрд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдлреАрд▓реНрдб рдЦрд╛рд▓реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрди рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдЙрд╕ рдШрдЯрдирд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рд╕реЗ рдХрд╣реАрдВ рдФрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдлрд┐рд░ рд╕реЗ рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдПрдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рд▓реЙрд╕реНрдЯрдлреЛрдХрд╕ () рдмрдирд╛рдПрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд
if (tbMain.Text.Trim() == "") { tbMain.Text = this.placeholder; } bClear.Visibility = System.Windows.Visibility.Collapsed;
рдЕрдм рд╣рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдмрдЯрди рдХреЗ рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рдирдП рдШрдЯрдХ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЪреВрдБрдХрд┐ рдмрдЯрди prying рдЖрдБрдЦреЛрдВ (рдФрд░ рд╣рдорд╛рд░реЗ рд░рд╛рд╕реНрддреЗ рд╕реЗ) рд╕реЗ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ, рд╣рдореЗрдВ XAML рдХреЛрдб рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рд╣рдорд╛рд░реЗ рдмрдЯрди рдХреА рдШреЛрд╖рдгрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдмрдЯрди рдХреА рдШрдЯрдирд╛рдПрдБ Properties рд╡рд┐рдВрдбреЛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд▓рд┐рдЦреЗрдВ:
tbMain.Text = string.Empty; tbMain.Focus();
рдмрдЯрди рдХреНрд▓рд┐рдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдХреЛ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдХрд╛ рд▓реЙрд╕реНрдЯрдлреЛрдХрд╕ рдЗрд╡реЗрдВрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдлрд╝реЛрдХрд╕ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдкрд░реАрдХреНрд╖рдг
рдареАрдХ рд╣реИ, рдЕрдм рдЗрд╕ рддрд░рд╣ рдХреА рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдХрдард┐рдирд╛рдИ рдХреЗ рд╕рд╛рде рд╣рдордиреЗ рдЬреЛ рдХреБрдЫ рднреА рд▓рд┐рдЦрд╛ рд╣реИ, рдЙрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рд╣рдо рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреЗ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ XAML рдкреГрд╖реНрда рдШреЛрд╖рдгрд╛ рдореЗрдВ рдПрдХ рдФрд░ рдирд╛рдо рд╕реНрдерд╛рди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
xmlns:local="using:AdvancedTextBoxProject"
рдПрдХ рдмрд╛рд░ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЕрдВрддрддрдГ рдЕрдкрдиреЗ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЛ рдлреЙрд░реНрдо рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
<local:AdvancedTextBox Placeholder="Enter Some Text"></local:AdvancedTextBox>
рд╣рдорд╛рд░рд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рда рддреБрд░рдВрдд рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдлрд╝реЙрд░реНрдо рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдФрд░ рд╣рдо рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╡реИрд╕реЗ, рд╣рдорд╛рд░реЗ UserControl рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╕реНрдЯреЗрдб рдШрдЯрдХреЛрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЧреЗрдЯреНрдЯрд░ рдФрд░ рд╕реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
public string Text { get { return tbMain.Text; } set { tbMain.Text = value; } }
рд╕рднреА рдХреЛ рд╢реБрднрдХрд╛рдордирд╛рдПрдБ рдФрд░ рдЬрд▓реНрдж рд╣реА рдорд┐рд▓рддреЗ рд╣реИрдВ!