0

我正在尝试在我的 MainWindow 中显示一个视图。

过去,我将 View(UserControl 类型)传递到 MainWindow 上的 TabControl 中,并将其转换为 TabItem,这样效果很好。

在我的新应用程序中,我没有使用 TabControl,遗憾的是,这是我知道如何将视图插入主窗口的唯一方法。我假设我现在可以使用 ContentControl 来显示我的视图。

我的问题是,我不知道如何将我的 View 绑定到我的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)我的视图必须是什么类型(窗口、页面或用户控件,或者它可以与这些中的任何一个一起使用 3)2)我如何设置 ContentControl 以绑定到我的视图?

任何建议,将不胜感激。

4

1 回答 1

1

你的 View 应该是 type 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>
于 2013-02-10T12:57:18.740 回答