在我的WPF应用程序中,我需要执行异步操作,然后我需要更新GUI.这件事我不得不在不同的时刻做不同的操作.我知道两种方法:Dispatcher和BackgroundWorker.
因为当我选择它时我会很难回去,我问你:什么更好?选择一个而不是另一个的原因是什么?
谢谢!Pileggi
在我的WPF应用程序中,我想尽可能多地使用LINQ(尤其要避免foreach).但是WPF与ObservableCollection一起工作很多,我不能将LINQ与这些集合一起使用.我能做什么?
我必须使用另一个开发人员制作的项目.一个带有Visual-Basic代码的Win-Form项目,MS-Access为db和一些OleDbConnections.有一个错误:有时应用程序无法打开OleDbConnection,因为已在db上达到最大连接数.我知道使用连接的最佳方法是:
Using cn As New OleDbConnction(s)
  ...
  cn.Close()
End Using
Run Code Online (Sandbox Code Playgroud)
但是在项目中有许多类可以使用db,在许多这些类中,OleDbConnections具有"Friend"可见性,可以在不同的时间打开和关闭.因此,将所有OleDbConnections放入Using构造中是不可能的,并且很难找到哪些操作"忘记"关闭其中一个OleDbConnection.
一个可能的解决方案可能是只使用一个唯一的公共OleDbConnection,并在打开之前检查它是否尚未打开.但有人告诉我这是一个非常糟糕的做法.我想他告诉我有关表演的事情,但我完全不知道.你能告诉我为什么一个独特的公共OleDbConnection被弃用了吗?对我来说,对于我的问题,你有一个"简单"的解决方案吗?谢谢你,Pileggi
我有一个WPF,TreeView有2个级别的数据,2个HierarchicalDataTemplate格式化每个级别.从HierarchicalDataTemplate第二级开始,我需要在第一级的类中绑定一个属性.我试过这种方式,但它不起作用:
Text="{Binding Path=Ori, RelativeSource={RelativeSource TemplatedParent}}"
Run Code Online (Sandbox Code Playgroud)
与Ori作为名称的propery
即使这样它也不起作用:
Text="{Binding Path=tOri, RelativeSource={RelativeSource TemplatedParent}}"
Run Code Online (Sandbox Code Playgroud)
与tOri作为的名字TextBlock在最前一页HierarchicalDataTemplate结合的Ori属性格式.
你能帮助我吗?
有没有办法在Visual Basic 2010 Express上安装Crystall Report Free?我需要创建并打印一些Win-Form应用程序的报告.如果不可能,还有其他免费解决方案吗?
是否可以在WPF类库程序集(.dll)中拥有资源字典?我问这个是因为我有一个"应用程序WPF"程序集(.exe),如果我试图将程序集的类型转换为"WPF类库"我得到错误:
无法在库的项目文件中指定元素ApplicationDefinition
我怎样才能使它工作?
我对t sql的经验很少,我必须写一个存储的.
这是我存储的:
USE myDatabase
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[myStored]
(
@myPar1 INT,
@myPar2 SMALLDATETIME
)
AS
BEGIN
  SET NOCOUNT ON
  IF EXISTS (
            SELECT 
            1 
            FROM 
            myTable1 
            WHERE 
            myPar1 = @myPar1
            AND myPar2 = @myPar2
            )
    BEGIN
      DELETE FROM  
      myTable1  
      WHERE 
      myPar1 = @myPar1
      AND myPar2 = @myPar2
    END
  ELSE 
    IF EXISTS (
              SELECT 
              1 
              FROM 
              myTable2 
              WHERE 
              myPar2 = @myPar2
              )
      BEGIN
        INSERT INTO  
        myTable1
        (myField1, myField2, myField3, myField4)
        VALUES
        (@myPar1, …Run Code Online (Sandbox Code Playgroud) 写作更好:
IF EXISTS (SELECT ...) OR EXISTS (SELECT ...)
  BEGIN
    INSERT INTO myTable
    VALUES ('myValue1', 'myValue1')
  END
Run Code Online (Sandbox Code Playgroud)
或者写:
INSERT INTO myTable
SELECT 'myValue1', 'myValue1'
WHERE EXISTS (SELECT ...) OR EXISTS (SELECT ...)
Run Code Online (Sandbox Code Playgroud)
?
我的意思是在性能和可读性方面更好.
Pileggi
我的Forms/WPF应用程序必须与外部ASP.Net应用程序进行交互.特别是,它必须"咨询"外部应用程序,它只不过是一个目录.我想使用WebBrowser控件(无论是Win-Forms还是WPF)都要在两个应用程序之间进行更多的"集成".然后我不想使用真正的浏览器.
但是,当ASP.Net应用程序中的Web页面包含.SVG文件时,WebBrowser控件(两者:WPF和Win-Forms)都无法显示图像,并且在其位置上,它会留下一个空框.
最好的方法是使用WebBrowser控件,但我们也会评估另一个第三方控件,也不是免费的.例如,我认为接近AB4D的解决方案 - ReaderSVG:
http://www.wpf-graphics.com/ReaderSvg.aspx
http://social.msdn.microsoft.com/Forums/en/wpf/thread/ef9c3aca-427e-4445-9918-1fdc9f879f51
但遗憾的是:此组件允许您查看文件.SVG并将其导出为其他格式,但当文件包含在网页中时,无法查看它.
你认为我能解决问题吗?谢谢!Pileggi
为了实现我的应用程序,我使用了很多Blend3.当Blend3想要将资源链接到另一个资源时,它会多次使用链接类型"DynamicResource".正如我所理解的那样(但我可能已经理解得不好),只有当我想在运行时修改链接时,"动态"链接才有意义.在其他情况下,他们使用更多的内存是徒劳的.我不想在运行时修改任何东西,那么问题是:有意义在我的所有应用程序中用"StaticResource"替换"DynamicResource"吗?谢谢!Pileggi
wpf performance dynamicresource expression-blend staticresource
在WPF中,最好创建一个属性"complex"(即"Visibility"类型)或一个简单属性(即boolean类型),然后使用转换器绑定属性?第一种方式是写短,但我不知道什么是更好的表现.
wpf ×7
performance ×2
properties ×2
sql-server ×2
t-sql ×2
.net ×1
binding ×1
browser ×1
class ×1
converter ×1
dispatcher ×1
dll ×1
exe ×1
if-statement ×1
linq ×1
ms-access ×1
parent ×1
resources ×1
sql ×1
svg ×1
vb.net ×1
webpage ×1
where ×1
winforms ×1