小编Gre*_* M.的帖子

使用Expression Blend编辑DataTemplate,用于使用DataTemplateSelector的项目

我是我的应用程序,我有一个ItemsControl元素,其中包含用户绘制的形状.每个特定形状的ViewModel都继承自基础ViewModel.DataTemplateSelector基于形状的ViewModel类型应用正确的DataTemplate.

在我的胜利xaml:

    <ItemsControl ItemsSource="{Binding MarkupElements}"
                  ItemTemplateSelector="{StaticResource MarkupTemplateSelector}"/>
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <Canvas Panel.ZIndex="1" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>
Run Code Online (Sandbox Code Playgroud)

在资源字典中:

    <DataTemplate x:Key="MarkupLineTemplate" DataType="x:Type vm:MarkupLineViewModel">
    <.../>
    </DataTemplate>
    <DataTemplate x:Key="MarkupCircleTemplate" DataType="x:Type vm:MarkupCircleViewModel">
    <.../>
    </DataTemplate>
    <view:MarkupTemplateSelector
    LineTemplate="{StaticResource MarkupLineTemplate}"
    CircleTemplate="{StaticResource MarkupCircleTemplate}"
    x:Key="MarkupTemplateSelector"/>
Run Code Online (Sandbox Code Playgroud)

这很好用,但Expression Blend不允许我编辑这些模板.我可以强制Blend应用一个特定的模板,但它会ItemTemplate在我的win.xaml中添加一个属性,设置为我选择的,覆盖选择器.

我正在使用MVVM Light Tookit,并尝试添加一些不同类型的设计时形状.Blend会显示它们,但它们对访问模板没有帮助.

有没有办法说服Blend我的派生ViewModel对DataContext有效,从而允许我编辑模板?这甚至是问题吗?

wpf expression-blend

8
推荐指数
1
解决办法
2346
查看次数

标签 统计

expression-blend ×1

wpf ×1