В настоящее время я экспериментирую с Expression Blend 3 версии MIX09 с идеей использовать его главным образом для структурированного сайта MVVM с привязкой данных, чтобы иметь возможность просматривать живые данные, как я проектирую, До сих пор я был очень впечатлен и должен сказать, что XAML, сгенерированный Blend 3, не так плох, как люди говорят, что это . У меня работают следующие два примера: один с привязкой данных, другой с пользовательскими элементами управления (представлениями), которые загружаются динамически. Я могу оставаться в Expression Blend 90% времени, пока я проектирую свое приложение, видя живые данные, поступающие из моих ViewModels, когда я проектирую. Я переключаюсь на Visual Studio только для примера. Создание конфигурационных файлов или добавление ссылок проще. улучшенный интеллект Blend 3 позволил мне остаться в Blend также для большей части моего кодирования:
Одна вещь, которую я удивляюсь, что я не могу сделать в Expression Blend, это то, что после того, как я создал ListBox, я ожидал бы, что я могу сделать щелчок правой кнопкой мыши и создать DataTemplate, Я, конечно, могу создать DataTemplate в коде, затем в разделе «Ресурсы / Окно, где я нахожу его снова», могу нажать на кнопку рядом с ним, чтобы «перейти в DataTemplate» и увидеть элементы управления внутри на моей панели «Объекты и временная шкала», что приятно , Но создание DataTemplate из элемента управления настолько распространено, что я думаю, что есть способ сделать это, которого мне просто не хватает.
Где в Blend 3 можно «создать шаблон данных» для ListBox или ListView и т. Д.?
<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>