0

是否有可以与 WPF 一起使用的交互式 XAML 编辑器,或者在 XamlPadX 4.0 中使用 VisualStateManager 的某种方式?

我已经尝试过 XamlPadX 4.0,它很棒,直到我尝试使用它阻塞的 VisualStateManager 做某事。粗略的研究表明,VisualStateManager 支持在 Dotnet 4 中到达 WPF,而 XamlPadX 4 是使用 Dotnet 2.5 构建的。尝试重定向 XamlPadX 以使用 Dotnet 4 未成功。

据我所知,Blend 似乎没有交互模式,只是标准的 VS 样式代码/运行迭代周期。

我快速浏览了 Kaxaml。它似乎可以工作,但非常有限,例如没有可视化树浏览器。

更新 colinsmith 建议的混合功能

我安装了 VS2012 Update 2,我尝试使用 Blend 但没有成功。例如,输入以下代码并从“对象和时间线”面板中选择按钮会导致“对象和时间线”面板显示“(未打开故事板)”,并且状态面板中什么都没有。在 Blend 中单击“帮助”会将我带到 MSDN 页面,其中显示“我们很抱歉。找不到您请求的页面。” 并在网上搜索有关将 Blend for VS2012 与 WPF 结合使用的指导,这并没有让我感到惊讶,因为仅在几天前发布的 VS2012 Update 2 中才将 WPF 支持添加到 VS2012 的 Blend 中。

<Window x:Class="BlendScratchProject.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="91" Width="192">

    <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
        <Button Content="Button">
            <Button.Template>
                <ControlTemplate TargetType="Button">
                    <Border x:Name="_rootElement">
                        <Border.Background>
                            <SolidColorBrush x:Name="_borderBrush" Color="Black"/>
                        </Border.Background>

                        <Grid Margin="4">
                            <Grid.Background>
                                <SolidColorBrush x:Name="_backgroundBrush" Color="Green"/>
                            </Grid.Background>

                            <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                Margin="5"/>
                        </Grid>

                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">

                                <VisualState x:Name="Normal"/>

                                <VisualState x:Name="MouseOver">
                                    <Storyboard>
                                        <ColorAnimation Storyboard.TargetName="_borderBrush"
                                            Storyboard.TargetProperty="Color" To="Red" Duration="0:0:0"/>
                                    </Storyboard>
                                </VisualState>

                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                    </Border>
                </ControlTemplate>
            </Button.Template>
        </Button>
    </Grid>

</Window>
4

1 回答 1

1

在 Blend 中,确保在状态面板中启用“过渡预览”,然后您可以在状态组中的状态之间切换(通过单击它们)来查看动画。

请参阅此链接上的选项 5:

(注意:图标看起来会根据 Blend 的版本而有所不同!)。

除此之外,您还有常规的“拆分”模式,因此您可以看到 XAML 文本编辑器并在其中输入原始 XAML,并在您输入时看到它呈现(即按照 Kaxaml 等)。

对不起,如果那不是你想要的,或者我太理解你了......

下图,突出显示要选择的位。

在此处输入图像描述

警告:

只要确保您有一个支持 WPF 的 Blend 版本...WPF 支持被排除在 Visual Studio 2012 RTM 附带的 Blend 之外...要恢复它,您必须使用下载并使用“BLEND + SKETCHFLOW PREVIEW FOR VISUAL STUDIO 2012"....但现在 Visual Studio Update 2 中有一个合适的 RTM 版本。

如果您不使用 Visual Studio 2012,则只需使用单独的 Expression Blend 4 产品(或将其作为 Expression Studio 的一部分获取)。

于 2013-04-05T15:40:02.880 回答