我最近不得不编辑我的app.config文件来更改Entity Framework数据模型(.edmx文件)的连接字符串.但我想知道:有没有办法使用设计器编辑EF连接字符串?
原始连接字符串由"实体数据模型"向导自动生成.然后无法更改连接字符串 - 它在.edmx设计器的属性窗口中保持禁用状态.如果我可以(在app.config中),我喜欢避免手动编辑XML,所以我想知道是否有办法重新进入原始向导屏幕以更改连接字符串并让工具编辑app.config文件为了我.
entity-framework connection-string app-config entity-framework-4
WPF CheckBox的外观使检查部分与标签(内容)部分不对齐.支票略高于内容,如下所示:

XAML看起来像这样:
<CheckBox Content="Poorly aligned CheckBox" Margin="9"/>
Run Code Online (Sandbox Code Playgroud)
CheckBox位于Grid单元格内.是否有一种简单的方法来制作内容并检查XAML CheckBox的部分垂直对齐?我尝试了各种属性组合而没有运气.我在这里看到了类似的问题,但答案太复杂了.
提前致谢.
编辑:问题是由我设置为14的Window FontSize引起的.要重新创建问题,请将CheckBox FontSize设置为14(或更多).我的程序是由工厂工人远程查看的,因此我允许用户增加或减少Window FontSize.
我的WPF ComboBox仅包含文本条目.用户将选择一个.获取所选ComboBoxItem文本的最简单方法是什么?请在C#和Visual Basic中回答.这是我的ComboBox:
<ComboBox Name="cboPickOne">
<ComboBoxItem>This</ComboBoxItem>
<ComboBoxItem>should be</ComboBoxItem>
<ComboBoxItem>easier!</ComboBoxItem>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我知道答案,但要找到它并不容易.我以为我会发布问题来帮助别人.修订:我学到了更好的答案.通过添加SelectedValuePath ="Content"作为ComboBox属性,我不再需要丑陋的强制转换代码.请参阅下面的安迪回答.
我的公司正在使用DevExpress WPF控件启动一个主要的绿地开发项目.我刚刚阅读了他们对WPF控件的评论:
[...] DevExpress开发人员在开发WPF控件时完全误解了WPF.我真的不能给你足够的印象,只是他们使用他们的控件有多么不满.我觉得谈论一个有这种消极性的供应商是非常可怕的(几乎内疚),但是他们在他们的WPF套件中犯了一个严重的错误,它是我在大约十年开发软件时最令人沮丧的单一来源.
您是否同意DevExpress不了解WPF范例并且会在开发和维护期间引起开发人员的悲痛?你能建议一个WPF控件的替代供应商吗?我正在寻找一个具有WPF控件的供应商,它将增强我们的应用程序,同时适合WPF API,绑定和MVVM.
关键博客帖子的链接(上方)已被破坏.原作者说:
我写了原始文章,并决定在与他们交谈后以私人身份与DevExpress合作,所以我很遗憾地决定删除帖子.此致,艾拉
每次循环迭代,我都想直观地更新文本块的文本.我的问题是WPF窗口或控件在循环完成之前不会直观刷新.
for (int i = 0; i < 50; i++)
{
System.Threading.Thread.Sleep(100);
myTextBlock.Text = i.ToString();
}
Run Code Online (Sandbox Code Playgroud)
在VB6中,我会打电话DoEvents()或control.Refresh.目前我只是喜欢类似的快速和肮脏的解决方案DoEvents(),但我也想了解替代方案或"正确"的方法来做到这一点.我可以添加一个简单的绑定语句吗?语法是什么?提前致谢.
我正在尝试决定购买哪些显示器.无论如何我会买3台显示器,但我不确定我应该是23-24还是27英寸.
问题是 - 如果我可以在2台甚至3台显示器上使用VS 2012?它有多舒适?我可以使用"中央"监视器进行"编码",将左侧和/或右侧监视器用于其他所有内容吗?这样的设置有多舒适,如果可能的话?
理想情况下,我希望看到这样设置的"照片"或视频.
到目前为止,我正在使用一台27英寸的显示器,我对它非常满意.我正在考虑切换到3*24或3*27,因为没有其他程序的空间.但是只有一台24英寸的显示器对我来说太小了所以我想"花"至少2台24英寸显示器用于VS.
我继承的应用程序跟踪对材料样本执行的实验室测试结果.数据存储在单个表(tblSampleData)中,主键为SampleID,235列表示潜在的测试结果.问题是每个样本只执行少量测试,因此每行包含200多个空值.实际上,还有第二个类似的表(tblSampleData2),其中包含另外215个主要为空的列和一个SampleID的主键.这两个表具有一对一的关系,大多数SampleID在两个表中都有一些数据.但是,对于每个SampleID,都有400个空列!
这个糟糕的数据库设计?如果是这样,哪个正常形式规则被打破?如何查询此表以确定哪些列通常与数据一起填充?我的目标是拥有45个表,10列,空值更少.我怎样才能做到这一点?如何避免破坏现有应用程序?
到目前为止,这些表有大约200,000个样本记录.用户要求我为更多测试添加更多列,但我宁愿构建一个新表.这是明智的吗?
当使用代码首先从数据库方法从现有数据库创建新的实体数据模型时,可以直接指定要包含在模型中的表.可以在Visual Studio向导中选择子集(或所有)表:

