我在使用Silverlight Toolkit控件时在Expression Blend中打开我的UserControl时遇到一个奇怪的问题.我的UserControl使用工具包的ListBoxDragDropTarget,如下所示:
<controlsToolkit:ListBoxDragDropTarget mswindows:DragDrop.AllowDrop="True" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
<ListBox ItemsSource="{Binding MyItemControls}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<controlsToolkit:WrapPanel/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</controlsToolkit:ListBoxDragDropTarget>
Run Code Online (Sandbox Code Playgroud)
一切都在运行时按预期工作,在Visual Studio 2008中看起来很好.但是,当我尝试在Blend中打开我的UserControl时,我得到XamlParseException:[Line:0 Position:0],我在设计视图中看不到任何内容.更具体地说,Blend抱怨:
由于System.Windows.Controls.ListBoxDragDropTarget:TargetType不匹配的问题,无法显示元素"ListBoxDragDropTarget".
我的silverlight应用程序引用了2009年11月工具包版本中的System.Windows.Controls.Toolkit,我确保为ListBoxDragDropTarget包含这些命名空间声明:
xmlns:controlsToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit"
xmlns:mswindows="clr-namespace:Microsoft.Windows;assembly=System.Windows.Controls.Toolkit"
Run Code Online (Sandbox Code Playgroud)
如果我注释掉ListBoxDragDropTarget控件包装器并且只是离开ListBox,我可以在设计视图中看到一切没有错误.此外,我意识到这种情况正在发生在各种Silverlight Toolkit控件上,因为如果我注释掉ListBoxDragDropTarget并将其替换为
<controlsToolkit:BusyIndicator />
Run Code Online (Sandbox Code Playgroud)
Blend中出现相同的确切错误.甚至更奇怪的是,如果我在混合中启动一个全新的silverlight应用程序,我可以添加这些工具包元素而不会出现任何错误,因此我的项目引用工具包程序集似乎发生了一些愚蠢的事情.
我很确定这与从generic.xaml加载工具包控件的默认样式有关,因为错误与TargetType有关,Blend可能正在尝试加载默认样式.
有没有人遇到过这个问题,或者有什么想法可能是我的问题?
silverlight xaml silverlight-toolkit xamlparseexception expression-blend
假设我有一个人类:
public class Person
{
public string Name {get; set;}
public int Age {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我想在Blend中创建一些示例数据,以帮助我直观地设计我的用户界面.我选择基于Blend中的类创建示例数据,但我得到的是一个样本Person - singular.我想创建一个Person的集合来绑定到列表框.我怎么告诉它这样做?我找不到它要求的任何地方.我是否必须创建一个Person集合的类.当然必须有办法做到这一点?
提前致谢.
有没有人知道如何在Expression Blend中"格式化xaml"类似于Visual Studio中的"格式文档"选项?
我有一个引用C++/CLI混合模式项目的WPF C#项目.我在Expression Blend 3中使用WPF项目时遇到了麻烦.我是Blend的新手,所以这很明显,但在构建项目之前它不会正确显示xaml设计器.在我的情况下,它抱怨我的自定义命令不是"识别或可访问",解决方案是在Blend中构建项目.但我无法构建项目,因为它引用了Blend无法加载的C++/CLI混合模式项目.WPF项目是纯C#,恰好引用了C++/CLI混合模式项目,但我不是要求Blend对混合模式程序集做任何事情.我该如何解决这个问题?
编辑: 通过删除对C++/CLI混合模式项目的引用并将其替换为对实际程序集的引用,我能够构建它.但是这并不理想,因为在我过去的经验中,在发布和调试配置之间切换时,Visual Studio将无法始终解析引用.
如何在silverlight中创建这样的按钮.我需要表达式混合吗?
由于我需要在我的应用程序的许多地方使用修改过的按钮,我应该作为用户控件吗?

有没有关于开发Metro风格的silverlight应用程序的指导?如何设计UI以匹配WP7的地铁外观.顺便说一句,Windows 8的用户界面和用户体验是如此,我认为未来我们如何为未来版本的操作系统开发应用程序可能会改变为或多或少的"地铁".
所以我要问的是,如果有人知道任何资源或有任何想法如何使用当前可用的silverlight控件来实现这种外观和感觉.是否有任何计划改变控制以匹配开箱即用的UX,更本地?
silverlight-toolkit expression-blend silverlight-4.0 microsoft-metro windows-8
我目前正在将我创建的一些附加行为迁移到Blend Behaviors,以便它们支持Expression Blend中的拖放.我注意到Blend行为的作者倾向于将行为属性定义为依赖属性.
我创建了一个行为,TiltBehaviour它公开了一个TiltFactordouble类型的公共依赖属性.在Expression Blend中我可以设置此属性的值,但是,添加"数据绑定..."的选项显示为灰色:

我还注意到Behaviors扩展DependencyObject,因此它们没有a DataContext,因此无法继承DataContext它们所附加的元素.这对我来说真是个弱点!
所以,底线是,如果我无法在Blend中设置绑定到我的行为依赖属性,并且它没有继承DataContext,为什么还要使用依赖属性呢?我可以使用CLR属性.
我有一个问题,在这里混合显示设计时数据是我的代码这是我的集合视图来源:
<CollectionViewSource
x:Name="DataSource"
Source="{Binding Groups}"
IsSourceGrouped="true"
ItemsPath="Items"
d:Source="{Binding ItemGroups, Source={d:DesignInstance Type=data:SampleData, IsDesignTimeCreatable=True}}"/>
Run Code Online (Sandbox Code Playgroud)
以及使用它的网格视图:
<GridView
x:Name="itemGridView"
ItemsSource="{Binding Source={StaticResource DataSource}}"
Run Code Online (Sandbox Code Playgroud)
我的问题是我只在VS11中看到了设计时间数据但在混合中没有看到.这是为什么?
谢谢
我正在为新的绿地应用程序设置项目结构.我们的初始版本仅支持WPF客户端,但我们也希望最终推出Metro和Silverlight客户端.我决定以下几点:
核心库 - 针对Metro,.NET 4.5,SL4,Windows Phone 7.5的.NET的可移植类库
WPF应用程序 - 针对.NET 4.5
我们的Model/ViewModel层在核心库中定义,在WPF应用程序中定义了View.我选择.NET 4.5是为了支持在WPF和Metro都可以使用的方式中定义核心库中的viewmodel.
这在Windows 7 Pro上运行的Visual Studio 11 Beta中运行良好.我有一个工作视图,它是绑定到核心库中定义的ViewModel的数据.我的问题是Blend.当我打开混合视图时,我没有设计师.我怀疑这里的问题是支持.NET 4.5上的WPF.我尝试过Blend 4和Blend for VS11 Beta.
有没有人知道如何使设计师在Blend for WPF视图中工作如上所述?
*截至2012-05-10的状态:VS11和Blend的组合似乎不支持WPF 4.5.
wpf expression-blend portable-class-library .net-4.5 visual-studio-2012
expression-blend ×10
wpf ×4
silverlight ×3
xaml ×3
c# ×2
windows-8 ×2
.net ×1
.net-4.5 ×1
c++-cli ×1
sample-data ×1
themes ×1