WPF&;MVVM,窗口中的设计时数据,但不是子用户控件
在Visual Studio 2013(完全更新)和Blend 2013中,我在UserControl中没有看到设计时数据,但在具有UserControl的窗口中看到了设计时数据。下面是我的问题的简化演示 模型(color.cs): ModelView(colorViewModel.cs): UserControl XAML(colorUserControl.XAML):WPF&;MVVM,窗口中的设计时数据,但不是子用户控件,wpf,mvvm,Wpf,Mvvm,在Visual Studio 2013(完全更新)和Blend 2013中,我在UserControl中没有看到设计时数据,但在具有UserControl的窗口中看到了设计时数据。下面是我的问题的简化演示 模型(color.cs): ModelView(colorViewModel.cs): UserControl XAML(colorUserControl.XAML): 窗口XAML(main Window.XAML): 该窗口获取设计时数据: 但不是用户控件: 如何让UserCo
窗口XAML(main Window.XAML):
该窗口获取设计时数据:
但不是用户控件:
如何让UserControl显示设计时数据?您遇到的问题是,即使在主窗口中,您也没有实际使用设计时数据
使用设计时数据时,有两个选项:
下面列出了一些好的资源:
using System;
namespace TestWPF {
public class color {
public string name { get; set; }
}
}
using System;
using System.Collections.Generic;
namespace TestWPF
{
public class colorViewModel
{
public List<color> colorList;
public colorViewModel()
{
colorList = new List<color>();
colorList.Add(new color() { name = "blue" });
colorList.Add(new color() { name = "red" });
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace TestWPF
{
public partial class colorUserControl : UserControl
{
public colorUserControl()
{
InitializeComponent();
this.DataContext = (new colorViewModel()).colorList;
}
}
}
<UserControl x:Class="TestWPF.colorUserControl"
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"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="True" />
</Grid>
</UserControl>
<Window x:Class="TestWPF.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:view="clr-namespace:TestWPF">
<Grid>
<view:colorUserControl />
</Grid>
</Window>