Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Доступ к елементу UserControl-a 
:(
    Опции темы
Pack27
Дата 15.7.2011, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.7.2011

Репутация: нет
Всего: нет



Добрый день,

Очень нужна помощь... Создал свой UserControl внутри которого разместил GridControl (компонент DevExpress)

Код

<UserControl x:Class="CLApplication.ApplicationGridControl"
             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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
             xmlns:my="clr-namespace:CLApplication"
             mc:Ignorable="d" 
             d:DesignHeight="300" d:DesignWidth="300" 
             x:Name="ApplicationUserControl"
             DataContext="{Binding RelativeSource={RelativeSource Self}}">
    <Grid>
        <dxg:GridControl x:Name="ApplicationGridName (!!!!!!!)" DataSource="{Binding ApplicationGridControlSource, ElementName=ApplicationUserControl}">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="APP_CODE" Header="Код" />
                <dxg:GridColumn FieldName="APP_COMMENT" Header="Коментарій" />
                <dxg:GridColumn FieldName="APP_VERSION" Header="Версія" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView Name="ApplicationTableView" />
            </dxg:GridControl.View>
        </dxg:GridControl>
    </Grid>
</UserControl>


На главном окне бросаю этот компонент

Код

<Window x:Class="OlimpusTools.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:applic="clr-namespace:CLApplication;assembly=CLApplication"
        xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
        xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
        Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
    <Window.Resources>
        <applic:ApplicationDataSet x:Key="applicationDS" />
        <CollectionViewSource x:Key="applicationViewSource" Source="{Binding Path=APPLICATION, Source={StaticResource applicationDS}}" />
    </Window.Resources>
    <Grid>
        <applic:ApplicationGridControl Margin="0" VerticalAlignment="Top" x:Name="UserGridControl" ApplicationGridControlSource="{Binding Source={StaticResource applicationDS}, Path=APPLICATION}"/>
         
        <StackPanel VerticalAlignment="Bottom" DataContext="{Binding Path=View.FocusedRowData.DataContext, ElementName=ApplicationGridName (!!!!!!!) }">
            <Label Content="Код" Height="28" Name="lAppCode"/>
            <dxe:TextEdit Name="teAppCode" Text="{Binding Path=APP_CODE}"/>
            <Label Content="Коментарій " Height="28" Name="lAppComment"/>
            <dxe:TextEdit Name="teAppComment" Text="{Binding Path=APP_COMMENT}"/>
            <Label Content="Версія" Height="28" Name="lAppVersion"/>
            <dxe:TextEdit Name="teAppVersion" Text="{Binding Path=APP_VERSION}"/>
        </StackPanel>
    </Grid>
</Window>


Под компонентом размещаю панель с эдитами, которая должна отображать текущую строку в гриде. Если бросить грид на форму все работает, если использовать грид с UserControl - не работает. Перебрал уже много вариантов и никак не могу  к нему добраться ... 

Тоесть, мне нужно добраться до текущей (выделенной) строки в GridControl (или DataGrid) который размещен в UserControl-е и запихнуть все это в DataContext другого элемента...

Если это возможно, подскажите, пожалуйста.


Это сообщение отредактировал(а) Pack27 - 15.7.2011, 15:32
PM MAIL   Вверх
Pack27
Дата 15.7.2011, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.7.2011

Репутация: нет
Всего: нет



После нескольких часов мучений нашел решение. Определил DependencyProperty для контрола (аля UserControlFocusedRow). После изменения фокуса в гриде переопределяю это свойство. В главном окне делаю привязку к нему ...
Может кто знает более элегантное решения - буду рад подсказке...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0382 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.