我正在使用wpfToolkit 3.5作为引用程序集在VS2010中构建应用程序。
我尝试在ExpressionBlend 4中添加一些VisualStates,当我尝试构建项目时,我收到以下错误。
类型'System.Windows.VisualState' 存在于'c:\ Program Files中 (86)\参考 大会\微软\ Framework.NETFramework \ V4.0 \ PresentationFramework.dll” 和'c:\ Program Files(x86)\ WPF 工具包\ v3.5.50211.1 \ WPFToolkit.dll'
这是代码
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ShowHideRoomNumber">
<VisualState x:Name="Show"/>
<VisualState x:Name="Hide">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="comboBox">
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Hidden}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
我也试过了,但发生了同样的错误
xmlns:vsm="clr-namespace:System.Windows;assembly=WPFToolkit"
<vsm:VisualStateManager.VisualStateGroups>
<vsm:VisualStateGroup x:Name="ShowHideRoomNumber">
<vsm:VisualState x:Name="Show"/>
<vsm:VisualState x:Name="Hide">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="comboBox">
<DiscreteObjectKeyFrame KeyTime="0" Value="{x:Static Visibility.Hidden}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</vsm:VisualState>
</vsm:VisualStateGroup>
</vsm:VisualStateManager.VisualStateGroups>
有什么建议吗?
由于
答案 0 :(得分:11)
这是 extern别名的用途 http://msdn.microsoft.com/en-us/library/ms173212.aspx
您可以通过Visual Studio
进行设置答案 1 :(得分:3)
我解决此问题的方法是获取源代码here的副本,并对其进行修改,以便VisualStateManager和相关类位于不同的命名空间中(我选择了System.Windows.VSM)这是一种痛苦,但它会起作用。我希望VSM将从该工具包的未来版本中删除,但我无法证明它。
与此同时,还有其他一些你可以做的事情,而且每一个都有点痛苦+可能不会起作用,这取决于你的情况。