Аз съм нов в Windows 7
Искам да помоля за вашата помощ в някакъв код за:
Im разработване и приложение, което има няколко страници. Сега искам да го сложим на една страница, използвайки потребителски контрол. Например основната ми страница ще има фирмено лого в решетка и втора решетка, която е празна. Втората решетка трябва да покаже UserControl, в който ще помоля потребителя да влезе, след като вляза, искам да покажа друг UserControl за някакъв списък и всичко. Проблемът е, че не мога да покажа как мога да покажа и да променя потребителския контрол в Page? Точно като частична страница в asp.net MVC.
Има ли някаква функция, която се изпълнява всекиконтрол на времето на потребителя се променя, като asp.net MVC има "OnActionExecuting". Можем ли да създадем UserControl като BaseUserControl и да наследим всеки UserControl от него ... възможно ли е ????
Съжалявам, че съм много нов за този прозорец на телефона.
Отговори:
1 за отговор № 1Ще се опитам да ви дам някои съвети и кодоведа управлявате проблемите си. Първо. Възможно е да направите всичко, което искате;). Ако искате да използвате само една страница (възможно е не най-добрата практика), можете да промените Ui от код. Ако имате вашата страница, с MainGrid и две решетки, вътре в MainGrid. Можете да осъществите достъп до всяка решетка с свойството x: име, което сте задали в xaml. Пример:
<Grid x:name="MainGrid">
<Grid x:Name="LogoGrid"/>
<Grid x:Name="ContentGrid"/>
</Grid>
Тук можете да добавите UserControl както следва:
var control = new CustomUserControl();
ContentGrid.Children.Clear(); //maybe delete old Children
ContentGrid.Children.Add(control);
Работата с събитията също е лесна. Просто го инсталирайте във вашия UserControl, като LoginButton и заменете стария UserControl с новия след ButtonClick.
1 за отговор № 2
Можете просто да промените потребителския контрол, като добавите потребителския контрол като a child
към контейнера Grid
.
MyUserControl myusercontrol = new MyUserControl();
mygrid.Children.Add(myusercontrol);
или да премахнете,
mygrid.Children.RemoveAt(0); //if you have just one child control.