2013-10-26 4 views
0

Несомненно, я не первый, кто задал что-то подобное. Дело в том, что большинство из них, ответы будут ссылаться на MVVM, когда дело доходит до wpf, и на самом деле не объясняют, как это делается или дают пример, как минимум. Все остальное относится к конкретным ситуациям этих народов.Передача значения текстового поля из родительского окна на страницу wpf

Представьте, что у меня есть текстовое поле в главном окне, и у меня также есть один на странице. Мне нужен текст в текстовом поле в главном окне, которое будет передано в текстовое поле в дочернем окне. Как это делается?

Метод, используемый в winforms, работает только с окном в окно. Он генерирует исключение, но каждый раз, когда вы вводите значение в объявлении страницы и запускаете его.

Страница открывается с помощью ссылки, если его любого использования, я использую современную тему пользовательского интерфейса для МОФ: http://mui.codeplex.com

Главного окна XAML

<mui:ModernWindow x:Class="Masca.MainWindow" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:mui="http://firstfloorsoftware.com/ModernUI" 
Title="Masca Database Admin" Height="800" Width="1280" IsTitleVisible="True" 
LogoData="F1 M 24.9015,43.0378L 25.0963,43.4298C 26.1685,49.5853 31.5377,54.2651 38,54.2651C 44.4623,54.2651 49.8315,49.5854 50.9037,43.4299L 51.0985,43.0379C 51.0985,40.7643 52.6921,39.2955 54.9656,39.2955C 56.9428,39.2955 58.1863,41.1792 58.5833,43.0379C 57.6384,52.7654 47.9756,61.75 38,61.75C 28.0244,61.75 18.3616,52.7654 17.4167,43.0378C 17.8137,41.1792 19.0572,39.2954 21.0344,39.2954C 23.3079,39.2954 24.9015,40.7643 24.9015,43.0378 Z M 26.7727,20.5833C 29.8731,20.5833 32.3864,23.0966 32.3864,26.197C 32.3864,29.2973 29.8731,31.8106 26.7727,31.8106C 23.6724,31.8106 21.1591,29.2973 21.1591,26.197C 21.1591,23.0966 23.6724,20.5833 26.7727,20.5833 Z M 49.2273,20.5833C 52.3276,20.5833 54.8409,23.0966 54.8409,26.197C 54.8409,29.2973 52.3276,31.8106 49.2273,31.8106C 46.127,31.8106 43.6136,29.2973 43.6136,26.197C 43.6136,23.0966 46.127,20.5833 49.2273,20.5833 Z"   
ContentSource="/Pages/Home.xaml"> 

дочернего окно xaml

<UserControl x:Class="Masca.Mail.Configuration" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mui="http://firstfloorsoftware.com/ModernUI" 
    mc:Ignorable="d" 
    d:DesignHeight="800" d:DesignWidth="1280"> 

<TextBox x:Name="alias" Margin="186,64,0,0" Height="18" VerticalAlignment="Top" HorizontalAlignment="Left" Width="211" FontSize="11" ></TextBox> 

Я делаю это так, что программа будет знать, какой пользователь входа в анг может войти кто делает то, что изменения в базе данных.

+0

Почему вы не можете использовать привязку данных между двумя Textboxes? – azmuhak

+0

Im пытается это. Без сомнения, это хорошо работает на одной странице ... но я не знаю, как это сделать на разных страницах. Я слышал предложение использовать класс singlemode viewmodel, но нет никакого объяснения, которое я могу найти о том, как это сделать – Tim

ответ

0

Как я сделаю это, чтобы установить свойство второй страницы на первую страницу. DataContext. Затем я могу получить доступ к свойствам первой страницы на второй странице с помощью привязки. Для этого лучше использовать MVVM в вашем приложении, а затем определить свойство в ViewModel страницы 1, а затем определить DataContext на стр. 2. Теперь вы можете получить доступ к этому свойству на стр. 2.

Смежные вопросы