0

View を MainWindow に表示しようとしています。

過去に、View (タイプ UserControl) を MainWindow の TabControl に渡し、それを TabItem にキャストしましたが、これはうまくいきました。

私の新しいアプリケーションでは、TabControl を使用していません。悲しいことに、MainWindow にビューを挿入する方法を知っていたのはこれしかありませんでした。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つのビューのみを表示できるように技術的にハードコーディングしているという点で、私のアプローチが間違っているようです。ただし、私の理解では、これで問題ありません。

だから、私の2つの質問は次のとおりです。

1) 私のビューはどのタイプでなければなりませんか (ウィンドウ、ページ、またはユーザーコントロール、またはこれらのいずれかで動作しますか 3)

任意の提案をいただければ幸いです。

4

1 に答える 1

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>
于 2013-02-10T12:57:18.740 に答える