3

我目前正在尝试使用Expression Blend 3 MIX09 版本主要是将其用于具有数据绑定的 MVVM 结构化站点,能够在我设计时查看实时数据。到目前为止,我印象非常深刻,不得不说Blend 3 生成的 XAML 并没有人们说的那么糟糕。我得到了以下两个示例,一个具有数据绑定,另一个具有动态加载的用户控件(视图)。在我设计我的应用程序时,我可以在 90% 的时间里留在 Expression Blend,在我设计时看到来自我的 ViewModel 的实时数据。我切换到 Visual Studio 只是为了创建配置文件,或者添加引用更容易。Blend 3 改进的智能感知使我能够在大部分编码中留在 Blend 中:

不过,令我感到惊讶的是,我在 Expression Blend 中不能做的一件事是,在我创建了一个 ListBox 之后,我希望我可以右键单击并创建一个 DataTemplate。我当然可以在代码中创建一个 DataTemplate,然后在 Resources/Window 下我再次找到它,可以单击它旁边的按钮以“进入 DataTemplate”并在我的 Objects and 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>
4

1 回答 1

3

在 Blend 3 中,您在 Blend2 中创建 ItemsControl 的 DataTemplate ;)

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

于 2009-06-06T17:51:13.180 回答