У меня есть приложение UWP, которое будет управлять 3 объектами (категория, плита, меню). У меня есть viewmodel для каждого объекта и список viewmodel, чтобы выбрать объект для управления. Поэтому я бы хотел, чтобы при выборе объекта в списке viewmodel на странице была загружена динамическая система usercontrol.UWP динамически страница
Я пытаюсь использовать контент, но он не работает.
мой XAML код являются:
<ListBox Grid.Row="1" ItemsSource="{Binding ConfigurationItems}"
SelectedItem="{Binding ConfigurationItemSelected, Mode=TwoWay}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=ConfigurationAbstract}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<StackPanel Grid.Row="1" Grid.Column="1" Margin="10,0,0,0">
<TextBlock Text="{Binding Path=ConfigurationItemSelected.ConfigurationAbstract}" Style="{StaticResource TitleTextBlockStyle}"/>
<Grid Grid.Row="1" Grid.Column="1"
Visibility="{Binding ImportVisible, Converter={StaticResource b2v} }"
>
<Grid.RowDefinitions>
<RowDefinition Height="40"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="75*"></ColumnDefinition>
<ColumnDefinition Width="25*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center">
<TextBlock Text="File Importato: "/>
<TextBlock Text="{Binding Path= ConfigurationItemSelected.ImportedFilePathName}"/>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<Button Content="Scegli..." Command="{Binding Path=ConfigurationItemSelected.ChooseCommand}" Margin="5,0"></Button>
<Button Content="Importa" Command="{Binding Path=ConfigurationItemSelected.ImportCommand}" Margin="5,0"></Button>
</StackPanel>
</Grid>
<ContentControl Content="{Binding Path=ConfigurationItemSelected}"/>
</StackPanel>
Благодарим вас С уважением
У меня обновить свой код:
<Page.Resources>
<DataTemplate x:DataType="vm:CategoriesViewModel" x:Key="Categorie">
<controls:UcCategories DataContext="{Binding Path=ConfigurationItemSelected}" />
</DataTemplate>
<DataTemplate x:DataType="vm:MenuItemsViewModel" x:Key="Menu">
<controls:UcMenu DataContext="{Binding Path=ConfigurationItemSelected}" />
</DataTemplate>
<DataTemplate x:DataType="vm:PlatesViewModel" x:Key="Piatti">
<controls:UcPlates DataContext="{Binding Path=ConfigurationItemSelected}" />
</DataTemplate>
</Page.Resources>
<ContentControl Content="{Binding Path=ConfigurationItemSelected}">
</ContentControl>
Но снова не работает ...
добавить ContentTemplate к вашему ContentControl и сделать содержание ContentControl в связывающую OneWay – nkoniishvt
у вас есть какой-то пример? –
Вы можете установить ContentTemplate в DataTemplate, который содержит ваш UserControl, как вы это делали в ItemTemplate ListBox – nkoniishvt