WPF的任何交互式XAML编辑器?

时间:2013-04-05 12:47:33

标签: wpf xaml

是否有可以与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的指导什么都没有引起什么,这并没有让我感到惊讶,因为WPF的支持仅添加到VS2012 Update 2中的Blend for VS2012,该版本仅在几天前发布。 / p>

<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>

1 个答案:

答案 0 :(得分:1)

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

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

(注意:图标看起来会有所不同,具体取决于Blend的版本!)。

除此之外,您还可以使用常规的“分割”模式,这样您就可以看到XAML文本编辑器并输入原始XAML并在键入时查看它(即根据Kaxaml等)。

对不起,如果这不是你想要的,或者我正在密切了解你...

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

enter image description here

警告:

请确保您有一个支持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的一部分)。