Как задать DataContext для ListBoxItem внутри UserControl?

174
10 мая 2019, 02:20

Создал UserControl с ListBox внутри:

 <catel:UserControl 
            x:Class="WPFApplication2.Views.UserView"                   
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:catel="http://schemas.catelproject.com"
           xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
<Grid>
    <ScrollViewer Width="500" VerticalScrollBarVisibility="Auto" >
        <ListBox ItemsSource="{Binding Labels}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Border>
                        <Label Height="{Binding Path=Height}"
                               Width="{Binding Path=Width}"
                               Content="{Binding Path=Content}">
                            <i:Interaction.Triggers>
                                <i:EventTrigger EventName="MouseLeftButtonDown">
                                    <i:InvokeCommandAction 
                                        Command="{Binding DataContext.MyCommand , 
                                        RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=catel:UserControl}}"
                                        CommandParameter="{Binding}"/>
                                </i:EventTrigger>
                            </i:Interaction.Triggers>
                        </Label>
                    </Border>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </ScrollViewer>
</Grid>
</catel:UserControl>  

Чтоб не делал не работает свойство Command в Label при том если поместить Label вне ListBox или заменить UserControl на Window всё работает отлично!

Пробовал указывать DataContext и через FindAncestor и через указания ElementName на UserControl - ничего не помогло, при этом не работает только Command остальные свойства привязываются без проблем.Работаю в Catel.

READ ALSO
Не отображаются номера страниц в GridView (aspx)

Не отображаются номера страниц в GridView (aspx)

На странице выводится GridView

191
Чтение файла выбранного в ListBox

Чтение файла выбранного в ListBox

Имеется listbox, в который отображаются названия файлов с папки на диске C

173
Не добавляются значения к параметра в запросе SQL

Не добавляются значения к параметра в запросе SQL

Не понимаю в чём выражается некорректность кодаНе добавляются значения к параметрам в запросе SQL к БД Oracle

232
Как компилировать исходники c#?

Как компилировать исходники c#?

Вообщем прислали тестовое заданиеЗадание решил, но тут в требованиях к оформлению увидел следующее Задание делал в Visual Studio

186