ПредишенСледващото

В света на Windows, потребителят може да работи по всяко време само с една контрола. Елемент, който в момента получава от потребителя клавиши има входен фокус. Понякога елемент изглежда малко по-различно. Например, бутон WPF като фокус, синкаво.

Така че контролът може да получава внимание, тя Focusable трябва да се настрои да е вярно. По подразбиране това е така за всички контроли. Интересното е, че Focusable имота се определя като част от UIElement класа: това означава, че другите елементи, които не са контроли, също могат да получават фокус. Обикновено в класове, които не са контроли, Focusable подразбиране собственост върху лъжа. Но вие можете да го дам на истина. Опитайте се да го направя по примера на оформлението на контейнера като StackPanel: когато получи фокус, се появява панел около пунктираната рамката.

За да преместите фокуса от един елемент към друг, потребителят може да натиснете бутона на мишката, или да използвате бутона и управляващите клавиши на курсора. В предишните среди за разработка, програмистите са направили много усилия, така че ключът важната задача преминал (обикновено ляво на дясно и след това горе до долу в прозореца), както и че, когато се появява първия екран, фокусът е бил предаден на необходимия контрол. В WPF, тази допълнителна работа се изисква много рядко, защото тук за изпълнението на фунията е йерархична подредба на елементи.

В действителност, когато се натисне бутон преход настъпва на първия подчинен елемент или през настоящия, ако текущият елемент не е (още) потомство към следващия елемент на същото ниво. Например, серия от преси клавиша TAB в прозореца, където има две StackPanel контейнер през всички проверки в първия StackPanel контейнера, след това всички контроли в секунда.

Ако искате да управлявате фунията реализация, можете да настроите TabIndex собственост на всеки контролен ги изброи в правилния ред. Елемент с TabIndex имота стойност нула получава фокусира първо, а след това - на елементи с голяма стойност на този комплекс (например, 1, 2, 3 и т.н.). Ако няколко елемента имат същите стойности предаване TabIndex WPF извършва автоматично фокусиране, когато фокусът получава следващия елемент в поредицата.

По подразбиране TabIndex имот за всички контроли има значение Int32.MaxValue. Това означава, че е възможно да се отдели известен елемент като отправна точка в прозореца, като зададете TabIndex стойността на имота 0. За другите елементи в прозореца остава автоматична навигация, и потребителят ще ги преместите от дадена начална точка, за да определи тези елементи.

TabIndex имот е дефинирано в класа контрол на същото място и IsTabStop. IsTabStop имот може да се настрои на фалшиви, за да се предотврати контрол последователност на преходите. Разликата между IsTabStop и Focusable се състои в това, че управляващият елемент с имот IsTabStop на, равна на невярна, фокусът може да получи по друг начин - или софтуер (когато методът на Focus () се нарича в кода), или като кликнете върху бутона на мишката.

Контролите, които са невидими или блокиран (защрихованата) обикновено не са включени в последователността на преходи и не активират, независимо от TabIndex стойности собственост, IsTabStop и Focusable. За да скриете или заключите елементите за управление на имотите и използва Видимостта IsEnabled, съответно.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!