Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2014, 15:45   #1
SPKe
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 10
По умолчанию Доступ к элементам usercontrol'a из другого окна wpf

Здравствуйте.
Есть главное окно программы MainWindow.xaml
Код:
<mui:ModernWindow x:Class="AccessUserControl.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="mui" IsTitleVisible="True"          
        ContentSource="/Pages/Page1.xaml" Width="600" Height="400">

    <mui:ModernWindow.MenuLinkGroups>
        <mui:LinkGroup DisplayName="Первая вкладка">
            <mui:LinkGroup.Links>
                <mui:Link Source="/Pages/Page1.xaml" />
            </mui:LinkGroup.Links>
        </mui:LinkGroup>
        <mui:LinkGroup DisplayName="Вторая вкладка" GroupName="settings">
            <mui:LinkGroup.Links>
                <mui:Link Source="/Pages/Page2.xaml" />
            </mui:LinkGroup.Links>
        </mui:LinkGroup>
    </mui:ModernWindow.MenuLinkGroups>
</mui:ModernWindow>
В нем отображается usercontrol Page1.xaml
Код:
<UserControl x:Class="AccessUserControl.Pages.Page1"
             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="300" d:DesignWidth="300">
    <Grid Style="{StaticResource ContentRoot}">
            <Grid>
            <Button x:Name="OpenChildrenWindow" Content="Открыть дочерние окно" HorizontalAlignment="Left" Margin="62,183,0,0" VerticalAlignment="Top" Width="151" Click="OpenChildrenWindow_Click"/>
            <TextBox x:Name="txtbox1" HorizontalAlignment="Left" Height="23" Margin="77,27,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
            <TextBox x:Name="txtbox2" HorizontalAlignment="Left" Height="23" Margin="77,82,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
        </Grid>
    </Grid>
</UserControl>
Из этой страницы открывается новое окно ChildrenWindow.xaml
Код:
<controls:MetroWindow x:Name="ChildrenWindow1" x:Class="AccessUserControl.ChildrenWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
    Title="MainWindow" 
    Height="350" 
    Width="525">
    <Grid>
        <TextBox x:Name="ChildTxtBox1" HorizontalAlignment="Left" Height="23" Margin="209,63,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
        <TextBox x:Name="childTxtBox2" HorizontalAlignment="Left" Height="23" Margin="209,118,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" SpellCheck.IsEnabled="True"/>
        <Button x:Name="AcceptChanges" Content="Применить изменения" HorizontalAlignment="Left" Margin="194,178,0,0" VerticalAlignment="Top" Width="146" RenderTransformOrigin="0.12,0.693" Click="AcceptChanges_Click"/>

    </Grid>
</controls:MetroWindow>
Как из ChildrenWindow.xaml получить доступ к элементам (textbox'ам к примеру) Page1.xaml?
SPKe вне форума Ответить с цитированием
Старый 04.07.2014, 18:38   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

1) MVVM, ибо прямой доступ к контролам - не комильфо
2) Если уж так чешется, и писать хорошо не хочется, то передавать в ChildWindow ссылку на экземпляр Page1
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к элементам MozillaWindowClass Gangsta15 Общие вопросы Delphi 3 08.11.2015 13:51
Доступ к элементам диалогового окна MFC из другого класса applegrub Visual C++ 0 22.04.2012 20:04
Доступ к TextBox в WPF из другого класса CoderWPF WPF, UWP, WinRT, XAML 2 15.03.2012 11:07
доступ к элементам вложенных структур tormozina Общие вопросы C/C++ 2 17.03.2011 21:39
Наследование доступ к элементам. Lazio Общие вопросы C/C++ 1 20.04.2010 22:52