【问题标题】:several small view in one big view mvvm light一个大视图中的几个小视图 mvvm light
【发布时间】:2018-09-18 11:58:34
【问题描述】:

我是 C# 的新手,但我尝试拥有几个小视图,而我必须拥有一个大视图 但我的数据绑定不起作用。 我用过 mvvm 灯。 我在每个小视图中添加了一个数据上下文。` 是mainviewwindows的代码:

<Window xmlns:View1="clr-namespace:BBS.CaseDetails.Operator.View"  xmlns:View="clr-namespace:BBS.CaseDetails.Suspect.View"  x:Class="BBS.CaseDetails.CaseDetailsWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:BBS.CaseDetails"
        xmlns:diag="clr-namespace:System.Diagnostics;assembly=WindowsBase"

        mc:Ignorable="d"
        Title="CaseDetailsWindow" Height="450" Width="800">
    <Grid d:DataContext="{Binding Source={StaticResource Locator}}">
        <View1:CaseInformationView  />
    </Grid>
</Window>

小视图的代码:

<UserControl x:Class="BBS.CaseDetails.Operator.View.CaseInformationView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:BBS.CaseDetails.Operator.View"
             xmlns:resx="clr-namespace:BBS.Resource.Properties;assembly=BBS.Resource"
             mc:Ignorable="d" 
             d:DataContext="{Binding CaseInformationViewModel, Source={StaticResource Locator}}">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1.5*" />
            <ColumnDefinition Width="4*" />

        </Grid.ColumnDefinitions>
        <Label Grid.Row="0" Grid.Column="0" Content="{x:Static resx:CaseDetails.CaseInformation}" FontWeight="Bold"/>
        <Label Grid.Row="1" Grid.Column="0" Content="{x:Static resx:CaseDetails.SteriaFitPlusOperator}"/>
        <Label Grid.Row="2" Grid.Column="0" Content="{x:Static resx:CaseDetails.IncidentNumber}"/>
        <Label Grid.Row="3" Grid.Column="0" Content="{x:Static resx:CaseDetails.IncidentDate}"/>
        <TextBox Grid.Column="1" Grid.Row="1" Text="{Binding SteriaFitPlusOperator}"  />
        <TextBox Grid.Column="1" Grid.Row="2" Text="{Binding CaseInformationModel.IncidentNumber}"  />
        <DatePicker Grid.Column="1" Grid.Row="3" Text="{Binding CaseInformationModel.IncidentDate.Date, Mode=OneWay}" />
        <Image Grid.Column="2" HorizontalAlignment="Center" Height="auto"  Grid.Row="1" Width="100" />
    </Grid>
</UserControl>

我的小视图的视图模型:

namespace BBS.CaseDetails.Operator.ViewModel
{
   public class CaseInformationViewModel: ViewModelBase
    {
        private CaseInformationModel _caseInformationModel;
        public CaseInformationModel CaseInformationModel
        {
            get
            {
                return _caseInformationModel;
            }
            set
            {
                Set(() => this.CaseInformationModel, ref _caseInformationModel, value);
            }
        }

    }
}

【问题讨论】:

    标签: c# asp.net mvvm mvvm-light


    【解决方案1】:

    你的问题可能在这里:

    ...<Grid d:DataContext="{Binding Source={StaticResource Locator}}">...
    
    ...mc:Ignorable="d" 
       d:DataContext="{Binding CaseInformationViewModel, Source={StaticResource Locator}}">...
    

    看看这个:Commenting properties in xaml

    【讨论】:

    • 我已经尝试做 delte 但那没有改变
    • 您所有的Binding 都可以正常工作吗?你注意到你的&lt;Image Grid.Column="2" HorizontalAlignment="Center" Height="auto" Grid.Row="1" Width="100" /&gt; 没有绑定吗?
    • 我有任何有效的绑定。他从不在我的视图模型中进入调试模式。
    • 您的问题不清楚。请用真实问题更新您的问题,否则我们无法帮助您
    • 我的问题是我们如何才能让每个小视图都有 datacontex 并在包含小视图的大视图中使用它。因为现在它无法进行数据绑定
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2021-09-07
    • 1970-01-01
    相关资源
    最近更新 更多