常常从Expression Blend的3回来到Visual Studio时,我看到共混物具有有益补充一个"d:LayoutOverrides"属性,我的XAML.在ASP.NET设计师的成长过程中,我自然不信任任何我不会打字的东西,所以一看到它就立即删除它们.
我知道"d:"属性只是设计师而且不会影响运行时,但任何人都可以提供任何有关此属性功能的信息以及为什么Blend如此坚持以至于我将它们全部放在我的标记上?
<Border d:LayoutOverrides="Height" />
Run Code Online (Sandbox Code Playgroud) 我有一个WPF应用程序,我使用Blend来设置样式.
我的一个视图模型是这样的类型:
public Dictionary<DateTime, ObservableCollection<MyViewModel>> TimesAndEvents
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在Expression Blend中创建一些示例数据时,它根本不会为此属性创建XAML.
你能在XAML中创建这样的数据类型吗?非设计时间支持正在削弱我的生产力.
我对Visual Studio 2010和Expression Blend 4如何协同工作有点困惑.如果我想创建一个WPF应用程序,我应该在Expression Blend 4中启动吗?如果是这样,那么Visual Studio 2010如何在本机上打开Expression Blend项目,或者它是如何实现的呢?
或者我应该在Visual Studio 2010中启动我的应用程序?如果是这样,我如何在Expression Blend中打开我的解决方案.
另外,如果需要更改,如何修改现有的WPF表单.如果我已经处理了事件并且代码落后了,我如何将其转换为表达式混合,进行更改,然后将其恢复到visual studio而不会中断我在Visual Studio 2010中创建的事件和代码?
也有人可以推荐一本好书,介绍如何使用Expression blend 4和Visual Studio 2010一起创建WPF和/或Silverlight应用程序.
blend visual-studio-2010 microsoft-expression visual-studio expression-blend
在Expression Blend 4中,在编译时我收到错误说法
指定的解决方案配置"Debug | BNB"无效.请使用"配置和平台"属性指定有效的解决方案配置(例如,MSBuild.exe Solution.sln/p:Configuration = Debug/p:Platform ="Any CPU")或将这些属性留空以使用默认解决方案配置.
完成建筑项目"myproject.sln" - 失败.
构建失败.
应用程序运行正常,但我无法在设计器视图中看到我的设计.
它说找不到名为'Locator'的资源.显然,我没有更改代码中的任何内容,我只是使用数据绑定对话框进行数据绑定...
有人面临同样的问题吗?
我TextBox在Expression Blend中创建了一种自定义.我已将背景和边框的填充更改为渐变,并添加了阴影效果.
我注意到,当我鼠标悬停或聚焦时TextBox,WPF的一些默认行为/(样式?)接管并且我的边框被更改.
我想知道是否有任何阻止或阻止WPF TextBox在我聚焦或鼠标悬停时改变我的es风格.这可能吗?
如何为ViewModel可混合(可在表达式混合中设计)创建Datatemplate.当我转到资源并尝试直接编辑DataTemplate时,我在Drawingborad上看到的是一个空白矩形.这是因为DataTemplate没有绑定任何东西.当然我可以创建一个UserControl并在那里的代码中创建一些设计时数据来查看模板,但我现在必须在资源(编辑)和用户控件(查看我的编辑结果)之间来回切换.是不是有更直接的方式来编辑和查看我的DataTemplate?
当我构建我的WPF项目时,它会创建几个语言文件夹,每个文件夹包含"Microsoft.Expression.Interactions.resources.dll".
奇怪的是,我从未创建过我的资源字符串到其他语言的翻译,但它仍然创建了DE,KR,FR,ES文件夹.我只需要EN.
如何将本地化限制为EN?
我正在使用Blend报告"Windows Presentation Foundation(WPF)项目不支持窗口",这令人沮丧.由于无法构建的配置,但无法解决如何破坏我的方式.
我已经解决了这可能是因为我尝试使用x86和x64配置的单一解决方案.没有办法告诉Blend 2哪个是活动的解决方案配置和活动的解决方案平台.
我认为这是配置系统中的一个弱点,或者可能是我设置的方式,但我有Debug64和Debug 解决方案配置,其中一个与平台 x86和x64一起使用.
我也认为这是一个简单的排序问题 - x64出现在x86之前,Debug出现在Debug64之前,所以Blend最终得到了一个不可构建的Debug with x64配置.
当我在VS中选择Debug和x64的组合时,它的XAML编辑器也无法加载.
解决方案是一个中等复杂的解决方案 - 有一个纯Win32 DLL,C++/CLI模型项目和主WPF项目使用的另外两个WPF程序集.
更新我已经从我的解决方案中删除了所有x64配置并重建了所有内容而没有任何效果.
然后我卸载了Blend 2并安装了Blend 3 - 它也不喜欢它.
Visual Studio XAML编辑器仍然非常高兴,程序构建和运行也是如此.
(来自oz的窒息尖叫声)
在WPF中定义DataContext似乎有两种主要方式:
App.xaml.cs(取自WPF MVVM Toolkit模板):
public partial class App : Application
{
private void OnStartup(object sender, StartupEventArgs e)
{
// Create the ViewModel and expose it using the View's DataContext
MainView mainView = new MainView();
MainViewModel mainViewModel = new MainViewModel();
mainViewModel.LoadCustomers("c:\\testdata2\\Customers.xml");
mainView.DataContext = mainViewModel;
mainView.Show();
}
}
Run Code Online (Sandbox Code Playgroud)
Window1.xaml:
<DockPanel>
<StackPanel
HorizontalAlignment="Left"
DockPanel.Dock="Top"
Orientation="Horizontal">
<StackPanel.DataContext>
<local:CustomerViewModel />
</StackPanel.DataContext>
<TextBlock Text="{Binding Path=FirstName}" />
<TextBlock Text=" " />
<TextBlock Text="{Binding Path=LastName}" />
</StackPanel>
<StackPanel
HorizontalAlignment="Left"
VerticalAlignment="top" …Run Code Online (Sandbox Code Playgroud) expression-blend ×10
wpf ×5
xaml ×4
c# ×2
32bit-64bit ×1
64-bit ×1
blend ×1
data-binding ×1
datacontext ×1
datatemplate ×1
localization ×1
mvvm-light ×1
silverlight ×1