是否有可以与 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>