无法在风格中放置窗口

时间:2014-08-24 19:04:00

标签: c# wpf xaml mvvm

我在WPF中创建了一个mvvm项目。 但是,我在MainWindow.xaml中收到错误,说我无法在一个样式中放置一个窗口... 这是我的MainWindow.xaml:

 <Window x:Class="DataValidation.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:vm="clr-namespace:BankEn.viewmodel"
        xmlns:v="clr-namespace:BankEn.view"
        Title="MainWindow" Height="350" Width="525">
    <Window.DataContext>
        <vm:AccountVM/>
    </Window.DataContext>
    <Window.Resources>
        <DataTemplate DataType="{x:Type vm:AccountVM}">
            <v:HomePage/>
        </DataTemplate>
    </Window.Resources>
    <Grid>
        <ContentControl Content="{Binding CurrentPage}"/>
    </Grid>
</Window>

错误发生在<v: HomePage> 在我的HomePage.xaml中,我没有使用<window>标签......所以我不知道实际问题是什么:

<UserControl x:Class="BankEn.view.HomePage"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:vm="clr-namespace:BankEn.viewmodel"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
        xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WPF45"
        xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
        xmlns:rules="clr-namespace:BankEn.Model.rules"
        mc:Ignorable="d" 
             d:DesignHeight="300" Width="528">

    <UserControl.DataContext>
        <vm:AccountVM/>
    </UserControl.DataContext>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="250"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <ListBox Margin="8" ItemsSource="{Binding Accounts}" SelectedItem="{Binding SelectedAcc}" DisplayMemberPath="AccountHolder"/>
        <StackPanel Margin="8" Grid.Column="1">
            <Label Content="Accountholder:"/>
            <Label FontWeight="Bold" FontSize="10" Height="25px" Content="{Binding SelectedAcc.AccountHolder}"/>
            <Label Content="Accountnumber:"/>
            <Label FontWeight="Bold" FontSize="10" Height="25px" Content="{Binding SelectedAcc.AccountNumber}"/>
            <Label Content="Balance:"/>
            <Label FontWeight="Bold" FontSize="10" Height="25px" Content="{Binding SelectedAcc.Balance}"/>
            <Label Content="Transfer to:"/>
            <ComboBox Name="cboReceiver" SelectedItem="{Binding CboAcc}" ItemsSource="{Binding Path=Accounts}" DisplayMemberPath="AccountHolder" SelectedValuePath="AccountHolder" />
            <Label Content="Amount:"/>
            <TextBox InputScope="Number" Name="Amount"></TextBox>
            <StackPanel Orientation="Horizontal" Margin="0,16,0,0">
                <Button Content="Transfer money" Command="{Binding UpdateAccount}" CommandParameter="{Binding Text, ElementName=Amount}" Width="250"/>
            </StackPanel>
        </StackPanel>
    </Grid>
</UserControl>

0 个答案:

没有答案