рдЬрдм рдЯреНрд░реАрд╡реНрдпреВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЛрдЬ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рддреЛ рдореИрдВрдиреЗ рдЦреЛрдЬ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рдЕрдкрдиреА
рдЪрдпрдирд┐рдд рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд┐рдпрд╛ред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдорд╛рдирдХ
WPF рдЯреНрд░реА рд╡реНрдпреВ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП
рдЪрдпрдирд┐рдд рд╕рдВрдкрддреНрддрд┐ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ
рдЯреНрд░реАрд╡реНрдпреВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд
IsSelected рдФрд░
IsExpanded рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреЗрд╢ рдХрд░рдирд╛ рдерд╛ рдФрд░ рдЗрди рдЧреБрдгреЛрдВ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд
TreeViewItem рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рдерд╛ред (
рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╡реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ )
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╡рд╛рдВрдЫрд┐рдд рд╡рд╕реНрддреБ рдкрд░
IsSelected рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╕рднреА рдкреВрд░реНрд╡рдЬреЛрдВ рдкрд░
IsExpanded ред
рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди ...
- рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд╕реНрддреБ IsSelected рдФрд░ IsExpanded рд╣реЛред рдФрд░ рдкреЗрдбрд╝ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╢реНрдп рдореЙрдбрд▓ рдмрдирд╛рдирд╛ рдиреАрд░рд╕ рд╣реИред
- рдПрдХ рдкреЗрдбрд╝ рдЦреЛрдЬ рдХреЛ рд╣рд░ рдмрд╛рд░ рдХреЛрдб рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ рдиреНрдпреВрдирддрдо рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╢рдмреНрдж рдореЗрдВ рднреНрд░рдо рд╣реЛрддрд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдереЛрдбрд╝рд╛ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд╛рдж рдРрд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛ рдЖрдИред
- рдЯреНрд░реА рдиреЛрдб рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рднрд╛рдЧ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЦреЛрдЬреЗрдВред
- рд▓реЛрдб рдХрд░рдиреЗ рдкрд░, рдЖрдкрдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рддрддреНрд╡реЛрдВ рдкрд░ рд╕рднреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдорд╛рддрд╛-рдкрд┐рддрд╛ HierarchicalDataTemplate рдФрд░ DataTemplate рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ HierarchicalDataTemplate рдХреЗ рдкрд╛рд╕ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рд╣реИред
- рдЬрдм рдЖрдЗрдЯрдо рд╕реНрд░реЛрдд рдХреЗ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬред рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рд╕рднреА рдкрд╛рдП рдЧрдП рддрддреНрд╡реЛрдВ рдХреЛ рдиреЛрдб рдХреЗ рд░рд╛рд╕реНрддреЗ рд╕реЗ рдПрдХ рд╕рд╛рде рдмрдЪрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдЬрдм рдЖрдкрдХреЛ рдкрд╛рдП рдЧрдП рддрддреНрд╡реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдкрде рдХреЗ рд╕рд╛рде рд╡рд╛рдВрдЫрд┐рдд рдиреЛрдб рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
- рдпрджрд┐ рдЖрдкрдХреЛ рдмрд╕ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ ( рджреНрд╡рд┐рджрд┐рд╢ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ), рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдЖрдЗрдЯрдо рд╕реНрд░реЛрдд рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ рдФрд░ рдлрд┐рд░ рдкрде рдХреЗ рд╕рд╛рде рд╡рд╛рдВрдЫрд┐рдд рдиреЛрдб рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдЗрд╕ рддрд░рд╣ рдореИрдВрдиреЗ рд╕рднреА рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЦреЛрдЬреЗред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╣реИред
public override void OnApplyTemplate() { base.OnApplyTemplate(); templateDescrColl = new TemplateDescriptionCollection();
рдпрд╣рд╛рдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рдирд┐рдпреЛрдЬрд┐рдд рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЦреЛрдЬ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ рд╣реИред
рдпрд╣ рдПрдХ рдУрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдЗрдВрдбрд░реЛрдВ рдХреА рдЦреЛрдЬ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
(рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рдиреЛрдб рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рдЬрдЯрд┐рд▓ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред
рджреВрд╕рд░реА рдУрд░, рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдкрде рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ FindPatches рдЧреБрдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ "TypeName1: Property1, Property2 TypeName:"
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, TypeName1 рдХреЛ Properties1 рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬрд╛ рдЬрд╛рдПрдЧрд╛, Property2, рдФрд░ TypeName2 рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рдЦреЛрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред
private void FindDataTemplatesResources(ResourceDictionary Resource) { foreach (object xxx in Resource.Values) { DataTemplate dataTemplate = xxx as DataTemplate; if (dataTemplate != null)
рдпрд╣ рд╣реИ рдХрд┐ рдЦреЛрдЬ рдкрд╛рда рд╡рд╛рд▓реЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреА рдЦреЛрдЬ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИред
рдпрд╣ рд╣реИ рдХрд┐ рдЦреЛрдЬ рдкрд╛рда рд╡рд╛рд▓реЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреА рдЦреЛрдЬ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИред
int failCount;
GetTreeViewItem рдлрд╝рдВрдХреНрд╢рди (рдирд┐рдпрдВрддреНрд░рдг, рдПрд▓ [0]); рдЖрдкрдХреЛ рдордЬрд╝рдмреВрддреА рд╕реЗ рдмрдирд╛рдП рдЧрдП рдЧрд╛рдБрда рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рд╛рдЗрдЯ рд╕реЗ рдХреЛрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред
blogs.msdn.com/b/wpfsdk/archive/2010/02/23/finding-an-object-treeviewitem.aspxрдпрд╣рд╛рдБ рдирдпрд╛ рдХреЛрдб рд╣реИ
myTreeViewWith search.zipрдЦреЛрдЬ рдПрдХ рдЕрд▓рдЧ рдереНрд░реЗрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИред
рдПрдХ рдЙрдиреНрдирдд рдЦреЛрдЬ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрди рдЧреБрдгреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХреЗ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдХрд░рдирд╛ рд╣реИ
рдФрд░ ... рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдВрдХрд░рдг рд╣реИ, рд╡рд┐рдЪрд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдкреБрдирд╢реНрдЪ рдкреЛрд╕реНрдЯ рдХреЗ рд▓реЗрдЦрдХ, рдореЗрд░реЗ рднрд╛рдИ
SergejSh - рдЗрд╕ рдкрд░ рд╕рднреА рдкреНрд░рд╢реНрди рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВред