如何使用Expression Blend 3创建DataTemplate?

时间:2009-05-07 09:15:28

标签: data-binding expression-blend

我目前正在试验Expression Blend 3 MIX09 version的想法主要用于带有数据绑定的MVVM结构化网站,能够在设计时查看实时数据。到目前为止,我已经非常感动并且不得不说 Blend 3生成的XAML并不像人们说的那样糟糕。我得到了以下两个例子,一个是数据绑定,另一个是动态加载的用户控件(视图)。在设计我的应用程序时,我可以在90%的时间内保持Expression Blend,在设计时看到来自我的ViewModel的实时数据。我只切换到Visual Studio,例如创建配置文件或添加引用更容易。 改进的Blend 3 intellisense 使我能够在Blend中保留大部分编码:

我很惊讶我在Expression Blend中无法做到的是,在我创建了一个ListBox之后,我希望我可以右键单击并创建一个DataTemplate 。我当然可以在代码中创建一个DataTemplate,然后在Resources / Window下我再次找到它,可以单击它旁边的按钮“进入DataTemplate”并在我的Objects和Timeline面板中查看控件,这很不错。但是从控件创建一个DataTemplate是如此常见,我认为有一种方法可以实现,我只是缺少。

在Blend 3中你可以为ListBox或ListView等“创建一个DataTemplate”吗?

<UserControl
    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:TestDynamic456"
    mc:Ignorable="d"
    x:Class="TestDynamic456.CustomersView"
    x:Name="UserControl"
    d:DesignWidth="640" d:DesignHeight="480">

    <UserControl.Resources>
        <local:CustomersViewModel x:Key="CustomersDataProvider"/>
    </UserControl.Resources>
    <StackPanel x:Name="LayoutRoot" Background="{x:Null}">

        <ListBox ItemsSource="{Binding Path=GetAll, Source={StaticResource CustomersDataProvider}}"/>

    </StackPanel>
</UserControl>

1 个答案:

答案 0 :(得分:3)

在Blend 3中,您可以在Blend2中为ItemsControl创建一个DataTemplate;)

右键单击控件 - >编辑其他模板 - &gt;编辑生成的项目(ItemTemplate) - &gt; CreateEmpty