在这个例子中,Category和Product类都将与所创建的沿DbContext派生上下文类.如果我以后想要在同一个模型中添加其他表,是否有一种简单的方法来添加它们,即无需自己手动创建类?
例如,最初,我的DbContext课程将包含:
public virtual DbSet<Category> Categories { get; set; }
public virtual DbSet<Product> Products { get; set; }
Run Code Online (Sandbox Code Playgroud)
现在假设我还想要包含Employee表,以便将DbContext类更新为:
public virtual DbSet<Category> Categories { get; set; }
public virtual DbSet<Product> Products { get; set; }
public virtual DbSet<Employee> Employees { get; set; }
Run Code Online (Sandbox Code Playgroud)
VS上下文菜单似乎没有提供此选项,但也许我错过了一些东西.有没有办法恢复向导,以便我可以选择其他表?
一个解决方案是有一个单独的空项目,您只需创建一个新模型,然后复制/粘贴新类,但我很好奇是否有更快的方法.
JWS Smith在MVVM上发表的MSDN杂志文章包含一个我不完全理解的lambda表达式.这段代码中param的目的是什么?
_saveCommand = new RelayCommand(param => this.Save(),
param => this.CanSave );
Run Code Online (Sandbox Code Playgroud)
翻译成我的首选语言VB它是:
Dim saveAction as New Action(Of Object)(AddressOf Me.Save)
_saveCommand = New RelayCommand(saveAction, Function(param) Me.CanSave)
Run Code Online (Sandbox Code Playgroud)
如果在CanSave或Save中使用它,我本来期望只看到param.我对lambda表达式有些新意.在我看来,看到一个既没有声明也没用过的变量对我来说很奇怪.任何解释将不胜感激.
要把它放在上下文中,RelayCommand(C#)的构造函数是:
public RelayCommand(Action<object> execute, Predicate<object> canExecute)
Run Code Online (Sandbox Code Playgroud)
在VB中:
Public Sub New(ByVal execute As Action(Of Object), _
ByVal canExecute As Predicate(Of Object))
Run Code Online (Sandbox Code Playgroud) 当我阅读用户的投诉时,我不相信... 在绑定的WPF文本框中键入.123显示.321!它现在已修复,但我想知道这是否可归类为WPF错误?
当文本框绑定到Entity Framework双字段并且UpdateSourceTrigger绑定模式设置为PropertyChanged时,会发生此问题.对于小数点后输入的每个数字,光标移回到小数点后面,导致向后的数字.当我将UpdateSourceTrigger恢复为默认的LostFocus时,问题(可以理解)就消失了.
那么,这是一个错误吗?是否有一个解决方法,允许UpdateSourceTrigger绑定到双字段时为PropertyChanged?
wpf ×5
binding ×2
wpf-controls ×2
.net ×1
alignment ×1
app-config ×1
checkbox ×1
combobox ×1
data-binding ×1
devexpress ×1
lambda ×1
mvvm ×1
null ×1
refactoring ×1
relaycommand ×1
selecteditem ×1
selectedtext ×1
silverlight ×1
xaml ×1