Обращение из одного xaml к элементу другого xaml — c# wpf xaml

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...

Вопрос:


Есть много view, которые похожи друг на друга, но есть и отличия.Но общий вид схож. Я написал образец view как база. У него есть элемент ContentControl = «AreaUser_1», в который хотелось бы вставлять свой вид. Есть способ обратиться к этому элементу из другого Xaml?
Пример:
База(образец)

    <UserControl x:Class="PCCD.View.TemlateSingleSettingsView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:ignore="http://www.galasoft.ch/ignore"
        mc:Ignorable="d ignore"
        xmlns:localVM="clr-namespace:PCCD.ViewModel"
        xmlns:localV="clr-namespace:PCCD.View"
        >

    <UserControl.Resources>
        <ResourceDictionary>
            <DataTemplate DataType="{x:Type localVM:LinkTable_RTUViewModel}">
                <localV:LinkTable_RTUView />
            </DataTemplate>
            <DataTemplate DataType="{x:Type localVM:LinkTable_COMViewModel}">
                <localV:LinkTable_COMView />
            </DataTemplate>
        </ResourceDictionary>
    </UserControl.Resources>

    <Grid x:Name="GridTest" x:FieldModifier="public" 
          >
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <TextBlock Grid.Column="0" Grid.Row="0"
                   Text="{Binding Name}" 
                   Margin="2"
                   />        
        <ContentControl x:Name="AreaUser_1"
                        Grid.Column="1" Grid.Row="0"
                        Content="{Binding AreaUser1}"
                        />
        <ContentControl Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2"
                        Content="{Binding LinkSettingsVM}"
                        />
    </Grid>
</UserControl>

Вот xaml, которому нужно обратиться к AreaUser_1

    <UserControl x:Class="PCCD.View.DeviceSettingsView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:ignore="http://www.galasoft.ch/ignore"
        mc:Ignorable="d ignore"
        xmlns:localVM="clr-namespace:PCCD.ViewModel"
        xmlns:localV="clr-namespace:PCCD.View"
        >

    <UserControl.Resources>
        <DataTemplate DataType="{x:Type localVM:TemlateSingleSettingsViewModel}">
            <localV:TemlateSingleSettingsView />
        </DataTemplate>

        <localV:TemlateSingleSettingsView x:Key="Templ">

        </localV:TemlateSingleSettingsView>

        <Grid x:Key="Area1" x:Name="AreaUser1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <Button x:Name="DeviceAdd"
            Grid.Column="0"
            Margin="2"
            Width="16"
            Content="+"
            Command="{Binding Path=AddDevice}"
            />
            <Button x:Name="DeviceRemove"
            Grid.Column="1"
            Margin="{Binding ElementName=DeviceAdd, Path=Margin}"
            Height="{Binding ElementName=DeviceAdd, Path=Height}"
            Width="{Binding ElementName=DeviceAdd, Path=Width}"
            Content="-"
            Command="{Binding Path=RemoveDevice}"
            />
        </Grid>
    </UserControl.Resources>

    <Grid>
        <ContentControl x:Name="ContT" Content="{StaticResource Templ}">
        </ContentControl>
    </Grid>

</UserControl>

Автор вопроса: Константин Мефодьев

Источник

Вам также может быть интересно:

Drag and Drop UWP — c# xaml mvvm
Вопрос: Нужно иметь возможность добавлять изображения в приложение путем перетаскивания из файловой системы У Grid включил AllowDrop. Но как добавить перетаскиваемые изображения в коллекцию? Т.к. те ...
Растягивание Высоты , Резина — html css html5
Вопрос: Здравствуйте! Реализовал резиновый дизайн. Растягивается ширина, но длина по % не растягивается. Возможно ли это реализовать? Или так и задумано, растягивание только на ширину ...
Jquery position().left Как быть на мобильниках? — javascript jquery css
Вопрос: На мобильных устройствах, если зумишь экран, position всегда разный. $('g').position().left Как сделать так, чтобы он не менял свои значения? Автор вопроса: ...
Jquery position().left Как быть на мобильниках? — javascript jquery css
Вопрос: На мобильных устройствах, если зумишь экран, position всегда разный. $('g').position().left Как сделать так, чтобы он не менял свои значения? Автор вопроса: ...
requestAnimation и очередность отрисовки — javascript canvas
Вопрос: Здравствуйте! Реализовал 2D игру и в Edge работает все плавно и круто, но в Firefox'e подвисает, сказали, что нужно сделать, чтобы раз-два момент и все ...
Контекстное/всплывающее меню в Android — java android popup
Вопрос: Есть ли техническая возможность сделать приложение, добавляющее свое контекстное или всплывающее меню в любом месте системы? Хочу, чтобы при выделении любого текста появлялась дополнительная кнопка ...
Контекстное/всплывающее меню в Android — java android popup
Вопрос: Есть ли техническая возможность сделать приложение, добавляющее свое контекстное или всплывающее меню в любом месте системы? Хочу, чтобы при выделении любого текста появлялась дополнительная кнопка ...
Завершить службы циклом — c# windows-service
Вопрос: Можно ли остановить службы циклом? У меня есть список служб, занёс их в List List<string> name = new List<string> { "AdobeARMservice", "RemoteRegistry", "TermService", "Messenger", "SSDPSRV", ...
Завершить службы циклом — c# windows-service
Вопрос: Можно ли остановить службы циклом? У меня есть список служб, занёс их в List List<string> name = new List<string> { "AdobeARMservice", "RemoteRegistry", "TermService", "Messenger", "SSDPSRV", ...
RecyclerView — разная разметка — android recyclerview
Вопрос: Смотрел, я смотрел в сторону RecyclerView и наконец решил кинуть ListView и на тебе! В "плохом прошлом" мой ListView использовался для двух разметок. Сейчас я ...
RecyclerView — разная разметка — android recyclerview
Вопрос: Смотрел, я смотрел в сторону RecyclerView и наконец решил кинуть ListView и на тебе! В "плохом прошлом" мой ListView использовался для двух разметок. Сейчас я ...
Как правильно передать массив аргументом для пользовательской функции — php
Вопрос: Если не брать в функцию все это, тогда результат работает. А если вот так в функции все выполнять, тогда PHP ругается: «Invalid ...
Как правильно передать массив аргументом для пользовательской функции — php
Вопрос: Если не брать в функцию все это, тогда результат работает. А если вот так в функции все выполнять, тогда PHP ругается: «Invalid ...
ViewPager внутри ViewPager — такие матрешки работают? — android viewpager
Вопрос: Доброго времени суток. Назрела новая задача. Есть каталог мастеров. При выборе конкретного мастера открывается его страница (активити с ViewPager), и теперь мастеров можно перелистывать свайпом. ...
Почему id всегда 1 Yii2 — yii авторизация
Вопрос: Использую все как по документации. Для получения информации о пользователе использую $identity = $model->findOne(]); И каким бы не был email, id пользователя всегда ...

Оставьте ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *