Как избежать потери DataContext в XAML?

Включены CompiledBindings, контекст прописан единожды и не меняется. Но стоило добавить в верстку простой UserControl, сразу некоторые элементы теряют DataContext. Это я понял по disabled кнопкам, которые биндились к командам и т.д. XAML контрола:

<UserControl xmlns="https://github.com/avaloniaui"
             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:models="clr-namespace:MyProject.Models"
             xmlns:views="clr-namespace:MyProject.Views"
             mc:Ignorable="d" d:DesignWidth="200" d:DesignHeight="250"
             x:DataType="views:CheckboxList"
             x:Class="MyProject.Views.CheckboxList">
    
      <ItemsControl Name="childContainer"
                    ItemsSource="{Binding ItemsSource}"
                    Padding="4">

          <!--Use a StackPanel to display all the modules-->
          <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
              <StackPanel Orientation="Vertical" />
            </ItemsPanelTemplate>
          </ItemsControl.ItemsPanel>

          <!--This defines the layout for each item (i.e. each module)-->
          <ItemsControl.ItemTemplate>
            <DataTemplate DataType="{x:Type models:CheckedValue}">
                <StackPanel Orientation="Horizontal">
                    <CheckBox IsChecked="{Binding IsChecked}" 
                              IsThreeState="False"/>
                    <TextBlock Text="{Binding Text}"
                               VerticalAlignment="Center"/>
                </StackPanel>
            </DataTemplate>
          </ItemsControl.ItemTemplate>
    </ItemsControl>
</UserControl>

Но я не думаю, что дело в нем. Исправляется добавлением контейнерам DataContext вручную:

<Border DockPanel.Dock="Bottom"
        DataContext="{Binding $parent[UserControl].DataContext}"
        x:DataType="viewModels:MyViewModel">

что выглядит некрасиво и громоздко, если добавлять в каждую панель. Версия Avalonia 11.0.3, но сталкивался с подобным и на 10 версии.


Ответы (0 шт):