我正在尝试在MainWindow中显示一个视图。
在过去,我已经将我的View(类型为UserControl)传递到我的MainWindow上的TabControl中并将其转换为TabItem,这很有效。
在我的新应用程序中,我没有使用TabControl,遗憾的是,这是我知道如何将视图插入MainWindow的唯一方法。我假设我现在可以使用ContentControl来显示我的视图。
我的问题是,我不知道如何将我的视图绑定到我的ContentControl
。
到目前为止,我的XAML非常裸露,看起来像是
<Window x:Class="BackUps.Logging.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:viewModels="clr-namespace:BackUps.Logging" Title="Logging Results" Height="350" Width="700"> <Grid> <Grid.Resources> <ContentControl Content="{x:Type nameOfViewModel}" /> </Grid.Resources> </Grid> </Window>
以上不起作用,似乎我的方法是错误的,因为我在技术上很难编码,只允许1个视图显示。但是,仅仅为了我的理解,这很好!
所以,我的两个问题是:
1)我的视图必须是什么类型(Window,Page或UserControl,否则它将与这些中的任何一个一起使用) 2)如何设置ContentControl以绑定到我的视图?
任何建议都将不胜感激。
答案 0 :(得分:1)
您的视图应为UserControl
类型。
在XAML中,您可以使用以下代码:
<Window x:Class="ContentBinding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
xmlns:views="clr-namespace:ContentBinding"
>
<Window.Resources>
<views:MyView x:Key="myView" />
</Window.Resources>
<Grid>
<ContentControl Content="{StaticResource myView}" />
</Grid>
</Window>