Мне нужно сделать что-то вроде этого кода ниже:
<UserControl x:Class="MyApp.Views.UserControls.UCMainControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxnav="http://schemas.devexpress.com/winfx/2008/xaml/navigation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Controls="clr-namespace:MyApp.Views.UserControls"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> <RowDefinition Height="140"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition/> <ColumnDefinition Width="220"/> </Grid.ColumnDefinitions> <Controls:UCMenuPrincipal x:Name="MenuPrincipalcontrol" Grid.Row="0"/> </Grid>
В этом коде мне нужно поместить меню в другой UserControl, но меню находится в другом UserControl (однако это может быть что-нибудь).
Когда код в нормальном WPF, я могу это сделать. Можно ли это сделать с помощью Авалонии?
Не совсем уверен, что вы просите, но я думаю, что вы пытаетесь создать пользовательский элемент управления с меню внутри, а затем окно с этим пользовательским элементом управления.
Что-то подобное должно работать :
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:vm="clr-namespace:MyApp.ViewModels;assembly=MyApp" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:uc="clr-namespace:MyApp.Views.UserControls;assembly=MyApp" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="MyApp.Views.MainWindow" Icon="/Assets/avalonia-logo.ico" Title="MyApp"> <uc:UCMainControl/> </Window>
<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:uc="clr-namespace:MyApp.Views.UserControls;assembly=MyApp" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="MyApp.Views.UserControls.UCMainControl"> <Grid RowDefinitions="Auto,Auto,*,140" ColumnDefinitions="Auto,*,220"> <uc:UCMenuPrincipal x:Name="MenuPrincipalcontrol" Grid.Row="0"/> </Grid> </UserControl>
<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" mc:Ignorable="d" x:Class="MyApp.Views.UserControls.UCMenuPrincipal"> <Menu Background="AliceBlue"> <MenuItem Header="File"/> <MenuItem Header="Edit"/> <MenuItem Header="Help"/> </Menu> </UserControl>
окно результатов